summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_bus.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2002-03-06 11:34:02 +0000
committerbde <bde@FreeBSD.org>2002-03-06 11:34:02 +0000
commit11add29df067838e23b834a3dcb853dfa4064983 (patch)
tree9c1c88bba0daedbcbf2ad83465aca19d0817285e /sys/kern/subr_bus.c
parentacab62a802a890955c63730629ae1635151daef9 (diff)
downloadFreeBSD-src-11add29df067838e23b834a3dcb853dfa4064983.zip
FreeBSD-src-11add29df067838e23b834a3dcb853dfa4064983.tar.gz
Don't (blindly) truncate the unit number to 4 digits when formatting the
string returned by device_get_nameunit().
Diffstat (limited to 'sys/kern/subr_bus.c')
-rw-r--r--sys/kern/subr_bus.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index 3f451d3..138b220 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -407,7 +407,9 @@ devclass_add_device(devclass_t dc, device_t dev)
PDEBUG(("%s in devclass %s", DEVICENAME(dev), DEVCLANAME(dc)));
- buflen = strlen(dc->name) + 5;
+ buflen = snprintf(NULL, 0, "%s%d$", dc->name, dev->unit);
+ if (buflen < 0)
+ return (ENOMEM);
dev->nameunit = malloc(buflen, M_BUS, M_NOWAIT|M_ZERO);
if (!dev->nameunit)
return (ENOMEM);
OpenPOWER on IntegriCloud