aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.1/0174-bcm2835-camera-check-for-scene-not-being-found.patch
blob: 70b2c72056997b12a48fafc2f1cf18e71a48f077 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From e9b089f99bf763bf803f82201cbb35251b6d8945 Mon Sep 17 00:00:00 2001
From: Colin Ian King <colin.king@canonical.com>
Date: Wed, 2 Sep 2015 07:33:39 -0400
Subject: [PATCH 174/222] bcm2835: camera: check for scene not being found

static analysis by cppcheck detected some potential NULL pointer
dereference issues:

[drivers/media/platform/bcm2835/controls.c:854]: (error) Possible null
  pointer dereference: scene
  (and lines 858, 859 too)

it is possible that scene is not found because of an invalue ctrl->val
and is therefore NULL and hence causing a null pointer dereference.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/media/platform/bcm2835/controls.c | 2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/media/platform/bcm2835/controls.c
+++ b/drivers/media/platform/bcm2835/controls.c
@@ -845,6 +845,8 @@ static int ctrl_set_scene_mode(struct bm
 				break;
 			}
 		}
+		if (!scene)
+			return -EINVAL;
 		if (i >= ARRAY_SIZE(scene_configs))
 			return -EINVAL;