Browse Source

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Michael Niedermayer 12 years ago
parent
commit
4ccd7cb45b
1 changed files with 9 additions and 10 deletions
  1. +9
    -10
      libavformat/oggdec.c

+ 9
- 10
libavformat/oggdec.c View File

@@ -793,11 +793,8 @@ retry:
uint8_t *side_data = av_packet_new_side_data(pkt,
AV_PKT_DATA_SKIP_SAMPLES,
10);
if(side_data == NULL) {
av_free_packet(pkt);
av_free(pkt);
return AVERROR(ENOMEM);
}
if(side_data == NULL)
goto fail;
AV_WL32(side_data + 4, os->end_trimming);
os->end_trimming = 0;
}
@@ -806,17 +803,19 @@ retry:
uint8_t *side_data = av_packet_new_side_data(pkt,
AV_PKT_DATA_METADATA_UPDATE,
os->new_metadata_size);
if(side_data == NULL) {
av_free_packet(pkt);
av_free(pkt);
return AVERROR(ENOMEM);
}
if(side_data == NULL)
goto fail;

memcpy(side_data, os->new_metadata, os->new_metadata_size);
av_freep(&os->new_metadata);
os->new_metadata_size = 0;
}

return psize;
fail:
av_free_packet(pkt);
av_free(pkt);
return AVERROR(ENOMEM);
}

static int64_t ogg_read_timestamp(AVFormatContext *s, int stream_index,


Loading…
Cancel
Save