From 1bf4ba1024df1c302debe8156a60a9dfafb149ee Mon Sep 17 00:00:00 2001 From: Patrick Kelsey Date: Wed, 8 Jul 2015 21:32:57 +0000 Subject: [PATCH] Merge upstream fix to eliminate build-breaking gcc warnings of no importance. commit: cab33b7a0acba7d2268a23c4383be6167106e549 Update ND_TTEST2 to fix issue 443 Add IS_NOT_NEGATIVE macro. Avoid these warnings: - comparison of unsigned expression >= 0 is always true [-Wtype-limits], - comparison is always true due to limited range of data type [-Wtype-limits]. Approved by: jmallett (mentor) --- netdissect.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/netdissect.h b/netdissect.h index d507f580aa1..e54c01acd98 100644 --- a/netdissect.h +++ b/netdissect.h @@ -270,8 +270,11 @@ struct netdissect_options { * * http://www.kb.cert.org/vuls/id/162289 */ + +#define IS_NOT_NEGATIVE(x) (((x) > 0) || ((x) == 0)) + #define ND_TTEST2(var, l) \ - ((l) >= 0 && \ + (IS_NOT_NEGATIVE(l) && \ ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \ (uintptr_t)&(var) <= (uintptr_t)ndo->ndo_snapend - (l)))