]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/net/tftp.c (ack): Fix endianness problem.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 2 Jul 2012 09:22:50 +0000 (11:22 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Mon, 2 Jul 2012 09:22:50 +0000 (11:22 +0200)
(tftp_receive): Likewise.
Reported by: Michael Davidsaver.

ChangeLog
grub-core/net/tftp.c

index aaeeb05a8c52a037ff1a397c287f010a9adf0e45..12de11f03380e6cc4ac3ee6a5e65463a568a670e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/net/tftp.c (ack): Fix endianness problem.
+       (tftp_receive): Likewise.
+       Reported by: Michael Davidsaver.
+
 2012-07-02  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * gentpl.py: Make mans depend on grub-mkconfig_lib.
index 9c70efbec867e1348560691bc20215c820548d42..d0f39ea3678117ee62b691964387d1ec9ae16944 100644 (file)
@@ -143,7 +143,7 @@ ack (tftp_data_t data, grub_uint16_t block)
 
   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 @@ tftp_receive (grub_net_udp_socket_t sock __attribute__ ((unused)),
            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;