Fix: possible NULL dereference in uri_parse_str_urls()
[lttng-tools.git] / src / common / uri.c
index 58ffcbcd66de518c8fba4ee4c470609af5ec8491..64437272bf3e0a8b51bf76a09e554546f1c61539 100644 (file)
@@ -587,6 +587,10 @@ ssize_t uri_parse_str_urls(const char *ctrl_url, const char *data_url,
                if (ret < 0) {
                        PERROR("snprintf file url");
                        goto parse_error;
+               } else if (ret >= sizeof(url)) {
+                       PERROR("snprintf file url is too long");
+                       goto parse_error;
+
                }
                ctrl_url = url;
        }
@@ -640,10 +644,12 @@ ssize_t uri_parse_str_urls(const char *ctrl_url, const char *data_url,
 
                set_default_uri_attr(&data_uris[0], LTTNG_STREAM_DATA);
 
-               ret = compare_destination(&ctrl_uris[0], &data_uris[0]);
-               if (ret != 0) {
-                       ERR("Control and data destination mismatch");
-                       goto error;
+               if (ctrl_uris) {
+                       ret = compare_destination(&ctrl_uris[0], &data_uris[0]);
+                       if (ret != 0) {
+                               ERR("Control and data destination mismatch");
+                               goto error;
+                       }
                }
        }
 
This page took 0.026452 seconds and 5 git commands to generate.