Catch various cases in libpayload where malloc() or memalign() return NULL

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4474 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2009-07-31 11:39:55 +00:00
committed by Stefan Reinauer
parent 131c0070a3
commit 5fe6e23c61
10 changed files with 62 additions and 7 deletions

View File

@ -128,6 +128,9 @@ usb_hub_init (usbdev_t *dev)
dev->data = malloc (sizeof (usbhub_inst_t));
if (!dev->data)
usb_fatal("Not enough memory for USB hub.\n");
HUB_INST (dev)->descriptor =
(hub_descriptor_t *) get_descriptor (dev,
gen_bmRequestType
@ -137,6 +140,9 @@ usb_hub_init (usbdev_t *dev)
HUB_INST (dev)->num_ports = HUB_INST (dev)->descriptor->bNbrPorts;
HUB_INST (dev)->ports =
malloc (sizeof (int) * (HUB_INST (dev)->num_ports + 1));
if (! HUB_INST (dev)->ports)
usb_fatal("Not enough memory for USB hub ports.\n");
for (i = 1; i <= HUB_INST (dev)->num_ports; i++)
HUB_INST (dev)->ports[i] = -1;
for (i = 1; i <= HUB_INST (dev)->num_ports; i++)