su does not always propagate process exit status

From:

Norton Allen

Subject:

su does not always propagate process exit status

Date:

Wed, 25 Jul 2012 11:57:15 -0400

User-agent:

Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0

This *seems* like a bug, but without some confirmation, I can't really
be sure.
su --version
su (GNU coreutils) 8.4
RHEL6
I run sudo -s to get root access, then:
# su - nallen -c /bin/false && echo ERROR: false is true
# su - root -c /bin/false && echo ERROR: false is true
# su - mysql -c /bin/false && echo ERROR: false is true
# su - splunk -c /bin/false && echo ERROR: false is true
ERROR: false is true
# su - postgres -c /bin/false && echo ERROR: false is true
ERROR: false is true
I do not have a root login, so I cannot test whether this is related to
sudo or not.
I have looked and changed home directory permissions, checked shells,
eliminated .bash_profile and have not yet been able to come up with
anything that distinguishes the splunk and postgres accounts from the
others.
Can anyone else confirm or deny this behavior on a similar system?
Does anyone have suggestions as to what I should investigate?