* grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
allocation.
This commit is contained in:
parent
32745f5131
commit
bdf8886428
2 changed files with 9 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2012-04-29 Bean <bean123ch@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
|
||||||
|
allocation.
|
||||||
|
|
||||||
2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
|
2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
|
||||||
|
|
||||||
* configure.ac: Detect starfield theme font path
|
* configure.ac: Detect starfield theme font path
|
||||||
|
|
|
@ -63,14 +63,13 @@ get_card_packet (const struct grub_net_card *dev)
|
||||||
grub_efi_uintn_t bufsize = 1536;
|
grub_efi_uintn_t bufsize = 1536;
|
||||||
struct grub_net_buff *nb;
|
struct grub_net_buff *nb;
|
||||||
|
|
||||||
nb = grub_netbuff_alloc (bufsize);
|
nb = grub_netbuff_alloc (bufsize + 2);
|
||||||
if (!nb)
|
if (!nb)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* Reserve 2 bytes so that 2 + 14/18 bytes of ethernet header is divisible
|
/* Reserve 2 bytes so that 2 + 14/18 bytes of ethernet header is divisible
|
||||||
by 4. So that IP header is aligned on 4 bytes. */
|
by 4. So that IP header is aligned on 4 bytes. */
|
||||||
grub_netbuff_reserve (nb, 2);
|
if (grub_netbuff_reserve (nb, 2))
|
||||||
if (!nb)
|
|
||||||
{
|
{
|
||||||
grub_netbuff_free (nb);
|
grub_netbuff_free (nb);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -84,14 +83,13 @@ get_card_packet (const struct grub_net_card *dev)
|
||||||
|
|
||||||
bufsize = ALIGN_UP (bufsize, 32);
|
bufsize = ALIGN_UP (bufsize, 32);
|
||||||
|
|
||||||
nb = grub_netbuff_alloc (bufsize);
|
nb = grub_netbuff_alloc (bufsize + 2);
|
||||||
if (!nb)
|
if (!nb)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* Reserve 2 bytes so that 2 + 14/18 bytes of ethernet header is divisible
|
/* Reserve 2 bytes so that 2 + 14/18 bytes of ethernet header is divisible
|
||||||
by 4. So that IP header is aligned on 4 bytes. */
|
by 4. So that IP header is aligned on 4 bytes. */
|
||||||
grub_netbuff_reserve (nb, 2);
|
if (grub_netbuff_reserve (nb, 2))
|
||||||
if (!nb)
|
|
||||||
{
|
{
|
||||||
grub_netbuff_free (nb);
|
grub_netbuff_free (nb);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in a new issue