[media] solo6x10: fix potential null dereference
drivers/media/pci/solo6x10/solo6x10-disp.c:221 solo_set_motion_block() error: potential null dereference 'buf'. (kzalloc returns null) Also propagate this error up the chain. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
Родитель
9c9cb1fad8
Коммит
0a12830893
|
@ -216,6 +216,8 @@ int solo_set_motion_block(struct solo_dev *solo_dev, u8 ch,
|
|||
int ret = 0;
|
||||
|
||||
buf = kzalloc(size, GFP_KERNEL);
|
||||
if (buf == NULL)
|
||||
return -ENOMEM;
|
||||
for (y = 0; y < SOLO_MOTION_SZ; y++) {
|
||||
for (x = 0; x < SOLO_MOTION_SZ; x++)
|
||||
buf[x] = cpu_to_le16(thresholds[y * SOLO_MOTION_SZ + x]);
|
||||
|
|
|
@ -1137,11 +1137,13 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl)
|
|||
solo_enc->motion_enabled = ctrl->val > V4L2_DETECT_MD_MODE_DISABLED;
|
||||
if (ctrl->val) {
|
||||
if (solo_enc->motion_global)
|
||||
solo_set_motion_threshold(solo_dev, solo_enc->ch,
|
||||
err = solo_set_motion_threshold(solo_dev, solo_enc->ch,
|
||||
solo_enc->motion_thresh);
|
||||
else
|
||||
solo_set_motion_block(solo_dev, solo_enc->ch,
|
||||
err = solo_set_motion_block(solo_dev, solo_enc->ch,
|
||||
solo_enc->md_thresholds->p_cur.p_u16);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
solo_motion_toggle(solo_enc, ctrl->val);
|
||||
return 0;
|
||||
|
@ -1152,8 +1154,7 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl)
|
|||
break;
|
||||
case V4L2_CID_OSD_TEXT:
|
||||
strcpy(solo_enc->osd_text, ctrl->p_new.p_char);
|
||||
err = solo_osd_print(solo_enc);
|
||||
return err;
|
||||
return solo_osd_print(solo_enc);
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче