Fix: relay_recv_metadata does not check for partial write
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 44ea6cdeee8cd06baf8e0127032de7fc0b4aed03..cf6d8ba2397178be15ac64da636bd7c9caec6b0c 100644 (file)
@@ -1808,7 +1808,7 @@ static int relay_recv_metadata(const struct lttcomm_relayd_hdr *recv_hdr,
 
        size_ret = write_padding_to_file(metadata_stream->stream_fd->fd,
                        metadata_payload_header.padding_size);
 
        size_ret = write_padding_to_file(metadata_stream->stream_fd->fd,
                        metadata_payload_header.padding_size);
-       if (size_ret < 0) {
+       if (size_ret < (int64_t) metadata_payload_header.padding_size) {
                ret = -1;
                goto end_put;
        }
                ret = -1;
                goto end_put;
        }
@@ -3068,8 +3068,7 @@ static int relay_process_control_receive_header(struct relay_connection *conn)
                        conn->sock->fd, header.cmd, header.cmd_version,
                        header.data_size);
 
                        conn->sock->fd, header.cmd, header.cmd_version,
                        header.data_size);
 
-       /* FIXME temporary arbitrary limit on data size. */
-       if (header.data_size > (128 * 1024 * 1024)) {
+       if (header.data_size > DEFAULT_NETWORK_RELAYD_CTRL_MAX_PAYLOAD_SIZE) {
                ERR("Command header indicates a payload (%" PRIu64 " bytes) that exceeds the maximal payload size allowed on a control connection.",
                                header.data_size);
                ret = -1;
                ERR("Command header indicates a payload (%" PRIu64 " bytes) that exceeds the maximal payload size allowed on a control connection.",
                                header.data_size);
                ret = -1;
This page took 0.024491 seconds and 5 git commands to generate.