OSDN Git Service

avcodec/dvbsubdec: Check get_region() return value
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 17 Jan 2015 15:21:36 +0000 (16:21 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 17 Jan 2015 15:33:02 +0000 (16:33 +0100)
Fixes null pointer dereference with DEBUG enabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/dvbsubdec.c

index ce68425..5dd362a 100644 (file)
@@ -1373,6 +1373,9 @@ static void save_display_set(DVBSubContext *ctx)
     for (display = ctx->display_list; display; display = display->next) {
         region = get_region(ctx, display->region_id);
 
+        if (!region)
+            return;
+
         if (x_pos == -1) {
             x_pos = display->x_pos;
             y_pos = display->y_pos;
@@ -1406,6 +1409,9 @@ static void save_display_set(DVBSubContext *ctx)
         for (display = ctx->display_list; display; display = display->next) {
             region = get_region(ctx, display->region_id);
 
+            if (!region)
+                return;
+
             x_off = display->x_pos - x_pos;
             y_off = display->y_pos - y_pos;