You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Henry Robinson (JIRA)" <ji...@apache.org> on 2012/05/02 01:16:54 UTC

[jira] [Commented] (ZOOKEEPER-1305) zookeeper.c:prepend_string func can dereference null ptr

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-1305?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13266237#comment-13266237 ] 

Henry Robinson commented on ZOOKEEPER-1305:
-------------------------------------------

Hey Mahadev - 

Seems like some people are hitting this bug in 3.3 ZOOKEEPER-1461 - did you mean not to commit this to 3.3? If not, I'll go ahead and commit this there. 

Thanks,

Henry
                
> zookeeper.c:prepend_string func can dereference null ptr
> --------------------------------------------------------
>
>                 Key: ZOOKEEPER-1305
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1305
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: c client
>    Affects Versions: 3.3.3
>         Environment: All
>            Reporter: Daniel Lescohier
>            Assignee: Daniel Lescohier
>              Labels: patch
>             Fix For: 3.4.1, 3.5.0
>
>         Attachments: ZOOKEEPER-1305.patch, ZOOKEEPER-1305.patch
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> All the callers of the function prepend_string make a call to prepend_string before checking that zhandle_t *zh is not null. At the top of prepend_string, zh is dereferenced without checking for a null ptr:
> static char* prepend_string(zhandle_t *zh, const char* client_path) {
>     char *ret_str;
>     if (zh->chroot == NULL)
>         return (char *) client_path;
> I propose fixing this by adding the check here in prepend_string:
> static char* prepend_string(zhandle_t *zh, const char* client_path) {
>     char *ret_str;
>     if (zh==NULL || zh->chroot == NULL)
>         return (char *) client_path;

--
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