summaryrefslogtreecommitdiffstats
path: root/samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch
blob: b7d0fccffdf6a0563be3174b560ea59479ab1964 (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
32
33
From: Sergei Zviagintsev <sergei@s15v.net>
Date: Wed, 10 Jun 2015 00:00:07 +0300
Subject: [PATCH] samples/kdbus: fix operator precedence issue in
 KDBUS_ITEM_NEXT macro

`item' argument in KDBUS_ITEM_NEXT macro is not enclosed into
parentheses when the cast operator is applied, which leads to improper
type conversion if `item' is supplied as a complex expression, e.g.

    KDBUS_ITEM_NEXT(condition ? a : b)

Use parentheses properly to guarantee right precedence.

Signed-off-by: Sergei Zviagintsev <sergei@s15v.net>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 samples/kdbus/kdbus-api.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/samples/kdbus/kdbus-api.h b/samples/kdbus/kdbus-api.h
index 2de4d6a8c51e..fab873b89d97 100644
--- a/samples/kdbus/kdbus-api.h
+++ b/samples/kdbus/kdbus-api.h
@@ -8,7 +8,7 @@
 #define KDBUS_ITEM_HEADER_SIZE offsetof(struct kdbus_item, data)
 #define KDBUS_ITEM_SIZE(s) KDBUS_ALIGN8((s) + KDBUS_ITEM_HEADER_SIZE)
 #define KDBUS_ITEM_NEXT(item) \
-	(typeof(item))(((uint8_t *)item) + KDBUS_ALIGN8((item)->size))
+	(typeof(item))((uint8_t *)(item) + KDBUS_ALIGN8((item)->size))
 #define KDBUS_FOREACH(iter, first, _size)				\
 	for (iter = (first);						\
 	     ((uint8_t *)(iter) < (uint8_t *)(first) + (_size)) &&	\