diff mbox

[FFmpeg-devel,2/2] avcodec/pngdec: Clean up on av_frame_ref() failure

Message ID 20170917004211.12545-2-michael@niedermayer.cc
State Accepted
Commit 5480e82d77770e81e897a8c217f3c7f0c13a6de1
Headers show

Commit Message

Michael Niedermayer Sept. 17, 2017, 12:42 a.m. UTC
Fixes: memleak
Fixes: 3203/clusterfuzz-testcase-minimized-4514553595428864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/pngdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

James Almer Sept. 19, 2017, 4 a.m. UTC | #1
On 9/16/2017 9:42 PM, Michael Niedermayer wrote:
> Fixes: memleak
> Fixes: 3203/clusterfuzz-testcase-minimized-4514553595428864
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/pngdec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
> index dce8faf168..0d6612ccca 100644
> --- a/libavcodec/pngdec.c
> +++ b/libavcodec/pngdec.c
> @@ -1414,7 +1414,7 @@ static int decode_frame_png(AVCodecContext *avctx,
>      }
>  
>      if ((ret = av_frame_ref(data, s->picture.f)) < 0)
> -        return ret;
> +        goto the_end;
>  
>      *got_frame = 1;
>  

LGTM.
Michael Niedermayer Sept. 19, 2017, 9:58 a.m. UTC | #2
On Tue, Sep 19, 2017 at 01:00:52AM -0300, James Almer wrote:
> On 9/16/2017 9:42 PM, Michael Niedermayer wrote:
> > Fixes: memleak
> > Fixes: 3203/clusterfuzz-testcase-minimized-4514553595428864
> > 
> > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> >  libavcodec/pngdec.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
> > index dce8faf168..0d6612ccca 100644
> > --- a/libavcodec/pngdec.c
> > +++ b/libavcodec/pngdec.c
> > @@ -1414,7 +1414,7 @@ static int decode_frame_png(AVCodecContext *avctx,
> >      }
> >  
> >      if ((ret = av_frame_ref(data, s->picture.f)) < 0)
> > -        return ret;
> > +        goto the_end;
> >  
> >      *got_frame = 1;
> >  
> 
> LGTM.

will apply

thanks

[...]
diff mbox

Patch

diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index dce8faf168..0d6612ccca 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -1414,7 +1414,7 @@  static int decode_frame_png(AVCodecContext *avctx,
     }
 
     if ((ret = av_frame_ref(data, s->picture.f)) < 0)
-        return ret;
+        goto the_end;
 
     *got_frame = 1;