avformat/concat: revert one hunk of 20dfab33f5ab61fc51de65192ed239f8b62782a2
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 19 Sep 2013 12:51:46 +0000 (14:51 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 19 Sep 2013 13:18:15 +0000 (15:18 +0200)
The deallocated memory contains resources that need to be freed before it
can be deallocated. The original code was correct.
This also fixes a double free

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/concat.c

index 849b61a..5f8209b 100644 (file)
@@ -111,9 +111,10 @@ static av_cold int concat_open(URLContext *h, const char *uri, int flags)
 
     if (err < 0)
         concat_close(h);
-    else if ((err = av_reallocp(&nodes, data->length * sizeof(*nodes))) < 0)
+    else if (!(nodes = av_realloc(nodes, data->length * sizeof(*nodes)))) {
         concat_close(h);
-    else
+        err = AVERROR(ENOMEM);
+    } else
         data->nodes = nodes;
     return err;
 }