avcodec/utils: Check that the data is complete in avpriv_bprint_to_extradata()
[ffmpeg.git] / libavcodec / utils.c
index bf2a5b9..c06a733 100644 (file)
@@ -3731,6 +3731,11 @@ int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf)
     ret = av_bprint_finalize(buf, &str);
     if (ret < 0)
         return ret;
+    if (!av_bprint_is_complete(buf)) {
+        av_free(str);
+        return AVERROR(ENOMEM);
+    }
+
     avctx->extradata = str;
     /* 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