Commit Diff


commit - 23e03c88a8fe0734eec6cd23f99619593e61c48f
commit + 12c6d6991404ee5238bf52eef88e8623b4f8df03
blob - b3b29684b2b8e2e6f38d69d68afb67cb0870d6a6
blob + 78df0f4a69114f84e20126de83f31b4659b30899
--- client.c
+++ client.c
@@ -239,11 +239,11 @@ client_imsg_compose_listener(int type, uint32_t peerid
 static inline void
 parse_message(void *data, size_t len, struct np_msg_header *hdr, void **cnt)
 {
-	memset(hdr, 0, sizeof(*hdr));
-
 	if (len < 4)
 		goto err;
 
+	memcpy(hdr, data, sizeof(*hdr));
+
 	hdr->len = le32toh(hdr->len);
 
 	if (len != hdr->len)