From: Pádraig Brady Date: Thu, 2 Apr 2015 04:34:07 +0000 (+0100) Subject: df: fix use of uninitialized variable reported by valgrind X-Git-Tag: v8.24~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf180f8f5a53eb82054e85e26dcd1ea7c43dbdfe;p=thirdparty%2Fcoreutils.git df: fix use of uninitialized variable reported by valgrind Conditional jump or move depends on uninitialised value(s) at 0x40380C: get_field_values (df.c:840) by 0x403E16: get_dev (df.c:994) by 0x404D65: get_all_entries (df.c:1364) by 0x405926: main (df.c:1714) * src/df.c (get_dev): Initialize the fsu.fsu_bavail_top_bit_set member, when adding placeholder entries. (main): Avoid a "definitely lost" memory leak warning from valgrind, reported by Bernhard Voelker. --- diff --git a/src/df.c b/src/df.c index 76a3e373ba..38566811c6 100644 --- a/src/df.c +++ b/src/df.c @@ -925,6 +925,7 @@ get_dev (char const *disk, char const *mount_point, char const* file, return; fstype = "-"; + fsu.fsu_bavail_top_bit_set = false; fsu.fsu_blocksize = fsu.fsu_blocks = fsu.fsu_bfree = fsu.fsu_bavail = fsu.fsu_files = fsu.fsu_ffree = UINTMAX_MAX; } @@ -949,6 +950,7 @@ get_dev (char const *disk, char const *mount_point, char const* file, && (! dev_me->me_remote || ! me_remote)) { fstype = "-"; + fsu.fsu_bavail_top_bit_set = false; fsu.fsu_blocksize = fsu.fsu_blocks = fsu.fsu_bfree = fsu.fsu_bavail = fsu.fsu_files = fsu.fsu_ffree = UINTMAX_MAX; } @@ -1709,6 +1711,8 @@ main (int argc, char **argv) for (i = optind; i < argc; ++i) if (argv[i]) get_entry (argv[i], &stats[i - optind]); + + IF_LINT (free (stats)); } else get_all_entries ();