diff mbox

[FFmpeg-devel] avcodec/trace_headers: always unref the input packet

Message ID 20180324040243.10568-1-jamrial@gmail.com
State Withdrawn
Headers show

Commit Message

James Almer March 24, 2018, 4:02 a.m. UTC
ff_cbs_read_packet() does not take ownership of it.

Regression since c266049191.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/trace_headers_bsf.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

James Almer March 24, 2018, 4:07 a.m. UTC | #1
On 3/24/2018 1:02 AM, James Almer wrote:
> ff_cbs_read_packet() does not take ownership of it.
> 
> Regression since c266049191.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/trace_headers_bsf.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/trace_headers_bsf.c b/libavcodec/trace_headers_bsf.c
> index 94a3ef72a2..f197f6168e 100644
> --- a/libavcodec/trace_headers_bsf.c
> +++ b/libavcodec/trace_headers_bsf.c
> @@ -98,13 +98,16 @@ static int trace_headers(AVBSFContext *bsf, AVPacket *pkt)
>  
>      err = ff_cbs_read_packet(ctx->cbc, &au, pkt);
>      if (err < 0) {
> -        av_packet_unref(pkt);
> -        return err;
> +        goto fail;
>      }
>  
>      ff_cbs_fragment_uninit(ctx->cbc, &au);
>  
> -    return 0;
> +    err = 0;
> +fail:
> +    av_packet_unref(pkt);
> +
> +    return err;
>  }
>  
>  const AVBitStreamFilter ff_trace_headers_bsf = {
> 

Disregard this patch. I misread what the filter was trying to do.

Sorry for the noise.
diff mbox

Patch

diff --git a/libavcodec/trace_headers_bsf.c b/libavcodec/trace_headers_bsf.c
index 94a3ef72a2..f197f6168e 100644
--- a/libavcodec/trace_headers_bsf.c
+++ b/libavcodec/trace_headers_bsf.c
@@ -98,13 +98,16 @@  static int trace_headers(AVBSFContext *bsf, AVPacket *pkt)
 
     err = ff_cbs_read_packet(ctx->cbc, &au, pkt);
     if (err < 0) {
-        av_packet_unref(pkt);
-        return err;
+        goto fail;
     }
 
     ff_cbs_fragment_uninit(ctx->cbc, &au);
 
-    return 0;
+    err = 0;
+fail:
+    av_packet_unref(pkt);
+
+    return err;
 }
 
 const AVBitStreamFilter ff_trace_headers_bsf = {