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:
Claude
2026-01-24 01:04:13 +00:00
parent 282bb9632f
commit b1541915ce
+2 -1
View File
@@ -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);