From 4abf6fa095f8082499d5a24cdfb18eb4c1fec60e Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Wed, 13 Mar 2013 14:13:46 +0200 Subject: ismindex: Check the return value of allocations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- tools/ismindex.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/ismindex.c b/tools/ismindex.c index 89b33e51ba..ad1f3a848c 100644 --- a/tools/ismindex.c +++ b/tools/ismindex.c @@ -300,10 +300,21 @@ static int handle_file(struct Tracks *tracks, const char *file, int split) tracks->duration = ctx->duration; for (i = 0; i < ctx->nb_streams; i++) { + struct Track **temp; AVStream *st = ctx->streams[i]; track = av_mallocz(sizeof(*track)); - tracks->tracks = av_realloc(tracks->tracks, - sizeof(*tracks->tracks) * (tracks->nb_tracks + 1)); + if (!track) { + err = AVERROR(ENOMEM); + goto fail; + } + temp = av_realloc(tracks->tracks, + sizeof(*tracks->tracks) * (tracks->nb_tracks + 1)); + if (!temp) { + av_free(track); + err = AVERROR(ENOMEM); + goto fail; + } + tracks->tracks = temp; tracks->tracks[tracks->nb_tracks] = track; track->name = file; -- cgit v1.2.3