Don't attempt to read its contents in place.
Fixes invalid reads when run under Valgrind.

Signed-off-by: James Almer <jamr...@gmail.com>
---
 libavformat/concat.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libavformat/concat.c b/libavformat/concat.c
index aec1f52d8e..64ac03e1d8 100644
--- a/libavformat/concat.c
+++ b/libavformat/concat.c
@@ -211,6 +211,7 @@ static av_cold int concatf_open(URLContext *h, const char 
*uri, int flags)
     struct concat_data *data = h->priv_data;
     AVIOContext *in = NULL;
     const char *cursor;
+    char *buf;
     int64_t total_size = 0;
     unsigned int nodes_size = 0;
     size_t i = 0;
@@ -238,7 +239,11 @@ static av_cold int concatf_open(URLContext *h, const char 
*uri, int flags)
         return err;
     }
 
-    cursor = bp.str;
+    err = av_bprint_finalize(&bp, &buf);
+    if (err < 0)
+        return err;
+
+    cursor = buf;
     while (*cursor) {
         struct concat_nodes *nodes;
         URLContext *uc;
@@ -286,7 +291,7 @@ static av_cold int concatf_open(URLContext *h, const char 
*uri, int flags)
         data->nodes[i++].size = size;
         total_size += size;
     }
-    av_bprint_finalize(&bp, NULL);
+    av_free(buf);
     data->length = i;
 
     if (err < 0)
-- 
2.32.0

_______________________________________________
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