From: Jérémie Galarneau Date: Sat, 27 May 2017 10:17:48 +0000 (-0400) Subject: Fix: inbound buffer may be set too short on partial command reception X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=commitdiff_plain;h=f811ee34f035e1cd7c205e4e774ebfff68fbabf8 Fix: inbound buffer may be set too short on partial command reception Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/notification-thread-events.c b/src/bin/lttng-sessiond/notification-thread-events.c index 0bb75b6d8..0fd97e4e2 100644 --- a/src/bin/lttng-sessiond/notification-thread-events.c +++ b/src/bin/lttng-sessiond/notification-thread-events.c @@ -1622,9 +1622,14 @@ int handle_notification_thread_client_in( } offset = client->communication.inbound.buffer.size; + /* + * The buffer's size starts out at the size of the command header. + * Once the command is determined, the "bytes_to_receive" are bumped + * to fit the remainder of the message being received. + */ ret = lttng_dynamic_buffer_set_size( &client->communication.inbound.buffer, - client->communication.inbound.bytes_to_receive); + client->communication.inbound.bytes_to_receive + offset); if (ret) { goto end; }