If both `if (snprintf(...` of the `get_ns_inum()` function fail, the
function will not uninitialize the `ns_inum` output parameter and still
return 0. Leading to the argument `ns1` of debug_printf() being used
uninitialized.
Reported-by: scan-build.
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I090e57d5c896fbac7381989e887ae7281697b4de
static int get_ns_inum(const char *ns, ino_t *ns_inum)
{
- int ret = 0;
+ int ret = -1;
struct stat sb;
char proc_ns_path[LTTNG_PROC_NS_PATH_MAX];
"/proc/thread-self/ns/%s", ns) >= 0) {
if (stat(proc_ns_path, &sb) == 0) {
*ns_inum = sb.st_ino;
- } else {
- ret = -1;
+ ret = 0;
}
goto end;
}
"/proc/self/task/%d/%s/net", lttng_gettid(), ns) >= 0) {
if (stat(proc_ns_path, &sb) == 0) {
*ns_inum = sb.st_ino;
- } else {
- ret = -1;
+ ret = 0;
}
goto end;
}