diff options
author | bde <bde@FreeBSD.org> | 2002-03-06 11:34:02 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2002-03-06 11:34:02 +0000 |
commit | 11add29df067838e23b834a3dcb853dfa4064983 (patch) | |
tree | 9c1c88bba0daedbcbf2ad83465aca19d0817285e /sys/kern/subr_bus.c | |
parent | acab62a802a890955c63730629ae1635151daef9 (diff) | |
download | FreeBSD-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.c | 4 |
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); |