diff options
Diffstat (limited to 'media-sound/vorbis-tools/files')
-rw-r--r-- | media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch b/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch deleted file mode 100644 index f8b66a90e7cd..000000000000 --- a/media-sound/vorbis-tools/files/vorbis-tools-1.4.0-aiff-buffer-overflow.patch +++ /dev/null @@ -1,31 +0,0 @@ -Patch taken from: -https://trac.xiph.org/attachment/ticket/2212/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch -To fix bug report: -http://www.openwall.com/lists/oss-security/2015/08/29/1 - https://bugs.gentoo.org/show_bug.cgi?id=559170 ---- oggenc/audio.c -+++ oggenc/audio.c -@@ -245,8 +245,8 @@ - int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen) - { - int aifc; /* AIFC or AIFF? */ -- unsigned int len; -- unsigned char *buffer; -+ unsigned int len,readlen; -+ unsigned char buffer[22]; - unsigned char buf2[8]; - aiff_fmt format; - aifffile *aiff = malloc(sizeof(aifffile)); -@@ -269,9 +269,9 @@ - return 0; /* Weird common chunk */ - } - -- buffer = alloca(len); -- -- if(fread(buffer,1,len,in) < len) -+ readlen = len < sizeof(buffer) ? len : sizeof(buffer); -+ if(fread(buffer,1,readlen,in) < readlen || -+ (len > readlen && !seek_forward(in, len-readlen))) - { - fprintf(stderr, _("Warning: Unexpected EOF in reading AIFF header\n")); - return 0; |