From: Mathieu Desnoyers Date: Tue, 17 May 2016 01:42:51 +0000 (-0400) Subject: Fix: illegal memory access in list_lttng_channels X-Git-Tag: v2.8.0~72 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=cae0925c514e1c5c8a9aeff773e50bc21d6a6ef3;p=lttng-tools.git Fix: illegal memory access in list_lttng_channels Found by Coverity: CID 1243018 (#1 of 1): Buffer not null terminated (BUFFER_SIZE_WARNING)11. buffer_size_warning: Calling strncpy with a maximum size argument of 256 bytes on destination array (channels + i).name of size 256 bytes might leave the destination string unterminated. Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index 3c59d092c..21422a57d 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -277,7 +277,10 @@ static void list_lttng_channels(enum lttng_domain_type domain, &iter.iter, uchan, node.node) { uint64_t discarded_events = 0, lost_packets = 0; - strncpy(channels[i].name, uchan->name, LTTNG_SYMBOL_NAME_LEN); + if (lttng_strncpy(channels[i].name, uchan->name, + LTTNG_SYMBOL_NAME_LEN)) { + break; + } channels[i].attr.overwrite = uchan->attr.overwrite; channels[i].attr.subbuf_size = uchan->attr.subbuf_size; channels[i].attr.num_subbuf = uchan->attr.num_subbuf;