src/swapon.c: initiate p to NULL
authorSun Ke <sunke32@huawei.com>
Mon, 1 Feb 2021 07:57:05 +0000 (15:57 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 7 Feb 2021 14:44:23 +0000 (22:44 +0800)
when run make, show:
swapon.c:135:3: warning: 'p' may be used uninitialized in this function
[-Wmaybe-uninitialized]
   memcpy(p, buf, BUF_SIZE);
      ^~~~~~~~~~~~~~~~~~~~~~~~

This's a fake uninitialized warning.
gcc think the 'p' can be used uninitialized at here when verb is
TEST_MWRITE_BEFORE_AND_MWRITE_AFTER:
    case TEST_MWRITE_BEFORE_AND_MWRITE_AFTER:
memcpy(p, buf, BUF_SIZE);
break;

But, if verb is TEST_MWRITE_BEFORE_AND_MWRITE_AFTER, the 'p' will be
initialized by:
    switch (verb) {
    case TEST_MWRITE_BEFORE_AND_MWRITE_AFTER:
    case TEST_MWRITE_BEFORE:
p = mmap(NULL, BUF_SIZE, PROT_WRITE | PROT_READ, MAP_SHARED,

Silent the warning by initializing p to NULL anyway.

Signed-off-by: Sun Ke <sunke32@huawei.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
src/swapon.c

index afaed405ed985fb7afb3a3a16e7dfc78ea591875..fe8949a3dd32381052cfb2427efd059bc92626bf 100644 (file)
@@ -41,7 +41,7 @@ int main(int argc, char **argv)
                .sa_handler     = handle_signal,
        };
        enum verbs verb = TEST_SWAPON;
-       void *p;
+       void *p = NULL;
        ssize_t sz;
        int fd = -1;
        int ret, c;