aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorAndrey Utkin <andrey.krieger.utkin@gmail.com>2014-07-17 12:27:16 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-07-21 18:31:58 -0400
commit7fcec4c14b15684b0853c9ebc4090c19adc9a1f6 (patch)
treeb2534340758b580d9cd27353eefb310f3ce4051b /drivers/staging
parent632f2b0db9dabbaa5835b50a75a3a1639d6f6f38 (diff)
[media] staging/media/davinci_vpfe/dm365_ipipeif.c: fix negativity check
[linux-3.16-rc5/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c:210]: (style) Checking if unsigned variable 'val' is less than zero. val = get_oneshot_mode(ipipeif->input); if (val < 0) { pr_err("ipipeif: links setup required"); return -EINVAL; } but static int get_oneshot_mode(enum ipipeif_input_entity input) Introduced temporary variable for negativity check. "val" is afterwards used in a lot of bitwise operations, so changing its type to signed is not safe, according to CERT C Secure Coding Standards chapter INT13-C: "Use bitwise operators only on unsigned operands" https://www.securecoding.cert.org/confluence/display/seccode/INT13-C.+Use+bitwise+operators+only+on+unsigned+operands Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80521 Reported-by: David Binderman <dcb314@hotmail.com> Signed-off-by: Andrey Utkin <andrey.krieger.utkin@gmail.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/media/davinci_vpfe/dm365_ipipeif.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c
index 59540cd4bb98..6d4893b44c1f 100644
--- a/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c
+++ b/drivers/staging/media/davinci_vpfe/dm365_ipipeif.c
@@ -196,6 +196,7 @@ static int ipipeif_hw_setup(struct v4l2_subdev *sd)
196 int data_shift; 196 int data_shift;
197 int pack_mode; 197 int pack_mode;
198 int source1; 198 int source1;
199 int tmp;
199 200
200 ipipeif_base_addr = ipipeif->ipipeif_base_addr; 201 ipipeif_base_addr = ipipeif->ipipeif_base_addr;
201 202
@@ -206,8 +207,8 @@ static int ipipeif_hw_setup(struct v4l2_subdev *sd)
206 outformat = &ipipeif->formats[IPIPEIF_PAD_SOURCE]; 207 outformat = &ipipeif->formats[IPIPEIF_PAD_SOURCE];
207 208
208 /* Combine all the fields to make CFG1 register of IPIPEIF */ 209 /* Combine all the fields to make CFG1 register of IPIPEIF */
209 val = get_oneshot_mode(ipipeif->input); 210 tmp = val = get_oneshot_mode(ipipeif->input);
210 if (val < 0) { 211 if (tmp < 0) {
211 pr_err("ipipeif: links setup required"); 212 pr_err("ipipeif: links setup required");
212 return -EINVAL; 213 return -EINVAL;
213 } 214 }