50 lines
1.1 KiB
Diff
50 lines
1.1 KiB
Diff
--- a/libclamav/scanners.c 2018-01-26 16:59:00.820231425 +0100
|
|
+++ b/libclamav/scanners.c 2018-01-26 17:39:07.523633805 +0100
|
|
@@ -1366,12 +1366,14 @@
|
|
|
|
if ((ret = cli_ac_initdata(&tmdata, troot?troot->ac_partsigs:0, troot?troot->ac_lsigs:0, troot?troot->ac_reloff_num:0, CLI_DEFAULT_AC_TRACKLEN))) {
|
|
free(tmpname);
|
|
+ free(normalized);
|
|
return ret;
|
|
}
|
|
|
|
if ((ret = cli_ac_initdata(&gmdata, groot->ac_partsigs, groot->ac_lsigs, groot->ac_reloff_num, CLI_DEFAULT_AC_TRACKLEN))) {
|
|
cli_ac_freedata(&tmdata);
|
|
free(tmpname);
|
|
+ free(normalized);
|
|
return ret;
|
|
}
|
|
|
|
@@ -1390,6 +1392,7 @@
|
|
cli_errmsg("cli_scanscript: can't write to file %s\n",tmpname);
|
|
close(ofd);
|
|
free(tmpname);
|
|
+ free(normalized);
|
|
return CL_EWRITE;
|
|
}
|
|
text_normalize_reset(&state);
|
|
@@ -1424,6 +1427,8 @@
|
|
if (ret) {
|
|
cli_ac_freedata(&tmdata);
|
|
free(tmpname);
|
|
+ free(normalized);
|
|
+ close(ofd);
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -1466,11 +1471,9 @@
|
|
|
|
}
|
|
|
|
- if(ctx->engine->keeptmp) {
|
|
- free(tmpname);
|
|
- if (ofd >= 0)
|
|
- close(ofd);
|
|
- }
|
|
+ if (ofd >= 0)
|
|
+ close(ofd);
|
|
+ free(tmpname);
|
|
free(normalized);
|
|
|
|
if(ret != CL_VIRUS || SCAN_ALL) {
|