From: Sami Kerola Date: Sun, 5 Mar 2017 20:52:28 +0000 (+0000) Subject: include: fix compiler warning X-Git-Tag: v2.30-rc1~189 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fdf8e1f595b45337b7d12ab6ac9faf6040fe913c;p=thirdparty%2Futil-linux.git include: fix compiler warning ./include/optutils.h:12:18: warning: null pointer dereference [-Wnull-dereference] for (o = opts; o->name; o++) ~^~~~~~ In file included from libfdisk/src/dos.c:12:0: ./include/pt-mbr.h:25:47: warning: potential null pointer dereference [-Wnull-dereference] return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); ~^~~ Well these should be impossible, so add assert() to catch possible bugs. Signed-off-by: Sami Kerola --- diff --git a/include/optutils.h b/include/optutils.h index 99ad7e4b42..325cb88127 100644 --- a/include/optutils.h +++ b/include/optutils.h @@ -1,6 +1,8 @@ #ifndef UTIL_LINUX_OPTUTILS_H #define UTIL_LINUX_OPTUTILS_H +#include + #include "c.h" #include "nls.h" @@ -8,6 +10,7 @@ static inline const char *option_to_longopt(int c, const struct option *opts) { const struct option *o; + assert(!(opts == NULL)); for (o = opts; o->name; o++) if (o->val == c) return o->name; diff --git a/include/pt-mbr.h b/include/pt-mbr.h index 90be95b1fa..177cc74748 100644 --- a/include/pt-mbr.h +++ b/include/pt-mbr.h @@ -1,6 +1,8 @@ #ifndef UTIL_LINUX_PT_MBR_H #define UTIL_LINUX_PT_MBR_H +#include + struct dos_partition { unsigned char boot_ind; /* 0x80 - active */ unsigned char bh, bs, bc; /* begin CHS */ @@ -27,6 +29,7 @@ static inline unsigned int __dos_assemble_4le(const unsigned char *p) static inline void __dos_store_4le(unsigned char *p, unsigned int val) { + assert(!(p == NULL)); p[0] = (val & 0xff); p[1] = ((val >> 8) & 0xff); p[2] = ((val >> 16) & 0xff);