From 7a5aaecda2b37653b6f3debe25ff4cf03cb0d4d4 Mon Sep 17 00:00:00 2001 From: Joshua Oreman Date: Thu, 19 Nov 2009 22:20:17 -0500 Subject: [PATCH] [pxebs] Consistently interpret PXE type field as little-endian The PXE menu code also treated the type as big-endian, which went unnoticed until the first fix because its ntohs() was matched by a htons() in the PXE boot server discovery code. Signed-off-by: Marty Connor --- src/usr/pxemenu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/usr/pxemenu.c b/src/usr/pxemenu.c index a778a126..519c200e 100644 --- a/src/usr/pxemenu.c +++ b/src/usr/pxemenu.c @@ -153,7 +153,7 @@ static int pxe_menu_parse ( struct pxe_menu **menu ) { ( num_menu_items * sizeof ( (*menu)->items[0] ) ) ); memcpy ( raw_menu_item, raw_menu, raw_menu_len ); for ( i = 0 ; i < num_menu_items ; i++ ) { - (*menu)->items[i].type = ntohs ( raw_menu_item->type ); + (*menu)->items[i].type = le16_to_cpu ( raw_menu_item->type ); (*menu)->items[i].desc = raw_menu_item->desc; /* Set type to 0; this ensures that the description * for the previous menu item is NUL-terminated.