src/id.c:249:29: error: potential null pointer dereference \
[-Werror=null-dereference]
pw_name = xstrdup (pwd->pw_name);
~~~^~~~~~~~~
src/whoami.c:89:11: error: potential null pointer dereference \
[-Werror=null-dereference]
puts (pw->pw_name);
~~^~~~~~~~~
* src/id.c (main): Explicitly exit with EXIT_FAILURE after an eror to
help gcc-6 to detect that the dereferenced pointer is valid.
* src/whoami.c (main): Likewise.
}
}
if (pwd == NULL)
- error (EXIT_FAILURE, 0, _("%s: no such user"), quote (spec));
+ {
+ error (0, 0, _("%s: no such user"), quote (spec));
+ exit (EXIT_FAILURE);
+ }
pw_name = xstrdup (pwd->pw_name);
ruid = euid = pwd->pw_uid;
rgid = egid = pwd->pw_gid;
uid = geteuid ();
pw = (uid == NO_UID && errno ? NULL : getpwuid (uid));
if (!pw)
- error (EXIT_FAILURE, errno, _("cannot find name for user ID %lu"),
- (unsigned long int) uid);
+ {
+ error (0, errno, _("cannot find name for user ID %lu"),
+ (unsigned long int) uid);
+ exit (EXIT_FAILURE);
+ }
puts (pw->pw_name);
return EXIT_SUCCESS;
}