]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
addr_parsing: use strtok_r to be safe
authorJosh Durgin <josh.durgin@dreamhost.com>
Fri, 22 Apr 2011 20:25:08 +0000 (13:25 -0700)
committerJosh Durgin <josh.durgin@dreamhost.com>
Fri, 22 Apr 2011 20:34:12 +0000 (13:34 -0700)
Signed-off-by: Josh Durgin <josh.durgin@dreamhost.com>
src/include/addr_parsing.c

index 4aa0e2692bacbde87180db15824bbd4c4a80bf11..c844b3caa2744454183248e83208bace74442f74 100644 (file)
@@ -42,7 +42,7 @@ int safe_cat(char **pstr, int *plen, int pos, const char *str2)
 char *resolve_addrs(const char *orig_str)
 {
   char *new_str;
-  char *tok, *p, *port_str;
+  char *tok, *p, *port_str, *saveptr;
   int len, pos;
   char buf[strlen(orig_str) + 1];
   strcpy(buf, orig_str);
@@ -53,7 +53,7 @@ char *resolve_addrs(const char *orig_str)
   p = new_str;
   pos = 0;
 
-  tok = strtok(buf, ",");
+  tok = strtok_r(buf, ",", &saveptr);
 
   while (tok) {
     struct addrinfo hint;
@@ -129,7 +129,7 @@ char *resolve_addrs(const char *orig_str)
     }
     freeaddrinfo(ores);
 
-    tok = strtok(NULL, ",");
+    tok = strtok_r(NULL, ",", &saveptr);
     if (tok)
       pos = safe_cat(&new_str, &len, pos, ",");