From 05f2237d39a0d6255e53063e138cb763e9e0d9bb Mon Sep 17 00:00:00 2001 From: Qiwei Liu Date: Fri, 10 May 2019 11:39:07 +0800 Subject: [PATCH] techpack: video: fix integer overflow issue for blur resolution Use S32_MAX instead of U32_MAX for maximum ctrl val for blur resolution, as ctrl val is s32. Change-Id: Ie92f6ba831ffead2d56c9eee24917b8a42cdd564 Signed-off-by: Qiwei Liu --- msm/vidc/msm_venc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/msm/vidc/msm_venc.c b/msm/vidc/msm_venc.c index d1c61f014bf7..3c70ad3fca22 100644 --- a/msm/vidc/msm_venc.c +++ b/msm/vidc/msm_venc.c @@ -792,7 +792,7 @@ static struct msm_vidc_ctrl msm_venc_ctrls[] = { .name = "Set Blur width/height", .type = V4L2_CTRL_TYPE_INTEGER, .minimum = 0, - .maximum = 0xFFFFFFFF, + .maximum = S32_MAX, .default_value = 0, .step = 1, }, @@ -3788,7 +3788,9 @@ int msm_venc_set_blur_resolution(struct msm_vidc_inst *inst) frame_sz.buffer_type = HFI_BUFFER_INPUT; frame_sz.height = ctrl->val & 0xFFFF; - frame_sz.width = (ctrl->val & 0xFFFF0000) >> 16; + frame_sz.width = (ctrl->val & 0x7FFF0000) >> 16; + dprintk(VIDC_DBG, "%s: type %u, height %u, width %u\n", __func__, + frame_sz.buffer_type, frame_sz.height, frame_sz.width); rc = call_hfi_op(hdev, session_set_property, inst->session, HFI_PROPERTY_CONFIG_VENC_BLUR_FRAME_SIZE, &frame_sz, sizeof(frame_sz));