diff options
author | Mathis Rosenhauer <rosenhauer@dkrz.de> | 2016-01-14 14:30:42 +0100 |
---|---|---|
committer | Mathis Rosenhauer <rosenhauer@dkrz.de> | 2016-01-14 14:30:42 +0100 |
commit | 3a6b42c10ef34a42ba354399b2193e1c248ef11c (patch) | |
tree | 6632f1a1cd71a6ffd96ce4cd52b882c9bcf87bc4 | |
parent | fb09e8ce37aebdade7d15b864fa89f5c63277e41 (diff) | |
download | libaec-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.c | 3 |
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; |