Fix: illegal memory access in consumer_set_network_uri
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 17 May 2016 01:42:48 +0000 (21:42 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 19 May 2016 05:38:34 +0000 (01:38 -0400)
Found by Coverity:
CID 1243029 (#1 of 1): Buffer not null terminated
(BUFFER_SIZE_WARNING)31. buffer_size_warning: Calling strncpy with a
maximum size argument of 4096 bytes on destination array obj->subdir of
size 4096 bytes might leave the destination string unterminated.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/consumer.c

index bd019dd31da15f6953b873899f12b4dd07770c9a..a8c5fb871d9521ba7853ae1019e0ce9e9571c4a7 100644 (file)
@@ -715,7 +715,10 @@ int consumer_set_network_uri(struct consumer_output *obj,
                        goto error;
                }
 
-               strncpy(obj->subdir, tmp_path, sizeof(obj->subdir));
+               if (lttng_strncpy(obj->subdir, tmp_path, sizeof(obj->subdir))) {
+                       ret = -LTTNG_ERR_INVALID;
+                       goto error;
+               }
                DBG3("Consumer set network uri subdir path %s", tmp_path);
        }
 
This page took 0.026902 seconds and 4 git commands to generate.