Veracode CWE ID 404不正确的资源关闭或释放

时间:2020-04-20 11:00:13

标签: java android veracode secure-coding

我有此代码:

    try {
        BufferedWriter bw = null;
        FileWriter fw = null;
        try {
            final String fileName = getFileName();
            File propertiesFile=new File(getFilesDir(), fileName);
            fw = new FileWriter(propertiesFile);
            bw = new BufferedWriter(fw);
            bw.write(s);
            File file = new File(getFilesDir(), fileName);

        } catch (IOException e) {

        }finally{
            if(bw != null){
                bw.close();
            }
            if(fw != null){
                fw.close();
            }
            if(bw != null){
                bw.close();
            }
        }
    } catch (Exception e) {
    }

Veracode在此行 bw.write(s); 上检测到漏洞(不正确的资源关闭或释放)。 如何解决这个问题? 预先感谢

2 个答案:

答案 0 :(得分:0)

尝试最终修复该漏洞,并在内部最终关闭BufferedWriter和FileWriter

   try {
    BufferedWriter bw = null;
    FileWriter fw = null;
    try {
        final String fileName = getFileName();
        File propertiesFile=new File(getFilesDir(), fileName);
        fw = new FileWriter(propertiesFile);
        bw = new BufferedWriter(fw);
        bw.write(s);
        File file = new File(getFilesDir(), fileName);

    }finally{
        if(bw != null){
            bw.close();
        }
        if(fw != null){
            fw.close();
        }
    }
} catch (Exception e) {
}

答案 1 :(得分:0)

使用可以从 java 7 开始使用 try-with-resources

try (FileWriter fw = new FileWriter(propertiesFile);
    BufferedWriter bw = new BufferedWriter(fw)){
    ......

}catch (Exception e){}
相关问题