Veracode CWE ID 404 Неправильная остановка или отпускание ресурса - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть этот код:

    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); Как это исправить? Заранее спасибо

1 Ответ

0 голосов
/ 21 апреля 2020

Используя try, наконец, исправьте ошибку, и внутри, наконец, закройте 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) {
}
...