OSDN Git Service

avoid NULL pointer deref in i965_CreateConfig
authorU. Artie Eoff <ullysses.a.eoff@intel.com>
Thu, 10 Aug 2017 18:15:57 +0000 (11:15 -0700)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 11 Aug 2017 00:08:36 +0000 (08:08 +0800)
The attrib_found pointer variable might be NULL in many cases.
Thus, check it before attempting to dereference it.

Fixes #246

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
src/i965_drv_video.c

index 7e87870..67d1186 100644 (file)
@@ -1305,10 +1305,10 @@ i965_CreateConfig(VADriverContextP ctx,
         case VAProfileH264ConstrainedBaseline:
         case VAProfileH264Main:
         case VAProfileH264High:
-            if ((entrypoint == VAEntrypointEncSlice) &&
+            if ((entrypoint == VAEntrypointEncSlice) && attrib_found &&
                 !(attrib_found->value & i965->codec_info->h264_brc_mode))
                 vaStatus = VA_STATUS_ERROR_INVALID_CONFIG;
-            else if ((entrypoint == VAEntrypointEncSliceLP) &&
+            else if ((entrypoint == VAEntrypointEncSliceLP) && attrib_found &&
                      !(attrib_found->value & i965->codec_info->lp_h264_brc_mode))
                 vaStatus = VA_STATUS_ERROR_INVALID_CONFIG;
             break;