From: Ben Pfaff Date: Fri, 9 Jan 2009 01:06:54 +0000 (-0800) Subject: datapath: Check DMI strings for NULL. X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=74b5c79a755fa24b5192a7192e7278fe69bb0e65;p=sliver-openvswitch.git datapath: Check DMI strings for NULL. dmi_get_system_info() can return NULL, so check for it. Found by Chris Eagle via Fortify. --- diff --git a/datapath/datapath.c b/datapath/datapath.c index b1bcee874..5272ceaf3 100644 --- a/datapath/datapath.c +++ b/datapath/datapath.c @@ -1845,12 +1845,14 @@ static void set_desc(void) if (strncmp(uptr, NICIRA_OUI_STR, strlen(NICIRA_OUI_STR))) return; - strlcpy(mfr_desc, dmi_get_system_info(DMI_SYS_VENDOR), sizeof(mfr_desc)); - snprintf(hw_desc, sizeof(hw_desc), "%s %s", - dmi_get_system_info(DMI_PRODUCT_NAME), - dmi_get_system_info(DMI_PRODUCT_VERSION)); - strlcpy(serial_num, dmi_get_system_info(DMI_PRODUCT_SERIAL), - sizeof(serial_num)); + if (vendor) + strlcpy(mfr_desc, vendor, sizeof(mfr_desc)); + if (name || version) + snprintf(hw_desc, sizeof(hw_desc), "%s %s", + name ? name : "", + version ? version : ""); + if (serial) + strlcpy(serial_num, serial, sizeof(serial_num)); } static int __init dp_init(void)