grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DNS endianness


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: DNS endianness
Date: Thu, 07 May 2015 17:02:20 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.6.0

It's purely code aesthetics but go ahead.
Andrei Borzenkov wrote:
> This does not sound right ...
> 
> static grub_err_t
> recv_hook (grub_net_udp_socket_t sock __attribute__ ((unused)),
>            struct grub_net_buff *nb,
>            void *data_)
> {
> ...
>   head = (struct dns_header *) nb->data;
> ...
>   for (i = 0; i < grub_cpu_to_be16 (head->qdcount); i++)
>     {
> 
> We sure want to convert *to* cpu, not *from* cpu here? Same in all
> other places in this function.
> 
> Do I miss something obvious here? Or how about patch below?
> 
> diff --git a/grub-core/net/dns.c b/grub-core/net/dns.c
> index 0b771fb..9d0c8fc 100644
> --- a/grub-core/net/dns.c
> +++ b/grub-core/net/dns.c
> @@ -262,7 +262,7 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ 
> ((unused)),
>        grub_netbuff_free (nb);
>        return GRUB_ERR_NONE;
>      }
> -  for (i = 0; i < grub_cpu_to_be16 (head->qdcount); i++)
> +  for (i = 0; i < grub_be_to_cpu16 (head->qdcount); i++)
>      {
>        if (ptr >= nb->tail)
>       {
> @@ -277,7 +277,7 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ 
> ((unused)),
>        ptr += 4;
>      }
>    *data->addresses = grub_malloc (sizeof ((*data->addresses)[0])
> -                              * grub_cpu_to_be16 (head->ancount));
> +                              * grub_be_to_cpu16 (head->ancount));
>    if (!*data->addresses)
>      {
>        grub_errno = GRUB_ERR_NONE;
> @@ -286,7 +286,7 @@ recv_hook (grub_net_udp_socket_t sock __attribute__ 
> ((unused)),
>      }
>    reparse_ptr = ptr;
>   reparse:
> -  for (i = 0, ptr = reparse_ptr; i < grub_cpu_to_be16 (head->ancount); i++)
> +  for (i = 0, ptr = reparse_ptr; i < grub_be_to_cpu16 (head->ancount); i++)
>      {
>        int ignored = 0;
>        grub_uint8_t class;
> 
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]