Author: phunt Date: Wed Jul 1 16:38:06 2009 New Revision: 790255 URL: http://svn.apache.org/viewvc?rev=790255&view=rev Log: ZOOKEEPER-455. zookeeper c client crashes with chroot specified in the string.
Modified: hadoop/zookeeper/trunk/CHANGES.txt hadoop/zookeeper/trunk/src/c/src/zookeeper.c Modified: hadoop/zookeeper/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=790255&r1=790254&r2=790255&view=diff ============================================================================== --- hadoop/zookeeper/trunk/CHANGES.txt (original) +++ hadoop/zookeeper/trunk/CHANGES.txt Wed Jul 1 16:38:06 2009 @@ -166,7 +166,10 @@ ZOOKEEPER-453. Worker is not removed in QuorumCnxManager upon crash. (flavio via mahadev) - ZOOKEEPER-454. allow compilation with jdk1.5 + ZOOKEEPER-454. allow compilation with jdk1.5 (phunt) + + ZOOKEEPER-455. zookeeper c client crashes with chroot specified in the string. + (phunt via mahadev) IMPROVEMENTS: ZOOKEEPER-308. improve the atomic broadcast performance 3x. Modified: hadoop/zookeeper/trunk/src/c/src/zookeeper.c URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/c/src/zookeeper.c?rev=790255&r1=790254&r2=790255&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/c/src/zookeeper.c (original) +++ hadoop/zookeeper/trunk/src/c/src/zookeeper.c Wed Jul 1 16:38:06 2009 @@ -645,13 +645,14 @@ zh->hostname = (char *) malloc(index_chroot - host + 1); zh->hostname = strncpy(zh->hostname, host, (index_chroot - host)); //strncpy does not null terminate - *(zh->hostname + (index_chroot - host) +1) = '\0'; + *(zh->hostname + (index_chroot - host)) = '\0'; } else { zh->chroot = NULL; zh->hostname = strdup(host); } if (zh->chroot && !isValidPath(zh->chroot, 0)) { + errno = EINVAL; goto abort; } if (zh->hostname == 0) {