[FFmpeg-devel] [PATCH] lavf/img2dec: Fix memory leak

Michael Niedermayer michaelni at gmx.at
Tue Sep 29 14:49:02 CEST 2015


On Tue, Sep 29, 2015 at 12:29:52PM +0200, Przemysław Sobala wrote:
> W dniu 29.09.2015 o 12:22, Hendrik Leppkes pisze:
> >On Tue, Sep 29, 2015 at 12:14 PM, Przemysław Sobala
> ><przemyslaw.sobala at grupawp.pl> wrote:
> >>Fixes #4886
> >>---
> >>  libavformat/img2dec.c | 6 +++++-
> >>  1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >>diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
> >>index 70f0b09..fcd2b76 100644
> >>--- a/libavformat/img2dec.c
> >>+++ b/libavformat/img2dec.c
> >>@@ -444,8 +444,12 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)
> >>      }
> >>
> >>      res = av_new_packet(pkt, size[0] + size[1] + size[2]);
> >>-    if (res < 0)
> >>+    if (res < 0) {
> >>+        for (i = 0; i < 3; i++) {
> >>+            avio_closep(&f[i]);
> >>+        }
> >>          return res;
> >>+    }
> >>      pkt->stream_index = 0;
> >>      pkt->flags       |= AV_PKT_FLAG_KEY;
> >>      if (s->ts_from_file) {
> >>--
> >>1.8.3.1
> >>
> >
> >This needs a !s->is_pipe check, otherwise it shall not be closed.
> 
> OK. New patch attached,
> 
> 
> Główne Spółki Grupy Wirtualna Polska:
> 
> Wirtualna Polska Holding Spółka Akcyjna z siedzibą w Warszawie, ul. Jutrzenki 137A, 02-231 Warszawa, wpisana do Krajowego Rejestru Sądowego - Rejestru Przedsiębiorców prowadzonego przez Sąd Rejonowy dla m.st. Warszawy w Warszawie pod nr KRS: 0000407130, kapitał zakładowy: 1 245 651,90 zł (w całości wpłacony), Numer Identyfikacji Podatkowej (NIP): 521-31-11-513
> 
> Grupa Wirtualna Polska Spółka z ograniczoną odpowiedzialnością z siedzibą w Warszawie, ul. Jutrzenki 137A, 02-231 Warszawa, wpisana do Krajowego Rejestru Sądowego - Rejestru Przedsiębiorców prowadzonego przez Sąd Rejonowy dla m.st. Warszawy w Warszawie pod nr KRS: 0000373814, kapitał zakładowy: 317 957 800,00 zł, Numer Identyfikacji Podatkowej (NIP): 527-26-45-593
> 
> WP Shopping Spółka z ograniczoną odpowiedzialnością z siedzibą w Gdańsku, ul. Romualda Traugutta 115 C, 80-226 Gdańsk, wpisana do Krajowego Rejestru Sądowego - Rejestru Przedsiębiorców prowadzonego przez Sąd Rejonowy Gdańsk - Północ w Gdańsku pod nr KRS: 0000546914, kapitał zakładowy: 170.000,00 złotych (w całości wpłacony), Numer Identyfikacji Podatkowej (NIP): 957-07-51-216

>  img2dec.c |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 00cb9e3142332355e507c989c285ffe34a44de80  0001-lavf-img2dec-Fix-memory-leak.patch
> From c7b66f88c21498b2ef603c2753cc24337e05ac07 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Przemys=C5=82aw=20Sobala?= <przemyslaw.sobala at grupawp.pl>
> Date: Tue, 29 Sep 2015 10:49:49 +0200
> Subject: [PATCH] lavf/img2dec: Fix memory leak
> 
> Fixes #4886
> ---
>  libavformat/img2dec.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c
> index 70f0b09..a0a4c71 100644
> --- a/libavformat/img2dec.c
> +++ b/libavformat/img2dec.c
> @@ -444,8 +444,14 @@ int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)
>      }
>  
>      res = av_new_packet(pkt, size[0] + size[1] + size[2]);
> -    if (res < 0)
> +    if (res < 0) {
> +        if (!s->is_pipe) {
> +            for (i = 0; i < 3; i++) {
> +                avio_closep(&f[i]);
> +            }
> +        }
>          return res;
> +    }

there are more return pathes in the function,
if they need this too then it should be placed at the end of the
function and goto-ed to


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The greatest way to live with honor in this world is to be what we pretend
to be. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150929/478e88c4/attachment.sig>


More information about the ffmpeg-devel mailing list