Author: eadler (ports committer)
Date: Sun Jan 15 07:09:18 2012
New Revision: 230125
URL: http://svn.freebsd.org/changeset/base/230125

Log:
  - 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

Modified:
  head/sys/kern/subr_bus.c

Modified: head/sys/kern/subr_bus.c
==============================================================================
--- head/sys/kern/subr_bus.c    Sun Jan 15 00:46:29 2012        (r230124)
+++ head/sys/kern/subr_bus.c    Sun Jan 15 07:09:18 2012        (r230125)
@@ -2020,9 +2020,15 @@ device_probe_child(device_t dev, device_
                        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;
                                }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to