summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathis Rosenhauer <rosenhauer@dkrz.de>2016-01-14 14:30:42 +0100
committerMathis Rosenhauer <rosenhauer@dkrz.de>2016-01-14 14:30:42 +0100
commit3a6b42c10ef34a42ba354399b2193e1c248ef11c (patch)
tree6632f1a1cd71a6ffd96ce4cd52b882c9bcf87bc4
parentfb09e8ce37aebdade7d15b864fa89f5c63277e41 (diff)
downloadlibaec-3a6b42c10ef34a42ba354399b2193e1c248ef11c.tar.gz
libaec-3a6b42c10ef34a42ba354399b2193e1c248ef11c.tar.bz2
libaec-3a6b42c10ef34a42ba354399b2193e1c248ef11c.zip
Fail if output buffer cannot be completely filled with selected type.
-rw-r--r--src/decode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/decode.c b/src/decode.c
index 3a8b7fe..66be682 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -804,6 +804,9 @@ int aec_decode(struct aec_stream *strm, int flush)
struct internal_state *state = strm->state;
int status;
+ if (strm->avail_out % strm->state->bytes_per_sample)
+ return AEC_MEM_ERROR;
+
strm->total_in += strm->avail_in;
strm->total_out += strm->avail_out;