diff --git a/srcpkgs/detox/patches/detox-1.2.0.fix-invalid-memory-access.patch b/srcpkgs/detox/patches/detox-1.2.0.fix-invalid-memory-access.patch new file mode 100644 index 00000000000..891b5d511b6 --- /dev/null +++ b/srcpkgs/detox/patches/detox-1.2.0.fix-invalid-memory-access.patch @@ -0,0 +1,23 @@ +--- parse_options_getopt.c.dt ++++ parse_options_getopt.c +@@ -178,15 +178,17 @@ struct detox_options *parse_options_geto + main_options->files = malloc(sizeof(char *) * 10); + + i = 0; +- max = 0; ++ max = 10; + + if (optind < argc) { + while (optind < argc) { +- main_options->files[i++] = strdup(argv[optind]); +- if (i > max) { ++ /* not enough space for the next file and ++ possible ending NULL -> realloc */ ++ if (i + 2 > max) { + main_options->files = realloc(main_options->files, sizeof(char *) * (10 + max)); + max += 10; + } ++ main_options->files[i++] = strdup(argv[optind]); + + optind++; + } diff --git a/srcpkgs/detox/template b/srcpkgs/detox/template new file mode 100644 index 00000000000..709b75856ac --- /dev/null +++ b/srcpkgs/detox/template @@ -0,0 +1,15 @@ +# Template file for 'detox' + +pkgname="detox" +version="1.2.0" +revision=1 +build_style=gnu-configure +configure_args="--sysconfdir=/etc/detox" +hostmakedepends="flex" +makedepends="libfl-devel" +short_desc="Utility designed to clean up filenames" +maintainer="Martin Födinger " +license="BSD" +homepage="http://detox.sourceforge.net/" +distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2" +checksum="abfad90ee7d3e0fc53ce3b9da3253f9a800cdd92e3f8cc12a19394a7b1dcdbf8"