From 30593829bb20b80eb0522b6327e5d5aef9cb4613 Mon Sep 17 00:00:00 2001 From: tonnerre Date: Wed, 24 Sep 2008 22:25:14 +0000 Subject: Fix for faad2 decodeMP4file() heap overflow. If the sample count looks insane, it may as well be insane. Also bump PKGREVISION. --- audio/faad2/Makefile | 3 ++- audio/faad2/distinfo | 4 ++-- audio/faad2/patches/patch-at | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 6 deletions(-) (limited to 'audio/faad2') diff --git a/audio/faad2/Makefile b/audio/faad2/Makefile index 39654517b6f..385800c9701 100644 --- a/audio/faad2/Makefile +++ b/audio/faad2/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.40 2007/12/09 10:55:30 drochner Exp $ +# $NetBSD: Makefile,v 1.41 2008/09/24 22:25:14 tonnerre Exp $ DISTNAME= faad2-2.6.1 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=faac/} +PKGREVISION= 1 MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://www.audiocoding.com/ diff --git a/audio/faad2/distinfo b/audio/faad2/distinfo index d83073e3318..a021ca477b3 100644 --- a/audio/faad2/distinfo +++ b/audio/faad2/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.16 2007/12/29 19:56:04 joerg Exp $ +$NetBSD: distinfo,v 1.17 2008/09/24 22:25:14 tonnerre Exp $ SHA1 (faad2-2.6.1.tar.gz) = b4ad33d3c4dfa6dbf3011a3da34c631926cabfad RMD160 (faad2-2.6.1.tar.gz) = ad559933dad6a65576a9947819190f04cb3b1c16 @@ -12,4 +12,4 @@ SHA1 (patch-aj) = 06a8641803fdae5055f66255c57634b8f8619a77 SHA1 (patch-ak) = d8f47b6f738d885c5e512f9f5508290a0b146bbe SHA1 (patch-ar) = 0aa479669b1e2417f9a68adb0ac79ae9c6d5dfe8 SHA1 (patch-as) = 1626b7a4e696862c365740c6b29f786662c9d845 -SHA1 (patch-at) = 4e28b2150f7383674450e25db472ccb566e61cc0 +SHA1 (patch-at) = 52839407569f452bfecccd7f531fbcac0fb519ad diff --git a/audio/faad2/patches/patch-at b/audio/faad2/patches/patch-at index ee0daa51012..1822fd370f0 100644 --- a/audio/faad2/patches/patch-at +++ b/audio/faad2/patches/patch-at @@ -1,8 +1,17 @@ -$NetBSD: patch-at,v 1.1 2007/12/09 10:55:37 drochner Exp $ +$NetBSD: patch-at,v 1.2 2008/09/24 22:25:14 tonnerre Exp $ ---- frontend/main.c.orig 2007-12-08 17:49:45.000000000 +0100 +--- frontend/main.c.orig 2007-11-01 13:33:29.000000000 +0100 +++ frontend/main.c -@@ -1189,11 +1189,13 @@ int main(int argc, char *argv[]) +@@ -914,6 +914,8 @@ int decodeMP4file(char *mp4file, char *s + sample_count = frameInfo.samples; + } else { + sample_count = (unsigned int)(dur * frameInfo.channels); ++ if (sample_count > frameInfo.samples) ++ sample_count = frameInfo.samples; + + if (!useAacLength && !initial && (sampleId < numSamples/2) && (sample_count != frameInfo.samples)) + { +@@ -1189,11 +1191,13 @@ int main(int argc, char *argv[]) return 1; } -- cgit v1.2.3