]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
CID:1214200 Dereference null return value
authorMichael Jerris <mike@jerris.com>
Thu, 15 May 2014 13:47:24 +0000 (13:47 +0000)
committerMichael Jerris <mike@jerris.com>
Thu, 15 May 2014 13:47:24 +0000 (13:47 +0000)
src/mod/applications/mod_httapi/mod_httapi.c

index 3c549c60e02b5e6d716b5c24221d86cceb0f27de..dc48c34b4466f5ce79ad8d95f3ef8a082aa9307a 100644 (file)
@@ -1499,22 +1499,32 @@ static switch_status_t httapi_sync(client_t *client)
                char *r, *q, *p = strstr(dynamic_url, "://");
                use_url++;
 
-               dup_creds = strdup(p+3);
+               if (p) {
+                       dup_creds = strdup(p+3);
 
-               if ((q = strchr(dup_creds, '@'))) *q = '\0';
+                       if ((q = strchr(dup_creds, '@'))) *q = '\0';
 
-               q = strdup(url);
-               r = strchr(q, '@');
-               r++;
+                       q = strdup(url);
 
-               if ((p = strstr(q, "://"))) {
-                       *(p+3) = '\0';
-               }
+                       if (q) {
+                               r = strchr(q, '@');
+
+                               if (r) {
+                                       r++;
+
+                                       if ((p = strstr(q, "://"))) {
+                                               *(p+3) = '\0';
+                                       }
                
-               p = switch_mprintf("%s%s", q, r);
-               free(dynamic_url);
-               dynamic_url = p;
-               free(q);
+                                       p = switch_mprintf("%s%s", q, r);
+                                       if (p) {
+                                               free(dynamic_url);
+                                               dynamic_url = p;
+                                       }
+                               }
+                               free(q);
+                       }
+               }
        }