From 136d96b1574c6c71cdd444875f9fde4c845e5a3e Mon Sep 17 00:00:00 2001 From: rpokala Date: Thu, 29 Mar 2018 15:01:01 +0000 Subject: [PATCH] MFC 331345: 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(). git-svn-id: svn://svn.freebsd.org/base/stable/10@331734 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/jedec_dimm/jedec_dimm.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/sys/dev/jedec_dimm/jedec_dimm.c b/sys/dev/jedec_dimm/jedec_dimm.c index c496742f4..782a662bc 100644 --- a/sys/dev/jedec_dimm/jedec_dimm.c +++ b/sys/dev/jedec_dimm/jedec_dimm.c @@ -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"); -- 2.45.0