Fix uninitialized target_len bug in chunk download response
When responding to a full chunk download request (full == 1), the code was writing uninitialized target_len to the response message instead of the actual data length. This caused chunk-to-chunk downloads to fail, preventing proper replication and blocking coverage of download-related code paths.
This commit is contained in:
+2
-1
@@ -711,7 +711,8 @@ process_client_download_chunk(ChunkServer *state, int conn_idx, ByteView msg)
|
|||||||
|
|
||||||
MessageWriter writer;
|
MessageWriter writer;
|
||||||
message_writer_init(&writer, output, MESSAGE_TYPE_DOWNLOAD_CHUNK_SUCCESS);
|
message_writer_init(&writer, output, MESSAGE_TYPE_DOWNLOAD_CHUNK_SUCCESS);
|
||||||
message_write(&writer, &target_len, sizeof(target_len));
|
uint32_t data_len = slice.len;
|
||||||
|
message_write(&writer, &data_len, sizeof(data_len));
|
||||||
message_write(&writer, slice.ptr, slice.len);
|
message_write(&writer, slice.ptr, slice.len);
|
||||||
if (!message_writer_free(&writer)) {
|
if (!message_writer_free(&writer)) {
|
||||||
free(data.ptr);
|
free(data.ptr);
|
||||||
|
|||||||
Reference in New Issue
Block a user