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


Reply via email to