a5bd9f6
From 8ec34c46a3cc4cacce65e3a2a671e08548c6a95e Mon Sep 17 00:00:00 2001
a5bd9f6
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
a5bd9f6
Date: Mon, 2 Jul 2012 11:22:50 +0200
a5bd9f6
Subject: [PATCH 006/364] 	* grub-core/net/tftp.c (ack): Fix endianness
a5bd9f6
 problem. 	(tftp_receive): Likewise. 	Reported by: Michael
a5bd9f6
 Davidsaver.
a5bd9f6
a5bd9f6
---
a5bd9f6
 ChangeLog            | 6 ++++++
a5bd9f6
 grub-core/net/tftp.c | 4 ++--
a5bd9f6
 2 files changed, 8 insertions(+), 2 deletions(-)
a5bd9f6
a5bd9f6
diff --git a/ChangeLog b/ChangeLog
a5bd9f6
index aaeeb05..12de11f 100644
a5bd9f6
--- a/ChangeLog
a5bd9f6
+++ b/ChangeLog
a5bd9f6
@@ -1,5 +1,11 @@
a5bd9f6
 2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
 
a5bd9f6
+	* grub-core/net/tftp.c (ack): Fix endianness problem.
a5bd9f6
+	(tftp_receive): Likewise.
a5bd9f6
+	Reported by: Michael Davidsaver.
a5bd9f6
+
a5bd9f6
+2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
+
a5bd9f6
 	* gentpl.py: Make mans depend on grub-mkconfig_lib.
a5bd9f6
 
a5bd9f6
 2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
a5bd9f6
diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
a5bd9f6
index 9c70efb..d0f39ea 100644
a5bd9f6
--- a/grub-core/net/tftp.c
a5bd9f6
+++ b/grub-core/net/tftp.c
a5bd9f6
@@ -143,7 +143,7 @@ ack (tftp_data_t data, grub_uint16_t block)
a5bd9f6
 
a5bd9f6
   tftph_ack = (struct tftphdr *) nb_ack.data;
a5bd9f6
   tftph_ack->opcode = grub_cpu_to_be16 (TFTP_ACK);
a5bd9f6
-  tftph_ack->u.ack.block = block;
a5bd9f6
+  tftph_ack->u.ack.block = grub_cpu_to_be16 (block);
a5bd9f6
 
a5bd9f6
   err = grub_net_send_udp_packet (data->sock, &nb_ack);
a5bd9f6
   if (err)
a5bd9f6
@@ -225,7 +225,7 @@ tftp_receive (grub_net_udp_socket_t sock __attribute__ ((unused)),
a5bd9f6
 	    grub_priority_queue_pop (data->pq);
a5bd9f6
 
a5bd9f6
 	    if (file->device->net->packs.count < 50)
a5bd9f6
-	      err = ack (data, tftph->u.data.block);
a5bd9f6
+	      err = ack (data, data->block + 1);
a5bd9f6
 	    else
a5bd9f6
 	      {
a5bd9f6
 		file->device->net->stall = 1;
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6