about summary refs log tree commit diff stats
path: root/src/packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/packet.c')
-rw-r--r--src/packet.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/packet.c b/src/packet.c
index 0663b64..d439ec9 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -56,7 +56,7 @@ nbd_tftp_packet_data nbd_tftp_de_data(char *data, size_t len) {
 		ret.opcode = ((uint16_t)data[0] << 8) + data[1];
 		ret.block_num = ((uint16_t)data[2] << 8) + data[3];
 		ret.datalen = len - 4;
-		if (ret.datalen <= 0) {
+		if (ret.datalen > 0) {
 			if ((ret.data = malloc(ret.datalen)) != NULL) {
 				memcpy(ret.data, (data + 4), ret.datalen);
 			}
@@ -104,7 +104,7 @@ char *nbd_tftp_ser_ack(nbd_tftp_packet_ack ack) {
 char *nbd_tftp_ser_ack_from_block_num(uint16_t block_num) {
 	char *buf = malloc(sizeof(uint16_t) + sizeof(block_num));
 	if (buf != NULL) {
-		uint16_t netopcode = htons(5);
+		uint16_t netopcode = htons(4);
 		uint16_t netbnum = htons(block_num);
 		memcpy(buf, &netopcode, sizeof(netopcode));
 		memcpy((buf + sizeof(netopcode)), &netbnum, sizeof(netbnum));