Clean-up: uri_parse_str_urls: assert on invalid uri_parse() return values
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 26 Feb 2021 18:58:16 +0000 (13:58 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 4 Mar 2021 16:59:19 +0000 (11:59 -0500)
uri_parse() can only ever return values [-1, 2] and callers only handle
those values. This causes Coverity to report possible leaks and other
errors when analyzing callers.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: Ida29691420228f0425cc908641bcd85208d66236

src/common/uri.c

index 0638aebd90026ea9b7378106927ec5d9796af704..0f89468c54f3c0f10aa1610df592a6d430a4bd27 100644 (file)
@@ -577,6 +577,9 @@ ssize_t uri_parse_str_urls(const char *ctrl_url, const char *data_url,
                        goto parse_error;
                }
 
+               /* 1 and 2 are the only expected values on success. */
+               assert(size_ctrl == 1 || size_ctrl == 2);
+
                /* At this point, we know there is at least one URI in the array */
                set_default_uri_attr(&ctrl_uris[0], LTTNG_STREAM_CONTROL);
 
@@ -614,6 +617,9 @@ ssize_t uri_parse_str_urls(const char *ctrl_url, const char *data_url,
                } else if (size_data == 2) {
                        ERR("Data URL can not be set with the net[4|6]:// protocol");
                        goto error;
+               } else {
+                       /* 1 and 2 are the only expected values on success. */
+                       assert(size_data == 1);
                }
 
                set_default_uri_attr(&data_uris[0], LTTNG_STREAM_DATA);
This page took 0.03481 seconds and 4 git commands to generate.