Re: [PATCH v6] EDAC/mc: Prefer strscpy or scnprintf over strcpy

From: Joe Perches
Date: Fri Sep 03 2021 - 13:03:22 EST


On 2021-09-03 08:05, Len Baker wrote:
strcpy() performs no bounds checking on the destination buffer. len.baker@xxxxxxx/

[]

@@ -1113,12 +1115,9 @@ void edac_mc_handle_error(const enum
hw_event_mc_err_type type,
p = e->label;
*p = '\0';
} else {
- if (p != e->label) {
- strcpy(p, OTHER_LABEL);
- p += strlen(OTHER_LABEL);
- }
- strcpy(p, dimm->label);
- p += strlen(p);
+ n += scnprintf(e->label + n, sizeof(e->label) - n,
+ "%s%s", prefix, dimm->label);
+ prefix = OTHER_LABEL;

OTHER_LABEL is a define specific to this module

IMO: Used once text macros are just obfuscating and should be removed.