diff options
author | Sami Kerola | 2017-03-05 21:52:28 +0100 |
---|---|---|
committer | Karel Zak | 2017-03-13 14:48:14 +0100 |
commit | fdf8e1f595b45337b7d12ab6ac9faf6040fe913c (patch) | |
tree | e9e4bc63a5e91a09c76c8fa1718fea9aaaf5e509 /include | |
parent | libblkid: ensure uninitialized variable is not used [clang] (diff) | |
download | kernel-qcow2-util-linux-fdf8e1f595b45337b7d12ab6ac9faf6040fe913c.tar.gz kernel-qcow2-util-linux-fdf8e1f595b45337b7d12ab6ac9faf6040fe913c.tar.xz kernel-qcow2-util-linux-fdf8e1f595b45337b7d12ab6ac9faf6040fe913c.zip |
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 <kerolasa@iki.fi>
Diffstat (limited to 'include')
-rw-r--r-- | include/optutils.h | 3 | ||||
-rw-r--r-- | include/pt-mbr.h | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/optutils.h b/include/optutils.h index 99ad7e4b4..325cb8812 100644 --- a/include/optutils.h +++ b/include/optutils.h @@ -1,6 +1,8 @@ #ifndef UTIL_LINUX_OPTUTILS_H #define UTIL_LINUX_OPTUTILS_H +#include <assert.h> + #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 90be95b1f..177cc7474 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 <assert.h> + 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); |