]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix dangeours usage of strtok in RGWAccessControlPolicy_SWIFT. 7375/head
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Wed, 27 Jan 2016 13:47:19 +0000 (14:47 +0100)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Wed, 27 Jan 2016 13:47:19 +0000 (14:47 +0100)
Fixes: #14526
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/rgw/rgw_acl_swift.cc

index 1f8f1ab4a07cfc426317d65caced66444188bba9..a9729e33cc585a9aaf88fa30afd9f8ca19c6d2a7 100644 (file)
@@ -21,16 +21,18 @@ using namespace std;
 static int parse_list(string& uid_list, list<string>& uids)
 {
   char *s = strdup(uid_list.c_str());
-  if (!s)
+  if (!s) {
     return -ENOMEM;
+  }
 
-  const char *p = strtok(s, " ,");
+  char *tokctx;
+  const char *p = strtok_r(s, " ,", &tokctx);
   while (p) {
     if (*p) {
       string acl = p;
       uids.push_back(acl);
     }
-    p = strtok(NULL, " ,");
+    p = strtok_r(NULL, " ,", &tokctx);
   }
   free(s);
   return 0;