shadow/src
Jaroslav Jindrak 05388f748d passwd: handle NULL pw_passwd when printing password status
When the -S and -a options are used for passwd to list the status
of all passwords, there is a chance the pw_passwd field of struct
passwd will be NULL. This can be due to 'files compat' being set
for passwd in /etc/nsswitch.conf and the usage of some features
not available in the 'files' mode (e.g. a plus sign at the start
of a line).

Example:

germ161:~ # grep passwd /etc/nsswitch.conf
passwd: files compat
germ161:~ # rpm -qa shadow
shadow-4.2.1-34.20.x86_64
germ161:~ # grep passwd /etc/nsswitch.conf
passwd: files compat
germ161:~ # grep + /etc/passwd
+@nisgroup
germ161:~ # passwd -S -a > /dev/null
Segmentation fault (core dumped)

With this commit:

germ161:~ # passwd -S -a > /dev/null
passwd: malformed password data obtained for user +@nisgroup
2021-08-03 20:03:46 +02:00
..
.gitignore Create a new libsubid 2020-06-07 12:11:58 -05:00
.indent.pro [svn-upgrade] Integrating new upstream version, shadow (4.0.8) 2007-10-07 11:46:07 +00:00
chage.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
check_subid_range.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
chfn.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
chgpasswd.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
chpasswd.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
chsh.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
expiry.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
faillog.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
free_subid_range.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
get_subid_owners.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
gpasswd.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
groupadd.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
groupdel.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
groupmems.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
groupmod.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
groups.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
grpck.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
grpconv.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
grpunconv.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
id.c * src/newgrp.c: Limit the scope of variable pid. 2010-03-23 11:26:34 +00:00
lastlog.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
list_subid_ranges.c nss/libsubid: simplify the ranges variable for list_owner_ranges 2021-05-22 17:59:57 -05:00
login_nopam.c * src/newgrp.c: Limit the scope of variable pid. 2010-03-23 11:26:34 +00:00
login.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
logoutd.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
Makefile.am Fix out of tree builds with respect to libsubid includes 2021-07-23 17:51:13 -05:00
new_subid_range.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
newgidmap.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
newgrp.c Fix covscan RESOURCE_LEAK 2021-06-24 09:18:35 +02:00
newuidmap.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
newusers.c usermod, newusers, prefix: enforce absolute paths for homedir 2021-06-01 22:12:24 -05:00
nologin.c Adding logging of SSH_ORIGINAL_COMMAND to nologin. 2020-01-11 14:46:52 -06:00
passwd.c passwd: handle NULL pw_passwd when printing password status 2021-08-03 20:03:46 +02:00
pwck.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
pwconv.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
pwunconv.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
su.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
suauth.c spelling: unrecognized 2017-10-22 21:30:30 +00:00
sulogin.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
useradd.c useradd: create /etc/default saving defaults. 2021-07-25 16:19:56 -05:00
userdel.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00
usermod.c usermod.c: fix covscan RESOURCE_LEAK 2021-06-11 11:50:49 +02:00
vipw.c libsubid: don't print error messages on stderr by default 2021-05-15 12:38:55 -05:00