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-Tag: v2.10.0-rc2~41 X-Git-Url: http://git.liburcu.org/?a=commitdiff_plain;h=b480a4059c412de80ada5ca5a0a6c75c32f1f639;p=lttng-tools.git 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; }