diff options
author | Sreerenj Balachandran <sreerenj.balachandran@intel.com> | 2018-01-30 18:27:54 -0900 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2018-01-31 11:09:02 +0800 |
commit | 97d19edf03df4d6a2eec60869249b9af9670a9df (patch) | |
tree | 72a12ae6dc5d329f3354851d4ef0925707438c6e | |
parent | fe0cac201f09f4d4eb1935de1803a58fef9e61d2 (diff) | |
download | libva-intel-driver-97d19edf03df4d6a2eec60869249b9af9670a9df.tar.gz |
i965_avc_encoder: Fix possible NULL pointer dereferencing
-rw-r--r-- | src/i965_avc_encoder.c | 6 |
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) |