Commit 3d5d95db authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()

Fixes out of array read
Fixes: asan_heap-oob_4d2250_814_cov_2745172097_JACOsub_capability_tester.jss
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 0eecf409
...@@ -3731,6 +3731,11 @@ int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf) ...@@ -3731,6 +3731,11 @@ int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf)
ret = av_bprint_finalize(buf, &str); ret = av_bprint_finalize(buf, &str);
if (ret < 0) if (ret < 0)
return ret; return ret;
if (!av_bprint_is_complete(buf)) {
av_free(str);
return AVERROR(ENOMEM);
}
avctx->extradata = str; avctx->extradata = str;
/* Note: the string is NUL terminated (so extradata can be read as a /* Note: the string is NUL terminated (so extradata can be read as a
* string), but the ending character is not accounted in the size (in * string), but the ending character is not accounted in the size (in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment