diff --git a/srcpkgs/clamav/patches/fix-fd_leaks.patch b/srcpkgs/clamav/patches/fix-fd_leaks.patch deleted file mode 100644 index 09327561112..00000000000 --- a/srcpkgs/clamav/patches/fix-fd_leaks.patch +++ /dev/null @@ -1,128 +0,0 @@ ---- libclamav/scanners.c.orig 2018-01-26 14:35:23.299386703 +0100 -+++ libclamav/scanners.c 2018-01-26 14:47:44.422451335 +0100 -@@ -1342,39 +1342,35 @@ - return CL_CLEAN; - } - -- /* dump to disk only if explicitly asked to -- * or if necessary to check relative offsets, -- * otherwise we can process just in-memory */ -- if(ctx->engine->keeptmp || (troot && troot->ac_reloff_num > 0)) { -- if((ret = cli_gentempfd(ctx->engine->tmpdir, &tmpname, &ofd))) { -- cli_dbgmsg("cli_scanscript: Can't generate temporary file/descriptor\n"); -- return ret; -- } -- if (ctx->engine->keeptmp) -- cli_dbgmsg("cli_scanscript: saving normalized file to %s\n", tmpname); -- } -- - if(!(normalized = cli_malloc(SCANBUFF + maxpatlen))) { - cli_dbgmsg("cli_scanscript: Unable to malloc %u bytes\n", SCANBUFF); -- free(tmpname); - return CL_EMEM; - } -- - text_normalize_init(&state, normalized, SCANBUFF + maxpatlen); -- ret = CL_CLEAN; -- - - 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; - } - -+ /* dump to disk only if explicitly asked to -+ * or if necessary to check relative offsets, -+ * otherwise we can process just in-memory */ -+ if(ctx->engine->keeptmp || (troot && troot->ac_reloff_num > 0)) { -+ if((ret = cli_gentempfd(ctx->engine->tmpdir, &tmpname, &ofd))) { -+ cli_dbgmsg("cli_scanscript: Can't generate temporary file/descriptor\n"); -+ goto done; -+ } -+ if (ctx->engine->keeptmp) -+ cli_dbgmsg("cli_scanscript: saving normalized file to %s\n", tmpname); -+ } -+ - mdata[0] = &tmdata; - mdata[1] = &gmdata; - -@@ -1388,9 +1384,8 @@ - - if (write(ofd, state.out, state.out_pos) == -1) { - cli_errmsg("cli_scanscript: can't write to file %s\n",tmpname); -- close(ofd); -- free(tmpname); -- return CL_EWRITE; -+ ret = CL_EWRITE; -+ goto done; - } - text_normalize_reset(&state); - } -@@ -1409,11 +1404,6 @@ - funmap(*ctx->fmap); - } - *ctx->fmap = map; -- -- /* If we aren't keeping temps, delete the normalized file after scan. */ -- if(!(ctx->engine->keeptmp)) -- if (cli_unlink(tmpname)) ret = CL_EUNLINK; -- - } else { - /* Since the above is moderately costly all in all, - * do the old stuff if there's no relative offsets. */ -@@ -1421,11 +1411,8 @@ - if (troot) { - cli_targetinfo(&info, 7, map); - ret = cli_ac_caloff(troot, &tmdata, &info); -- if (ret) { -- cli_ac_freedata(&tmdata); -- free(tmpname); -- return ret; -- } -+ if (ret) -+ goto done; - } - - while(1) { -@@ -1466,13 +1453,6 @@ - - } - -- if(ctx->engine->keeptmp) { -- free(tmpname); -- if (ofd >= 0) -- close(ofd); -- } -- free(normalized); -- - if(ret != CL_VIRUS || SCAN_ALL) { - if ((ret = cli_exp_eval(ctx, troot, &tmdata, NULL, NULL)) == CL_VIRUS) - viruses_found++; -@@ -1481,9 +1461,19 @@ - viruses_found++; - } - -+done: -+ free(normalized); - cli_ac_freedata(&tmdata); - cli_ac_freedata(&gmdata); - -+ if (ofd != -1) -+ close(ofd); -+ if (tmpname != NULL) { -+ if (!ctx->engine->keeptmp) -+ if (cli_unlink(tmpname)) ret = CL_EUNLINK; -+ free(tmpname); -+ } -+ - if (SCAN_ALL && viruses_found) - return CL_VIRUS; - diff --git a/srcpkgs/clamav/template b/srcpkgs/clamav/template index fb94cadc7d1..a7b3a088ec8 100644 --- a/srcpkgs/clamav/template +++ b/srcpkgs/clamav/template @@ -1,7 +1,7 @@ # Template file for 'clamav' pkgname=clamav -version=0.99.3 -revision=3 +version=0.99.4 +revision=1 build_style=gnu-configure # XXX: system llvm is too new (< 3.7 required) # Shipped llvm does not build with gcc6 @@ -19,7 +19,7 @@ maintainer="Jürgen Buchmüller " license="GPL-2" homepage="http://www.clamav.net/" distfiles="http://www.clamav.net/downloads/production/${pkgname}-${version}.tar.gz" -checksum=00fa5292a6e00a3a4035b826267748965d5d2c4943d8ff417d740238263e8e84 +checksum=d72ac3273bde8d2e5e28ec9978373ee3ab4529fd868bc3fc4d2d2671228f2461 CPPFLAGS="-Wno-unused-local-typedefs" if [ "$CROSS_BUILD" ]; then