diff options
Diffstat (limited to 'rpc/rpc-lib/src/rpcsvc.c')
| -rw-r--r-- | rpc/rpc-lib/src/rpcsvc.c | 19 | 
1 files changed, 9 insertions, 10 deletions
diff --git a/rpc/rpc-lib/src/rpcsvc.c b/rpc/rpc-lib/src/rpcsvc.c index 5da6705a681..5f6f6b31053 100644 --- a/rpc/rpc-lib/src/rpcsvc.c +++ b/rpc/rpc-lib/src/rpcsvc.c @@ -1860,12 +1860,12 @@ rpcsvc_create_listeners (rpcsvc_t *svc, dict_t *options, char *name)          int32_t  ret            = -1, count = 0;          data_t  *data           = NULL;          char    *str            = NULL, *ptr = NULL, *transport_name = NULL; -        char    *transport_type = NULL, *saveptr = NULL; +        char    *transport_type = NULL, *saveptr = NULL, *tmp = NULL;          if ((svc == NULL) || (options == NULL) || (name == NULL)) {                  goto out;          } -          +          data = dict_get (options, "transport-type");          if (data == NULL) {                  gf_log (GF_RPCSVC, GF_LOG_DEBUG, @@ -1896,22 +1896,23 @@ rpcsvc_create_listeners (rpcsvc_t *svc, dict_t *options, char *name)          ptr = strtok_r (str, ",", &saveptr);          while (ptr != NULL) { -                ptr = gf_strdup (ptr); -                if (ptr == NULL) { +                tmp = gf_strdup (ptr); +                if (tmp == NULL) {                          gf_log (GF_RPCSVC, GF_LOG_ERROR, "out of memory");                          goto out;                  } -                ret = asprintf (&transport_name, "%s.%s", ptr, name); +                ret = asprintf (&transport_name, "%s.%s", tmp, name);                  if (ret == -1) {                          goto out;                  } -                ret = dict_set_dynstr (options, "transport-type", ptr); +                ret = dict_set_dynstr (options, "transport-type", tmp);                  if (ret == -1) {                          goto out;                  } +                tmp = NULL;                  ptr = strtok_r (NULL, ",", &saveptr);                  ret = rpcsvc_create_listener (svc, options, transport_name); @@ -1922,8 +1923,6 @@ rpcsvc_create_listeners (rpcsvc_t *svc, dict_t *options, char *name)                  count++;          } -        ptr = NULL; -          ret = dict_set_dynstr (options, "transport-type", transport_type);          if (ret == -1) {                  goto out; @@ -1940,8 +1939,8 @@ out:                  GF_FREE (transport_type);          } -        if (ptr != NULL) { -                GF_FREE (ptr); +        if (tmp != NULL) { +                GF_FREE (tmp);          }          return count;  | 
