X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-events.c;h=0fd97e4e2f1e95172f4c4cb2883d2dd627d18b95;hb=f811ee34f035e1cd7c205e4e774ebfff68fbabf8;hp=66223e9d340e89f8c39b8dc3b5b5bfbecbbf096a;hpb=1fa1cfec753071454ca0eeb1adb426d60a606dcc;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/notification-thread-events.c b/src/bin/lttng-sessiond/notification-thread-events.c index 66223e9d3..0fd97e4e2 100644 --- a/src/bin/lttng-sessiond/notification-thread-events.c +++ b/src/bin/lttng-sessiond/notification-thread-events.c @@ -1509,7 +1509,7 @@ int client_dispatch_message(struct notification_client *client, handshake_client = (struct lttng_notification_channel_command_handshake *) client->communication.inbound.buffer.data; - client->major = handshake_client->major; + client->major = handshake_client->major; client->minor = handshake_client->minor; if (!client->communication.inbound.creds_received) { ERR("[notification-thread] No credentials received from client"); @@ -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; }