diff options
Diffstat (limited to 'audio/libsndfile/patches/patch-ab')
-rw-r--r-- | audio/libsndfile/patches/patch-ab | 27 |
1 files changed, 27 insertions, 0 deletions
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 ; + |