summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-09-19 14:51:46 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-09-19 15:18:15 +0200
commitad2a08388c82bdec5ac9355ca6e0bc4c98b26423 (patch)
treeabeb630358032d022939c40009fd9011de91467e
parent8be56e464bdeeeb8fc0a3a6d8f709c0890c585dd (diff)
avformat/concat: revert one hunk of 20dfab33f5ab61fc51de65192ed239f8b62782a2
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>
-rw-r--r--libavformat/concat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/concat.c b/libavformat/concat.c
index 849b61a092..5f8209b252 100644
--- a/libavformat/concat.c
+++ b/libavformat/concat.c
@@ -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;
}