diff options
Diffstat (limited to 'sys-boot/grub/files/grub-2.00-tftp-endian.patch')
-rw-r--r-- | sys-boot/grub/files/grub-2.00-tftp-endian.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sys-boot/grub/files/grub-2.00-tftp-endian.patch b/sys-boot/grub/files/grub-2.00-tftp-endian.patch new file mode 100644 index 00000000..f4e56445 --- /dev/null +++ b/sys-boot/grub/files/grub-2.00-tftp-endian.patch @@ -0,0 +1,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; + |