summaryrefslogtreecommitdiff
path: root/audio/libsndfile
diff options
context:
space:
mode:
authordrochner <drochner>2011-07-14 09:49:01 +0000
committerdrochner <drochner>2011-07-14 09:49:01 +0000
commit2e242e53a75b7c5f740b861c961cd66e6e86f021 (patch)
treea18d76d0e26b67dd7bdd63403d87b104a57cb372 /audio/libsndfile
parente9fa3c2b0826d43d024ae5a58f61d1cc1ea146c4 (diff)
downloadpkgsrc-2e242e53a75b7c5f740b861c961cd66e6e86f021.tar.gz
add patch from upstream to fix crash by invalid PAF files
(DOS problem, SA45125) bump PKGREV
Diffstat (limited to 'audio/libsndfile')
-rw-r--r--audio/libsndfile/Makefile3
-rw-r--r--audio/libsndfile/distinfo5
-rw-r--r--audio/libsndfile/patches/patch-aa14
-rw-r--r--audio/libsndfile/patches/patch-ab27
-rw-r--r--audio/libsndfile/patches/patch-ac14
5 files changed, 61 insertions, 2 deletions
diff --git a/audio/libsndfile/Makefile b/audio/libsndfile/Makefile
index 06ae572259f..8ae51a4e952 100644
--- a/audio/libsndfile/Makefile
+++ b/audio/libsndfile/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.60 2011/03/23 21:14:31 adam Exp $
+# $NetBSD: Makefile,v 1.61 2011/07/14 09:49:01 drochner Exp $
DISTNAME= libsndfile-1.0.24
+PKGREVISION= 1
CATEGORIES= audio
MASTER_SITES= http://www.mega-nerd.com/libsndfile/files/
diff --git a/audio/libsndfile/distinfo b/audio/libsndfile/distinfo
index f7fbf28ed85..af34ebfcd58 100644
--- a/audio/libsndfile/distinfo
+++ b/audio/libsndfile/distinfo
@@ -1,5 +1,8 @@
-$NetBSD: distinfo,v 1.32 2011/03/23 21:14:31 adam Exp $
+$NetBSD: distinfo,v 1.33 2011/07/14 09:49:01 drochner Exp $
SHA1 (libsndfile-1.0.24.tar.gz) = ade2dad272b52f61bb58aca3a4004b28549ee0f8
RMD160 (libsndfile-1.0.24.tar.gz) = 5ace8823b3b44576e8cf5ec8fa8d46935d8fb350
Size (libsndfile-1.0.24.tar.gz) = 963034 bytes
+SHA1 (patch-aa) = 832fb2e44d692922403fccbfe23315a925e4f931
+SHA1 (patch-ab) = 5b2139035c41b49c714fabdff40dd0d5db5a306e
+SHA1 (patch-ac) = 5e7383f4332f24f609ae208aa75044f9863c5205
diff --git a/audio/libsndfile/patches/patch-aa b/audio/libsndfile/patches/patch-aa
new file mode 100644
index 00000000000..682aacf239f
--- /dev/null
+++ b/audio/libsndfile/patches/patch-aa
@@ -0,0 +1,14 @@
+$NetBSD: patch-aa,v 1.17 2011/07/14 09:49:01 drochner Exp $
+
+SA45125
+
+--- src/common.h.orig 2011-03-23 09:01:02.000000000 +0000
++++ src/common.h
+@@ -557,6 +557,7 @@ enum
+ SFE_PAF_VERSION,
+ SFE_PAF_UNKNOWN_FORMAT,
+ SFE_PAF_SHORT_HEADER,
++ SFE_PAF_BAD_CHANNELS,
+
+ SFE_SVX_NO_FORM,
+ SFE_SVX_NO_BODY,
diff --git a/audio/libsndfile/patches/patch-ab b/audio/libsndfile/patches/patch-ab
new file mode 100644
index 00000000000..d66770c5936
--- /dev/null
+++ b/audio/libsndfile/patches/patch-ab
@@ -0,0 +1,27 @@
+$NetBSD: patch-ab,v 1.11 2011/07/14 09:49:01 drochner Exp $
+
+SA45125
+
+--- src/paf.c.orig 2011-03-23 09:01:02.000000000 +0000
++++ src/paf.c
+@@ -163,6 +163,9 @@ paf_read_header (SF_PRIVATE *psf)
+ { PAF_FMT paf_fmt ;
+ int marker ;
+
++ if (psf->filelength < PAF_HEADER_LENGTH)
++ return SFE_PAF_SHORT_HEADER ;
++
+ memset (&paf_fmt, 0, sizeof (paf_fmt)) ;
+ psf_binheader_readf (psf, "pm", 0, &marker) ;
+
+@@ -199,8 +202,8 @@ paf_read_header (SF_PRIVATE *psf)
+ psf->endian = SF_ENDIAN_BIG ;
+ } ;
+
+- if (psf->filelength < PAF_HEADER_LENGTH)
+- return SFE_PAF_SHORT_HEADER ;
++ if (paf_fmt.channels > SF_MAX_CHANNELS)
++ return SFE_PAF_BAD_CHANNELS ;
+
+ psf->datalength = psf->filelength - psf->dataoffset ;
+
diff --git a/audio/libsndfile/patches/patch-ac b/audio/libsndfile/patches/patch-ac
new file mode 100644
index 00000000000..30bde51691d
--- /dev/null
+++ b/audio/libsndfile/patches/patch-ac
@@ -0,0 +1,14 @@
+$NetBSD: patch-ac,v 1.13 2011/07/14 09:49:01 drochner Exp $
+
+SA45125
+
+--- src/sndfile.c.orig 2011-03-23 09:01:02.000000000 +0000
++++ src/sndfile.c
+@@ -173,6 +173,7 @@ ErrorStruct SndfileErrors [] =
+ { SFE_PAF_VERSION , "Error in PAF file, bad version." },
+ { SFE_PAF_UNKNOWN_FORMAT , "Error in PAF file, unknown format." },
+ { SFE_PAF_SHORT_HEADER , "Error in PAF file. File shorter than minimal header." },
++ { SFE_PAF_BAD_CHANNELS , "Error in PAF file. Bad channel count." },
+
+ { SFE_SVX_NO_FORM , "Error in 8SVX / 16SV file, no 'FORM' marker." },
+ { SFE_SVX_NO_BODY , "Error in 8SVX / 16SV file, no 'BODY' marker." },