c sdk: core in log_env for lack of checking the output argument *pwp* of
getpwuid_r
-----------------------------------------------------------------------------------
Key: ZOOKEEPER-1439
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1439
Project: ZooKeeper
Issue Type: Bug
Components: c client
Affects Versions: 3.3.5, 3.4.3
Environment: linux
Reporter: Yubing Yin
Man of getpwuid_r "return a pointer to a passwd structure, or NULL if the
matching entry is not found or an error occurs",
"The getpwnam_r() and getpwuid_r() functions return zero on success.", it means
entry may not be found when getpwuid_r success.
In log_env of zookeeper.c in c sdk:
{{if (!getpwuid_r(uid, &pw, buf, sizeof(buf), &pwp)) {}}
{{LOG_INFO(("Client environment:user.home=%s", pw.pw_dir));}}
{{}}}
pwp is not checked to ensure entry is found, pw.pw_dir is not initialized in
this case, core happens in LOG_INFO.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira