Skip to content

Commit 166db01

Browse files
JustinStittandersson
authored andcommitted
soc: qcom: cmd-db: replace deprecated strncpy with strtomem
strncpy() is an ambiguous and potentially dangerous interface [1]. We should prefer more robust and less ambiguous alternatives. @query is marked as __nonstring and doesn't need to be NUL-terminated. Since we are doing a string to memory copy, we can use the aptly named "strtomem" -- specifically, the "pad" variant to also ensure NUL-padding throughout the destination buffer. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2] Link: KSPP/linux#90 Cc: [email protected] Reviewed-by: Kees Cook <[email protected]> Signed-off-by: Justin Stitt <[email protected]> Link: https://lore.kernel.org/r/20240319-strncpy-drivers-soc-qcom-cmd-db-c-v3-1-aeb5c5180c32@google.com Signed-off-by: Bjorn Andersson <[email protected]>
1 parent f592cc5 commit 166db01

File tree

1 file changed

+1
-6
lines changed

1 file changed

+1
-6
lines changed

drivers/soc/qcom/cmd-db.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,7 @@ static int cmd_db_get_header(const char *id, const struct entry_header **eh,
153153
if (ret)
154154
return ret;
155155

156-
/*
157-
* Pad out query string to same length as in DB. NOTE: the output
158-
* query string is not necessarily '\0' terminated if it bumps up
159-
* against the max size. That's OK and expected.
160-
*/
161-
strncpy(query, id, sizeof(query));
156+
strtomem_pad(query, id, 0);
162157

163158
for (i = 0; i < MAX_SLV_ID; i++) {
164159
rsc_hdr = &cmd_db_header->header[i];

0 commit comments

Comments
 (0)