summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSami Kerola2017-03-05 21:52:28 +0100
committerKarel Zak2017-03-13 14:48:14 +0100
commitfdf8e1f595b45337b7d12ab6ac9faf6040fe913c (patch)
treee9e4bc63a5e91a09c76c8fa1718fea9aaaf5e509 /include
parentlibblkid: ensure uninitialized variable is not used [clang] (diff)
downloadkernel-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.h3
-rw-r--r--include/pt-mbr.h3
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);