]> git.sesse.net Git - ffmpeg/commitdiff
avconv: fix segfault at EOF with delayed pictures
authorJanne Grunau <janne-libav@jannau.net>
Wed, 23 Nov 2011 23:18:33 +0000 (00:18 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Wed, 23 Nov 2011 23:33:02 +0000 (00:33 +0100)
At EOF it makes no sense to modify avpkt.{data,size} in output_packet
since no data is consumed. Frame threading with more than 1 threads
hits the segfault.

avconv.c

index be870a5273d383910d79f4f1284c4ca1e0d293ef..6f64bc80a4455446fb844871cab22dd317bb0ad7 100644 (file)
--- a/avconv.c
+++ b/avconv.c
@@ -1892,8 +1892,11 @@ static int output_packet(InputStream *ist,
 
         if (ret < 0)
             return ret;
-        avpkt.data += ret;
-        avpkt.size -= ret;
+        // touch data and size only if not EOF
+        if (pkt) {
+            avpkt.data += ret;
+            avpkt.size -= ret;
+        }
         if (!got_output) {
             continue;
         }