summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/server/protocol.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/protocol.h b/src/server/protocol.h
index 5544876..d54f44e 100644
--- a/src/server/protocol.h
+++ b/src/server/protocol.h
@@ -77,7 +77,7 @@ static inline int dnbd3_get_crc32(int sock, uint32_t *master, void *buffer, size
if ( recv( sock, master, sizeof(uint32_t), MSG_WAITALL ) != sizeof(uint32_t) ) return FALSE;
int done = 0;
while ( done < reply.size ) {
- const int ret = recv( sock, buffer, reply.size, 0 );
+ const int ret = recv( sock, buffer + done, reply.size - done, 0 );
if ( ret <= 0 ) return FALSE;
done += ret;
}