diff options
author | Roger I Nilsson <roger2.nilsson@sonymobile.com> | 2015-06-10 14:42:39 +0200 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-11-07 01:53:37 -0800 |
commit | 5578af3e988193aae89a2f990f930ae756c34785 (patch) | |
tree | c3f375167790f1ae60370d0af4253e9620d70cc7 /media/libstagefright/WAVExtractor.cpp | |
parent | df287f605d5fcc75f439411917bfd9e1d82c7f1a (diff) | |
download | frameworks_av-5578af3e988193aae89a2f990f930ae756c34785.zip frameworks_av-5578af3e988193aae89a2f990f930ae756c34785.tar.gz frameworks_av-5578af3e988193aae89a2f990f930ae756c34785.tar.bz2 |
Remove possible div by zero in WavExtractor
Do not accept 0 channels as a valid wav format.
Change-Id: I8d03d68f58d023b039503732736cc3a82ea560eb
Diffstat (limited to 'media/libstagefright/WAVExtractor.cpp')
-rw-r--r-- | media/libstagefright/WAVExtractor.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libstagefright/WAVExtractor.cpp b/media/libstagefright/WAVExtractor.cpp index d86dffb..b988f19 100644 --- a/media/libstagefright/WAVExtractor.cpp +++ b/media/libstagefright/WAVExtractor.cpp @@ -195,12 +195,14 @@ status_t WAVExtractor::init() { mNumChannels = U16_LE_AT(&formatSpec[2]); if (mWaveFormat != WAVE_FORMAT_EXTENSIBLE) { - if (mNumChannels != 1 && mNumChannels != 2) { + if (mNumChannels == 0) { + return ERROR_UNSUPPORTED; + } else if (mNumChannels != 1 && mNumChannels != 2) { ALOGW("More than 2 channels (%d) in non-WAVE_EXT, unknown channel mask", mNumChannels); } } else { - if (mNumChannels < 1 && mNumChannels > 8) { + if (mNumChannels < 1 || mNumChannels > 8) { return ERROR_UNSUPPORTED; } } |