From 886e862866b06655bd2b89c64eca8eb465bb44a7 Mon Sep 17 00:00:00 2001 From: Eitan Adler Date: Sun, 15 Jan 2012 07:09:18 +0000 Subject: [PATCH] - Fix undefined behavior when device_get_name is null - Make error message more informative PR: kern/149800 Submitted by: olgeni Approved by: cperciva MFC after: 1 week --- sys/kern/subr_bus.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index a95bdb939572..cc74204b14d1 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -2020,9 +2020,15 @@ device_probe_child(device_t dev, device_t child) if (!hasclass) { if (device_set_devclass(child, dl->driver->name) != 0) { + char const * devname = + device_get_name(child); + if (devname == NULL) + devname = "(unknown)"; printf("driver bug: Unable to set " - "devclass (devname: %s)\n", - device_get_name(child)); + "devclass (class: %s " + "devname: %s)\n", + dl->driver->name, + devname); (void)device_set_driver(child, NULL); continue; }