Commit a0a7b154 authored by Michael Niedermayer's avatar Michael Niedermayer

tools/ismindex: Keep count fields consistent with arrays in case of errors

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent d2838f09
...@@ -340,6 +340,7 @@ static int read_tfra(struct Tracks *tracks, int start_index, AVIOContext *f) ...@@ -340,6 +340,7 @@ static int read_tfra(struct Tracks *tracks, int start_index, AVIOContext *f)
track->chunks = avio_rb32(f); track->chunks = avio_rb32(f);
track->offsets = av_mallocz_array(track->chunks, sizeof(*track->offsets)); track->offsets = av_mallocz_array(track->chunks, sizeof(*track->offsets));
if (!track->offsets) { if (!track->offsets) {
track->chunks = 0;
ret = AVERROR(ENOMEM); ret = AVERROR(ENOMEM);
goto fail; goto fail;
} }
...@@ -448,10 +449,11 @@ fail: ...@@ -448,10 +449,11 @@ fail:
static int get_private_data(struct Track *track, AVCodecContext *codec) static int get_private_data(struct Track *track, AVCodecContext *codec)
{ {
track->codec_private_size = codec->extradata_size; track->codec_private_size = 0;
track->codec_private = av_mallocz(codec->extradata_size); track->codec_private = av_mallocz(codec->extradata_size);
if (!track->codec_private) if (!track->codec_private)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
track->codec_private_size = codec->extradata_size;
memcpy(track->codec_private, codec->extradata, codec->extradata_size); memcpy(track->codec_private, codec->extradata, codec->extradata_size);
return 0; return 0;
} }
......
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