[PATCH] staging: gdm724x: gdm_tty: corrected macro by adding brackets

antoniprzybylik antoni.przybylik at wp.pl
Tue Sep 1 10:43:11 UTC 2020


Such macros are dangerous. Consider following example:
	#define GDM_TTY_READY(gdm) (gdm && gdm->tty_dev && gdm->port.count)
	GDM_TTY_READY(a + b)
This macro will be expanded in such a way:
	(a + b && a + b->tty_dev && a + b->port.count)
And it will lead to errors.

Signed-off-by: Antoni Przybylik <antoni.przybylik at wp.pl>
---
 drivers/staging/gdm724x/gdm_tty.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/gdm724x/gdm_tty.c b/drivers/staging/gdm724x/gdm_tty.c
index 6e813693a766..eab5c75ee5b1 100644
--- a/drivers/staging/gdm724x/gdm_tty.c
+++ b/drivers/staging/gdm724x/gdm_tty.c
@@ -27,7 +27,7 @@
 
 #define MUX_TX_MAX_SIZE 2048
 
-#define GDM_TTY_READY(gdm) (gdm && gdm->tty_dev && gdm->port.count)
+#define GDM_TTY_READY(gdm) ((gdm) && (gdm)->tty_dev && (gdm)->port.count)
 
 static struct tty_driver *gdm_driver[TTY_MAX_COUNT];
 static struct gdm *gdm_table[TTY_MAX_COUNT][GDM_TTY_MINOR];
-- 
2.28.0



More information about the devel mailing list