[FFmpeg-devel] Fix leak when user preallocates a AVFormatContext, passes it to av_open_input_file, but file does not exist on disk
Art Clarke
aclarke
Tue Jul 7 21:57:02 CEST 2009
On Mon, Jul 6, 2009 at 8:05 AM, Art Clarke <aclarke at xuggle.com> wrote:
>
> On Thu, Jul 2, 2009 at 2:47 PM, Art Clarke <aclarke at xuggle.com> wrote:
>
>> av_open_input_file takes memory ownership of *ic_ptr, and therefore must
>> free it if it nulls it. If you pass in your own AVFormatContext (i.e. you
>> pass in AVFormatParameters with prealloced_context>0), but then the file
>> doesn't exist on disk, the current code nulls the AVFormatContext pointer
>> without freeing it (while if av_open_input_stream fails, it will free it
>> before nulling it).
>>
>> This patch makes the behavior consistent and patches a leak as a result.
>>
> Ping?
Again (and last time; I'll assume rejected otherwise).
- Art
--
http://www.xuggle.com/
xu?ggle (z?' gl) v. To freely encode, decode, and experience audio and
video.
Use Xuggle to get the power of FFmpeg in Java.
-------------- next part --------------
Index: libavformat/utils.c
===================================================================
--- libavformat/utils.c (revision 19327)
+++ libavformat/utils.c (working copy)
@@ -499,6 +499,7 @@
av_freep(&pd->buf);
if (pb)
url_fclose(pb);
+ av_free(*ic_ptr);
*ic_ptr = NULL;
return err;
More information about the ffmpeg-devel
mailing list