From: Brett T. Warden Date: Tue, 28 Aug 2018 19:01:17 +0000 (-0700) Subject: Check MAX_CHANNELS in sndfile-deinterleave X-Git-Tag: accepted/tizen/5.5/unified/20191031.012002~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F73%2F211473%2F1;p=platform%2Fupstream%2Flibsndfile.git Check MAX_CHANNELS in sndfile-deinterleave Allocated buffer has space for only 16 channels. Verify that input file meets this limit. Fixes #397 Change-Id: I615bbd5419dddf8de0db60ab2a7db16b53d15ff4 --- diff --git a/programs/sndfile-deinterleave.c b/programs/sndfile-deinterleave.c index e27593e..cb497e1 100644 --- a/programs/sndfile-deinterleave.c +++ b/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 ;