diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2019-03-14 22:08:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-03-14 22:08:07 +0000 |
commit | 041424440adeb86d730f23ece1042ac18022e2e5 (patch) | |
tree | 850976122716be1924242a32582cb7410687be37 /libDRCdec/src/drcDec_reader.cpp | |
parent | 358e6d14ac6048827c4894fa6eb461d4ddac9e3f (diff) | |
parent | c2e0dfe237e2a3bd8a43e8a8025631d6fec4590d (diff) | |
download | fdk-aac-041424440adeb86d730f23ece1042ac18022e2e5.tar.gz fdk-aac-041424440adeb86d730f23ece1042ac18022e2e5.tar.bz2 fdk-aac-041424440adeb86d730f23ece1042ac18022e2e5.zip |
Merge "Clear config in case of parsing error in drcDec_readUniDrc()"
Diffstat (limited to 'libDRCdec/src/drcDec_reader.cpp')
-rw-r--r-- | libDRCdec/src/drcDec_reader.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libDRCdec/src/drcDec_reader.cpp b/libDRCdec/src/drcDec_reader.cpp index e7b3360..a784457 100644 --- a/libDRCdec/src/drcDec_reader.cpp +++ b/libDRCdec/src/drcDec_reader.cpp @@ -185,10 +185,18 @@ drcDec_readUniDrc(HANDLE_FDK_BITSTREAM hBs, HANDLE_UNI_DRC_CONFIG hUniDrcConfig, uniDrcConfigPresent = FDKreadBits(hBs, 1); if (uniDrcConfigPresent) { err = drcDec_readUniDrcConfig(hBs, hUniDrcConfig); - if (err) return err; + if (err) { + /* clear config, if parsing error occured */ + FDKmemclear(hUniDrcConfig, sizeof(UNI_DRC_CONFIG)); + hUniDrcConfig->diff = 1; + } } err = drcDec_readLoudnessInfoSet(hBs, hLoudnessInfoSet); - if (err) return err; + if (err) { + /* clear config, if parsing error occured */ + FDKmemclear(hLoudnessInfoSet, sizeof(LOUDNESS_INFO_SET)); + hLoudnessInfoSet->diff = 1; + } } if (hUniDrcGain != NULL) { |