summaryrefslogtreecommitdiff
path: root/sys-boot/grub/files/grub-2.00-tftp-endian.patch
blob: f4e56445dd59035401e6900ed15be3a05230fbb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
https://bugs.gentoo.org/show_bug.cgi?id=438612

=== modified file 'grub-core/net/tftp.c'
--- grub-core/net/tftp.c	2012-06-22 20:04:16 +0000
+++ grub-core/net/tftp.c	2012-07-02 09:22:50 +0000
@@ -143,7 +143,7 @@
 
   tftph_ack = (struct tftphdr *) nb_ack.data;
   tftph_ack->opcode = grub_cpu_to_be16 (TFTP_ACK);
-  tftph_ack->u.ack.block = block;
+  tftph_ack->u.ack.block = grub_cpu_to_be16 (block);
 
   err = grub_net_send_udp_packet (data->sock, &nb_ack);
   if (err)
@@ -225,7 +225,7 @@
 	    grub_priority_queue_pop (data->pq);
 
 	    if (file->device->net->packs.count < 50)
-	      err = ack (data, tftph->u.data.block);
+	      err = ack (data, data->block + 1);
 	    else
 	      {
 		file->device->net->stall = 1;