A quick implementation of MIN() didn't take into account operator
precedence as shown in the following example:

 #include <stdio.h>
 #define MYMIN(_a, _b) (_a) > (_b) ? (_b) : (_a)
 int main() {
     if (MYMIN(512, 256) < 14) {
         printf("buggy MYMIN\n");
     }
     return 0;
 }

Signed-off-by: Nithin Raju <nit...@vmware.com>
Acked-by: Russell Bryant <russ...@ovn.org>
---
 datapath-windows/ovsext/Util.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/datapath-windows/ovsext/Util.h b/datapath-windows/ovsext/Util.h
index 0bbc52b..e5ba72b 100644
--- a/datapath-windows/ovsext/Util.h
+++ b/datapath-windows/ovsext/Util.h
@@ -66,7 +66,7 @@ VOID OvsFreeAlignedMemory(VOID *ptr);
 VOID OvsAppendList(PLIST_ENTRY dst, PLIST_ENTRY src);
 
 
-#define MIN(_a, _b) (_a) > (_b) ? (_b) : (_a)
+#define MIN(_a, _b) ((_a) > (_b) ? (_b) : (_a))
 #define ARRAY_SIZE(_x)  ((sizeof(_x))/sizeof (_x)[0])
 #define OVS_SWITCH_PORT_ID_INVALID  (NDIS_SWITCH_PORT_ID)(-1)
 
-- 
1.8.5.6

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to