summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>2018-01-30 18:27:54 -0900
committerXiang, Haihao <haihao.xiang@intel.com>2018-01-31 11:09:02 +0800
commit97d19edf03df4d6a2eec60869249b9af9670a9df (patch)
tree72a12ae6dc5d329f3354851d4ef0925707438c6e
parentfe0cac201f09f4d4eb1935de1803a58fef9e61d2 (diff)
downloadlibva-intel-driver-97d19edf03df4d6a2eec60869249b9af9670a9df.tar.gz
i965_avc_encoder: Fix possible NULL pointer dereferencing
-rw-r--r--src/i965_avc_encoder.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/i965_avc_encoder.c b/src/i965_avc_encoder.c
index 2fffcf80..0cbf1d77 100644
--- a/src/i965_avc_encoder.c
+++ b/src/i965_avc_encoder.c
@@ -8676,6 +8676,8 @@ gen9_avc_preenc_update_parameters(VADriverContextP ctx,
goto error;
size = frame_mb_nums * FEI_AVC_MV_PREDICTOR_BUFFER_SIZE;
obj_buffer = BUFFER(stat_param->mv_predictor);
+ if (!obj_buffer)
+ goto error;
buffer_store = obj_buffer->buffer_store;
if (buffer_store->bo->size < size)
goto error;
@@ -8729,7 +8731,7 @@ gen9_avc_preenc_update_parameters(VADriverContextP ctx,
}
}
/* mv data output buffer */
- if (!stat_param_h264->disable_mv_output) {
+ if (!stat_param_h264->disable_mv_output && obj_buffer_mv) {
size = frame_mb_nums * FEI_AVC_MV_DATA_BUFFER_SIZE;
buffer_store = obj_buffer_mv->buffer_store;
if (buffer_store->bo->size < size)
@@ -8741,7 +8743,7 @@ gen9_avc_preenc_update_parameters(VADriverContextP ctx,
buffer_store->bo);
}
/* statistics output buffer */
- if (!stat_param_h264->disable_statistics_output) {
+ if (!stat_param_h264->disable_statistics_output && obj_buffer_stat) {
size = frame_mb_nums * PREENC_AVC_STATISTICS_BUFFER_SIZE;
buffer_store = obj_buffer_stat->buffer_store;
if (buffer_store->bo->size < size)