From: John Koleszar Date: Thu, 4 Nov 2010 18:54:51 +0000 (-0400) Subject: vpxdec: report parse errors from webm_guess_framerate() X-Git-Tag: v0.9.6~188^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bd05d9e480623536e35b76cf3cfd6b8884d254ba;p=libvpx vpxdec: report parse errors from webm_guess_framerate() If this function fails silently, the nestegg context is destroyed and future nestegg calls will segfault. Change-Id: Ie6a0ea284ab9ddfa97b1843ef8030a953937c8cd --- diff --git a/vpxdec.c b/vpxdec.c index 85ab20693..9b565b022 100644 --- a/vpxdec.c +++ b/vpxdec.c @@ -542,6 +542,7 @@ webm_guess_framerate(struct input_ctx *input, *fps_den = tstamp / 1000; return 0; fail: + nestegg_destroy(input->nestegg_ctx); input->nestegg_ctx = NULL; rewind(input->infile); return 1; @@ -878,7 +879,13 @@ int main(int argc, const char **argv_) } if(input.kind == WEBM_FILE) - webm_guess_framerate(&input, &fps_den, &fps_num); + if(webm_guess_framerate(&input, &fps_den, &fps_num)) + { + fprintf(stderr, "Failed to guess framerate -- error parsing " + "webm file?\n"); + return EXIT_FAILURE; + } + /*Note: We can't output an aspect ratio here because IVF doesn't store one, and neither does VP8.