diff options
Diffstat (limited to 'audio/libsndfile/files/patch-Check-MAX_CHANNELS-in-sndfile-deinterleave')
-rw-r--r-- | audio/libsndfile/files/patch-Check-MAX_CHANNELS-in-sndfile-deinterleave | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/audio/libsndfile/files/patch-Check-MAX_CHANNELS-in-sndfile-deinterleave b/audio/libsndfile/files/patch-Check-MAX_CHANNELS-in-sndfile-deinterleave new file mode 100644 index 000000000000..8636f4a92e2f --- /dev/null +++ b/audio/libsndfile/files/patch-Check-MAX_CHANNELS-in-sndfile-deinterleave @@ -0,0 +1,30 @@ +From: "Brett T. Warden" <brett.t.warden@intel.com> +Date: Tue, 28 Aug 2018 12:01:17 -0700 +Subject: Check MAX_CHANNELS in sndfile-deinterleave + +Allocated buffer has space for only 16 channels. Verify that input file +meets this limit. + +Fixes #397 +--- + programs/sndfile-deinterleave.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/programs/sndfile-deinterleave.c b/programs/sndfile-deinterleave.c +index e27593e..cb497e1 100644 +--- programs/sndfile-deinterleave.c ++++ programs/sndfile-deinterleave.c +@@ -89,6 +89,13 @@ main (int argc, char **argv) + exit (1) ; + } ; + ++ if (sfinfo.channels > MAX_CHANNELS) ++ { printf ("\nError : Input file '%s' has too many (%d) channels. Limit is %d.\n", ++ argv [1], sfinfo.channels, MAX_CHANNELS) ; ++ exit (1) ; ++ } ; ++ ++ + state.channels = sfinfo.channels ; + sfinfo.channels = 1 ; + |