Commit 4ccd7cb4 authored by Michael Niedermayer's avatar Michael Niedermayer

avformat/oggdec/ogg_read_packet(): factorize failure code path

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent c1b24ca7
...@@ -793,11 +793,8 @@ retry: ...@@ -793,11 +793,8 @@ retry:
uint8_t *side_data = av_packet_new_side_data(pkt, uint8_t *side_data = av_packet_new_side_data(pkt,
AV_PKT_DATA_SKIP_SAMPLES, AV_PKT_DATA_SKIP_SAMPLES,
10); 10);
if(side_data == NULL) { if(side_data == NULL)
av_free_packet(pkt); goto fail;
av_free(pkt);
return AVERROR(ENOMEM);
}
AV_WL32(side_data + 4, os->end_trimming); AV_WL32(side_data + 4, os->end_trimming);
os->end_trimming = 0; os->end_trimming = 0;
} }
...@@ -806,17 +803,19 @@ retry: ...@@ -806,17 +803,19 @@ retry:
uint8_t *side_data = av_packet_new_side_data(pkt, uint8_t *side_data = av_packet_new_side_data(pkt,
AV_PKT_DATA_METADATA_UPDATE, AV_PKT_DATA_METADATA_UPDATE,
os->new_metadata_size); os->new_metadata_size);
if(side_data == NULL) { if(side_data == NULL)
av_free_packet(pkt); goto fail;
av_free(pkt);
return AVERROR(ENOMEM);
}
memcpy(side_data, os->new_metadata, os->new_metadata_size); memcpy(side_data, os->new_metadata, os->new_metadata_size);
av_freep(&os->new_metadata); av_freep(&os->new_metadata);
os->new_metadata_size = 0; os->new_metadata_size = 0;
} }
return psize; return psize;
fail:
av_free_packet(pkt);
av_free(pkt);
return AVERROR(ENOMEM);
} }
static int64_t ogg_read_timestamp(AVFormatContext *s, int stream_index, static int64_t ogg_read_timestamp(AVFormatContext *s, int stream_index,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment