This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/media_tree.git tree:

Subject: [media] solo6x10: fix potential null dereference
Author:  Hans Verkuil <[email protected]>
Date:    Fri Jul 25 08:19:54 2014 -0300

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 <[email protected]>
Reported-by: kbuild test robot <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/pci/solo6x10/solo6x10-disp.c     |    2 ++
 drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c |    9 +++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

---

http://git.linuxtv.org/media_tree.git?a=commitdiff;h=0a12830893e8b111189e9019848ead054b0f85b3

diff --git a/drivers/media/pci/solo6x10/solo6x10-disp.c 
b/drivers/media/pci/solo6x10/solo6x10-disp.c
index ed88ab4..5ea9cac 100644
--- a/drivers/media/pci/solo6x10/solo6x10-disp.c
+++ b/drivers/media/pci/solo6x10/solo6x10-disp.c
@@ -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]);
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c 
b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
index 2e07b49..28023f9 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
@@ -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;
        }

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to