summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Pöschel <github@basicmaster.de>2017-08-07 23:06:20 +0200
committerStefan Pöschel <github@basicmaster.de>2017-08-07 23:06:27 +0200
commitce25f2c7327b2257e14b8f92c69e19d92ebcef7d (patch)
tree0596eb63d43ce7a81fc70bccc20a4742f5ff8813
parentf0d5d85074cd696b5653c6924fbe2281dea05e41 (diff)
downloadODR-AudioEnc-ce25f2c7327b2257e14b8f92c69e19d92ebcef7d.tar.gz
ODR-AudioEnc-ce25f2c7327b2257e14b8f92c69e19d92ebcef7d.tar.bz2
ODR-AudioEnc-ce25f2c7327b2257e14b8f92c69e19d92ebcef7d.zip
MP2: fix PAD with only F-PAD
When the PAD contains only F-PAD (and no X-PAD), this lead to a crash in the MP2 encoder.
-rw-r--r--libtoolame-dab/toolame.c2
-rw-r--r--src/odr-audioenc.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/libtoolame-dab/toolame.c b/libtoolame-dab/toolame.c
index b8a7afb..4e0c7d8 100644
--- a/libtoolame-dab/toolame.c
+++ b/libtoolame-dab/toolame.c
@@ -522,7 +522,7 @@ int toolame_encode_frame(
if (xpad_len) {
- assert(xpad_len > 2);
+ assert(xpad_len >= FPAD_LENGTH);
// insert available X-PAD
for (int i = header.dab_length - xpad_len;
diff --git a/src/odr-audioenc.cpp b/src/odr-audioenc.cpp
index ca4faec..14666a5 100644
--- a/src/odr-audioenc.cpp
+++ b/src/odr-audioenc.cpp
@@ -1207,9 +1207,9 @@ int main(int argc, char *argv[])
int calculated_padlen = 0;
if (pad_ret == padlen + 1) {
calculated_padlen = pad_buf[padlen];
- if (calculated_padlen <= 2) {
+ if (calculated_padlen < 2) {
stringstream ss;
- ss << "Invalid XPAD Length " << calculated_padlen;
+ ss << "Invalid X-PAD length " << calculated_padlen;
throw runtime_error(ss.str());
}
}