diff mbox

[FFmpeg-devel] avcodec/extract_extradata: return an error when buffer allocation fails

Message ID 20170913200651.4944-1-jamrial@gmail.com
State Accepted
Commit 2014231039deeb6dccbf9f5368deb5f9e89d6cd0
Headers show

Commit Message

James Almer Sept. 13, 2017, 8:06 p.m. UTC
ret is 0 by default.
---
 libavcodec/extract_extradata_bsf.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Mark Thompson Sept. 13, 2017, 8:20 p.m. UTC | #1
On 13/09/17 21:06, James Almer wrote:
> ret is 0 by default.
> ---
>  libavcodec/extract_extradata_bsf.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/extract_extradata_bsf.c b/libavcodec/extract_extradata_bsf.c
> index 4cd0ca1137..ed6509c681 100644
> --- a/libavcodec/extract_extradata_bsf.c
> +++ b/libavcodec/extract_extradata_bsf.c
> @@ -101,14 +101,17 @@ static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
>  
>          if (s->remove) {
>              filtered_buf = av_buffer_alloc(pkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
> -            if (!filtered_buf)
> +            if (!filtered_buf) {
> +                ret = AVERROR(ENOMEM);
>                  goto fail;
> +            }
>              filtered_data = filtered_buf->data;
>          }
>  
>          extradata = av_malloc(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
>          if (!extradata) {
>              av_buffer_unref(&filtered_buf);
> +            ret = AVERROR(ENOMEM);
>              goto fail;
>          }

LGTM.

- Mark
James Almer Sept. 13, 2017, 8:27 p.m. UTC | #2
On 9/13/2017 5:20 PM, Mark Thompson wrote:
> On 13/09/17 21:06, James Almer wrote:
>> ret is 0 by default.
>> ---
>>  libavcodec/extract_extradata_bsf.c | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/extract_extradata_bsf.c b/libavcodec/extract_extradata_bsf.c
>> index 4cd0ca1137..ed6509c681 100644
>> --- a/libavcodec/extract_extradata_bsf.c
>> +++ b/libavcodec/extract_extradata_bsf.c
>> @@ -101,14 +101,17 @@ static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
>>  
>>          if (s->remove) {
>>              filtered_buf = av_buffer_alloc(pkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
>> -            if (!filtered_buf)
>> +            if (!filtered_buf) {
>> +                ret = AVERROR(ENOMEM);
>>                  goto fail;
>> +            }
>>              filtered_data = filtered_buf->data;
>>          }
>>  
>>          extradata = av_malloc(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
>>          if (!extradata) {
>>              av_buffer_unref(&filtered_buf);
>> +            ret = AVERROR(ENOMEM);
>>              goto fail;
>>          }
> 
> LGTM.

Pushed and backported.

Thanks.

> 
> - Mark
diff mbox

Patch

diff --git a/libavcodec/extract_extradata_bsf.c b/libavcodec/extract_extradata_bsf.c
index 4cd0ca1137..ed6509c681 100644
--- a/libavcodec/extract_extradata_bsf.c
+++ b/libavcodec/extract_extradata_bsf.c
@@ -101,14 +101,17 @@  static int extract_extradata_h2645(AVBSFContext *ctx, AVPacket *pkt,
 
         if (s->remove) {
             filtered_buf = av_buffer_alloc(pkt->size + AV_INPUT_BUFFER_PADDING_SIZE);
-            if (!filtered_buf)
+            if (!filtered_buf) {
+                ret = AVERROR(ENOMEM);
                 goto fail;
+            }
             filtered_data = filtered_buf->data;
         }
 
         extradata = av_malloc(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
         if (!extradata) {
             av_buffer_unref(&filtered_buf);
+            ret = AVERROR(ENOMEM);
             goto fail;
         }