svn commit: r334413 - head/lib/libdevinfo

Warner Losh imp at FreeBSD.org
Thu May 31 02:57:52 UTC 2018


Author: imp
Date: Thu May 31 02:57:51 2018
New Revision: 334413
URL: https://svnweb.freebsd.org/changeset/base/334413

Log:
  Sanity check the return from the kernel.
  
  We should be getting back as many bytes as we asked for, and we
  don't handle shortages at all, so just reject anything that's
  not right.
  
  Differential Revision: https://reviews.freebsd.org/D15629

Modified:
  head/lib/libdevinfo/devinfo.c

Modified: head/lib/libdevinfo/devinfo.c
==============================================================================
--- head/lib/libdevinfo/devinfo.c	Thu May 31 02:54:11 2018	(r334412)
+++ head/lib/libdevinfo/devinfo.c	Thu May 31 02:57:51 2018	(r334413)
@@ -220,6 +220,11 @@ devinfo_init_devices(int generation)
 				warn("sysctl hw.bus.devices.%d", dev_idx);
 			return(errno);
 		}
+		if (rlen != sizeof(udev)) {
+			warnx("sysctl returned wrong data %zd bytes instead of %zd",
+			    rlen, sizeof(udev));
+			return (EINVAL);
+		}
 		if ((dd = malloc(sizeof(*dd))) == NULL)
 			return(ENOMEM);
 		dd->dd_dev.dd_handle = udev.dv_handle;


More information about the svn-src-head mailing list