From: Jérémie Galarneau Date: Mon, 20 Aug 2018 20:45:09 +0000 (-0400) Subject: Fix: possible NULL dereference in uri_parse_str_urls() X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=commitdiff_plain;h=254bb8042a859c26e7646e38d9941884476c547d Fix: possible NULL dereference in uri_parse_str_urls() The data_url parsing of uri_parse_str_urls assumes that a ctrl URL was provided to check that both URLs point to the same destination. A check for 'ctrl_uris != NULL' is added, but this function needs to be refactored at some point at it is not clear what its role is (i.e. it's probably doing too much). Reported-by: Coverity Scan (1378214 Explicit null dereferenced) Signed-off-by: Jérémie Galarneau --- diff --git a/src/common/uri.c b/src/common/uri.c index 380e75dd3..64437272b 100644 --- a/src/common/uri.c +++ b/src/common/uri.c @@ -644,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; + } } }