From 86e09922a52468632a80f23031fde44ec9d1b976 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Thu, 13 May 2010 19:22:56 +0000 Subject: qt-faststart: Abort scanning of the input file if a badly sized atom is encountered If the atom size is 0, qt-faststart currently hangs forever while scanning the file. Originally committed as revision 23129 to svn://svn.ffmpeg.org/ffmpeg/trunk --- tools/qt-faststart.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'tools/qt-faststart.c') diff --git a/tools/qt-faststart.c b/tools/qt-faststart.c index dca5db1153..7bcd5b72bd 100644 --- a/tools/qt-faststart.c +++ b/tools/qt-faststart.c @@ -163,6 +163,12 @@ int main(int argc, char *argv[]) break; } atom_offset += atom_size; + + /* The atom header is 8 (or 16 bytes), if the atom size (which + * includes these 8 or 16 bytes) is less than that, we won't be + * able to continue scanning sensibly after this atom, so break. */ + if (atom_size < 8) + break; } if (atom_type != MOOV_ATOM) { -- cgit v1.2.3