lavc/ass_split: check for NULL pointer in ff_ass_split_override_codes().
authorClément Bœsch <ubitux@gmail.com>
Sun, 30 Dec 2012 05:53:48 +0000 (06:53 +0100)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 1 Jan 2013 17:23:54 +0000 (18:23 +0100)
This is consistent with the other ff_ass_split_* functions.

It also fixes a crash when trying to split a dialog with text=NULL
(which seems to happen when the text of the dialog is empty); basically,
this commit fixes crashes when trying to encode an empty text subtitle
dialog (see subrip and mov_text encoders).

Fixes Ticket2048.
(cherry picked from commit c83002a4f8042ccfa0688a9a18e8fa0369c1fda8)

libavcodec/ass_split.c

index 2a3b764..33c1c27 100644 (file)
@@ -366,7 +366,7 @@ int ff_ass_split_override_codes(const ASSCodesCallbacks *callbacks, void *priv,
     char new_line[2];
     int text_len = 0;
 
-    while (*buf) {
+    while (buf && *buf) {
         if (text && callbacks->text &&
             (sscanf(buf, "\\%1[nN]", new_line) == 1 ||
              !strncmp(buf, "{\\", 2))) {