Author: rpokala
Date: Thu Mar 22 06:31:05 2018
New Revision: 331345
URL: https://svnweb.freebsd.org/changeset/base/331345
Log:
jedec_dimm: Use correct string length when populating sc->slotid_str
Don't limit the copy to the size of the target string *pointer* (always
4 on 32-bit / 8 on 64-bit). Instead, just use strdup().
Reported by: Coverity
CID: 1386912
Reviewed by: cem, imp
MFC after: 1 week
Modified:
head/sys/dev/jedec_dimm/jedec_dimm.c
Modified: head/sys/dev/jedec_dimm/jedec_dimm.c
==============================================================================
--- head/sys/dev/jedec_dimm/jedec_dimm.c Thu Mar 22 05:26:27 2018
(r331344)
+++ head/sys/dev/jedec_dimm/jedec_dimm.c Thu Mar 22 06:31:05 2018
(r331345)
@@ -341,10 +341,7 @@ jedec_dimm_attach(device_t dev)
if (resource_string_value(device_get_name(dev), device_get_unit(dev),
"slotid", &slotid_str) == 0) {
if (slotid_str != NULL) {
- sc->slotid_str = malloc(strlen(slotid_str) + 1,
- M_DEVBUF, (M_WAITOK | M_ZERO));
- strlcpy(sc->slotid_str, slotid_str,
- sizeof(sc->slotid_str));
+ sc->slotid_str = strdup(slotid_str, M_DEVBUF);
SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "slotid",
CTLFLAG_RD | CTLFLAG_MPSAFE, sc->slotid_str, 0,
"DIMM Slot Identifier");
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"