svn commit: r199685 - stable/6/sys/kern

Ed Maste emaste at FreeBSD.org
Mon Nov 23 01:23:05 UTC 2009


Author: emaste
Date: Mon Nov 23 01:23:03 2009
New Revision: 199685
URL: http://svn.freebsd.org/changeset/base/199685

Log:
  MFC r199209:
    Fix a potential buffer boundaries overflow in devclass_add_device() by
    using all available int lenghts digits for storing the information.

Modified:
  stable/6/sys/kern/subr_bus.c
Directory Properties:
  stable/6/sys/   (props changed)
  stable/6/sys/conf/   (props changed)
  stable/6/sys/contrib/pf/   (props changed)
  stable/6/sys/dev/cxgb/   (props changed)

Modified: stable/6/sys/kern/subr_bus.c
==============================================================================
--- stable/6/sys/kern/subr_bus.c	Sun Nov 22 23:54:19 2009	(r199684)
+++ stable/6/sys/kern/subr_bus.c	Mon Nov 23 01:23:03 2009	(r199685)
@@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/lock.h>
 #include <sys/kernel.h>
 #include <sys/kobj.h>
+#include <sys/limits.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/mutex.h>
@@ -1365,7 +1366,7 @@ devclass_add_device(devclass_t dc, devic
 
 	PDEBUG(("%s in devclass %s", DEVICENAME(dev), DEVCLANAME(dc)));
 
-	buflen = snprintf(NULL, 0, "%s%d$", dc->name, dev->unit);
+	buflen = snprintf(NULL, 0, "%s%d$", dc->name, INT_MAX);
 	if (buflen < 0)
 		return (ENOMEM);
 	dev->nameunit = malloc(buflen, M_BUS, M_NOWAIT|M_ZERO);


More information about the svn-src-all mailing list