warning: leak of FILE ‘fp’
[CWE-775]
警告: fclose忘れ
[-Wanalyzer-file-leak]
■デバッグ関数のバグ
#include <stdio.h>
#include <string.h>
void DEBUG_log(char *str){
FILE *fp = fopen("DEBUG.log","a");
fprintf(fp,"%s",str);
//fclose(fp); 忘れた!
}
int main(void){
for(int i = 0; i<100;i++){
char log[256];
sprintf(log,"%s:%d id=%d\n",
__func__,__LINE__,i);
DEBUG_log(log);
}
}
何度もfopen()を実行して
fclose()していないので
リソース不足でシステム異常を起こす
可能性があります。
