You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Yubing Yin (Updated) (JIRA)" <ji...@apache.org> on 2012/04/01 10:24:22 UTC

[jira] [Updated] (ZOOKEEPER-1439) c sdk: core in log_env for lack of checking the output argument *pwp* of getpwuid_r

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-1439?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yubing Yin updated ZOOKEEPER-1439:
----------------------------------

    Attachment: ZOOKEEPER-1439.patch

check pwp to ensure passwd entry is found, after getpwuid_r, fix core in log_env.
                
> 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.4.3, 3.3.5
>         Environment: linux
>            Reporter: Yubing Yin
>              Labels: zookeeper
>         Attachments: ZOOKEEPER-1439.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> 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