summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/usb/usbhid.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-07-31 11:39:55 +0000
committerStefan Reinauer <stepan@openbios.org>2009-07-31 11:39:55 +0000
commit5fe6e23c61bf1fde7a1a0568b38d32c4e625f0ef (patch)
tree74ab1bde640908166368985f9598517756df3199 /payloads/libpayload/drivers/usb/usbhid.c
parent131c0070a3b224e8ec2c817444f1ae4cf2419193 (diff)
downloadcoreboot-5fe6e23c61bf1fde7a1a0568b38d32c4e625f0ef.tar.xz
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
Diffstat (limited to 'payloads/libpayload/drivers/usb/usbhid.c')
-rw-r--r--payloads/libpayload/drivers/usb/usbhid.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/usb/usbhid.c b/payloads/libpayload/drivers/usb/usbhid.c
index 44be9ce8d9..ee217c36d8 100644
--- a/payloads/libpayload/drivers/usb/usbhid.c
+++ b/payloads/libpayload/drivers/usb/usbhid.c
@@ -169,6 +169,8 @@ usb_hid_init (usbdev_t *dev)
boot_protos[interface->bInterfaceProtocol]);
if (interface->bInterfaceProtocol == hid_boot_proto_keyboard) {
dev->data = malloc (sizeof (usbhid_inst_t));
+ if (!dev->data)
+ usb_fatal("Not enough memory for USB HID device.\n");
printf (" configuring...\n");
usb_hid_set_protocol(dev, interface, hid_proto_boot);
usb_hid_set_idle(dev, interface, 0);