This makes sure the error condition is kept in AVIOContext even if the user
does not check the return value of avio_read_to_bprint or
ff_read_line_to_bprint.

Signed-off-by: Marton Balint <c...@passwd.hu>
---
 libavformat/aviobuf.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
index 29d4bd7510..6f8a822ee3 100644
--- a/libavformat/aviobuf.c
+++ b/libavformat/aviobuf.c
@@ -875,8 +875,10 @@ static int64_t read_string_to_bprint_overwrite(AVIOContext 
*s, AVBPrint *bp,
     if (ret < 0)
         return ret;
 
-    if (!av_bprint_is_complete(bp))
+    if (!av_bprint_is_complete(bp)) {
+        s->error = AVERROR(ENOMEM);
         return AVERROR(ENOMEM);
+    }
 
     return bp->len;
 }
@@ -1351,8 +1353,10 @@ int avio_read_to_bprint(AVIOContext *h, AVBPrint *pb, 
size_t max_size)
         if (ret <= 0)
             return ret;
         av_bprint_append_data(pb, buf, ret);
-        if (!av_bprint_is_complete(pb))
+        if (!av_bprint_is_complete(pb)) {
+            h->error = AVERROR(ENOMEM);
             return AVERROR(ENOMEM);
+        }
         max_size -= ret;
     }
     return 0;
-- 
2.31.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to