diff options
Diffstat (limited to 'app-forensics/zzuf')
-rw-r--r-- | app-forensics/zzuf/Manifest | 1 | ||||
-rw-r--r-- | app-forensics/zzuf/files/zzuf-0.15_autoconf-hardcoded-cflags.patch | 11 | ||||
-rw-r--r-- | app-forensics/zzuf/files/zzuf-0.15_implicit_functions.patch | 32 | ||||
-rw-r--r-- | app-forensics/zzuf/files/zzuf-0.15_use-after-free.patch | 20 | ||||
-rw-r--r-- | app-forensics/zzuf/zzuf-0.15_p20220529.ebuild | 45 |
5 files changed, 109 insertions, 0 deletions
diff --git a/app-forensics/zzuf/Manifest b/app-forensics/zzuf/Manifest index 54710407b8a1..134d8d844623 100644 --- a/app-forensics/zzuf/Manifest +++ b/app-forensics/zzuf/Manifest @@ -1 +1,2 @@ DIST zzuf-0.15_p20190208.tar.gz 140812 BLAKE2B 908661fdb51a5b2d5b188ac7df2731c5f069db8489651145f6d4a5cb0f02dc99fa10c3771a034645043f547ef92dfe9e3cfa3f1442dbad690d88ef620f2cfdd8 SHA512 e4d6b4356385642323520c1f1d476b572465881df539d0c6e7110ca7974da81b4b744896df7deac8b462707ca9e0db578ca0c118d6ba2da4bc78ffe31328f711 +DIST zzuf-0.15_p20220529.tar.gz 140825 BLAKE2B a36207082210e062575bed45eac4a83923cbe5f0e60c0b093053ac96abef085a0e6506d5b7db6b11ed7f0979462fbb92f69767ac548de1a1f96a12d84aac8584 SHA512 50e3c8908f579a70d41d7887ff7d87634f3b856ae82bb7ec6dccacccf363a6494d825e0b6debf683ed29408dcd5dc83dbb39c2d2000be0d79aee5f819d69185a diff --git a/app-forensics/zzuf/files/zzuf-0.15_autoconf-hardcoded-cflags.patch b/app-forensics/zzuf/files/zzuf-0.15_autoconf-hardcoded-cflags.patch new file mode 100644 index 000000000000..f8cbfa5c7642 --- /dev/null +++ b/app-forensics/zzuf/files/zzuf-0.15_autoconf-hardcoded-cflags.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -39,8 +39,6 @@ + AC_MSG_RESULT($SONAME) + AC_DEFINE_UNQUOTED(SONAME, "$SONAME", [Define to the libzzuf full name]) + +-# Optimizations +-AC_TRY_CFLAGS(-g -O2, CFLAGS="${CFLAGS} -g -O2") + # Code qui fait des warnings == code de porc == deux baffes dans ta gueule + AC_TRY_CFLAGS(-Wall, CFLAGS="${CFLAGS} -Wall") + AC_TRY_CFLAGS(-W, CFLAGS="${CFLAGS} -W") diff --git a/app-forensics/zzuf/files/zzuf-0.15_implicit_functions.patch b/app-forensics/zzuf/files/zzuf-0.15_implicit_functions.patch new file mode 100644 index 000000000000..aa73a6f03d2b --- /dev/null +++ b/app-forensics/zzuf/files/zzuf-0.15_implicit_functions.patch @@ -0,0 +1,32 @@ +--- a/src/libc_fcns.h ++++ b/src/libc_fcns.h +@@ -0,0 +1,8 @@ ++#ifndef _ZZUF_LIBC_FCNS_H ++#define _ZZUF_LIBC_FCNS_H ++ ++/* Prototypes for internal libc functions zzuf hooks into */ ++extern int __fseeko64(FILE *fp, off64_t offset, int whence); ++extern int _IO_getc(FILE *__fp); ++ ++#endif +--- a/src/libzzuf/lib-stream.c ++++ b/src/libzzuf/lib-stream.c +@@ -57,6 +57,7 @@ + #include "debug.h" + #include "fuzz.h" + #include "fd.h" ++#include "libc_fcns.h" + + #if defined HAVE_FPOS64_T + # define FPOS64_T fpos64_t +--- a/src/zzat.c ++++ b/src/zzat.c +@@ -51,6 +51,8 @@ + + #include "util/getopt.h" + ++#include "libc_fcns.h" ++ + static int run(char const *sequence, char const *file); + static void output(char const *buf, size_t len); + diff --git a/app-forensics/zzuf/files/zzuf-0.15_use-after-free.patch b/app-forensics/zzuf/files/zzuf-0.15_use-after-free.patch new file mode 100644 index 000000000000..3de95d91608c --- /dev/null +++ b/app-forensics/zzuf/files/zzuf-0.15_use-after-free.patch @@ -0,0 +1,20 @@ +--- a/test/zzone.c ++++ b/test/zzone.c +@@ -64,14 +64,14 @@ + last++; + } + +- free(buf); +- free(tmp); +- + size_t total = 0; + for (size_t i = last; i < size; i++) + total += countzeroes(buf[i]); + printf("%li\n", (long)total); + ++ free(buf); ++ free(tmp); ++ + return EXIT_SUCCESS; + } + diff --git a/app-forensics/zzuf/zzuf-0.15_p20220529.ebuild b/app-forensics/zzuf/zzuf-0.15_p20220529.ebuild new file mode 100644 index 000000000000..8b4f9015fa3c --- /dev/null +++ b/app-forensics/zzuf/zzuf-0.15_p20220529.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multilib-minimal + +EGIT_COMMIT="a7111e51eac3086264fcca0c7026de22b5ab55c7" +DESCRIPTION="Transparent application input fuzzer" +HOMEPAGE="http://caca.zoy.org/wiki/zzuf" +SRC_URI="https://github.com/samhocevar/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="WTFPL-2" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" + +# Uses dlopen hack to hijack many libc functions. +# Fails 2 tests with sandbox enabled: check-zzuf-A-autoinc check-utils +RESTRICT="test" + +DOCS=( AUTHORS COPYING TODO ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.15_autoconf-hardcoded-cflags.patch + "${FILESDIR}"/${PN}-0.15_autoconf-musl.patch + "${FILESDIR}"/${PN}-0.15_implicit_functions.patch + "${FILESDIR}"/${PN}-0.15_use-after-free.patch +) + +S="${WORKDIR}"/${PN}-${EGIT_COMMIT} + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf +} + +multilib_src_install_all() { + default + + find "${ED}" -name '*.la' -delete || die +} |