summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorGabriele Monaco <gmonaco@redhat.com>2026-06-04 14:09:45 +0200
committerGabriele Monaco <gmonaco@redhat.com>2026-06-04 16:43:43 +0200
commit08904765bb941f98306ae6841c33cfd299343faf (patch)
tree30f3c507ae7884aa9e3b4a4bc825ae83b2ffd32a /tools
parentd9022172c1abea9e220d13ee453813dafec5b9e4 (diff)
downloadlwn-08904765bb941f98306ae6841c33cfd299343faf.tar.gz
lwn-08904765bb941f98306ae6841c33cfd299343faf.zip
tools/rv: Ensure monitor name and desc are NUL-terminated
ikm_fill_monitor_definition() copies monitor name and description with strncpy(), but does not guarantee NUL termination when source strings are equal to or longer than the destination buffers. Clamp copies to sizeof(dst) - 1 and explicitly append '\0' for both fields to keep them safe for later string operations. Suggested-by: unknownbbqrx <dev@unknownbbqr.xyz> Fixes: 6d60f89691fc9 ("tools/rv: Add in-kernel monitor interface") Link: https://lore.kernel.org/r/20260604120946.90302-2-gmonaco@redhat.com Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/verification/rv/src/in_kernel.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/verification/rv/src/in_kernel.c b/tools/verification/rv/src/in_kernel.c
index 4bb746ea6e17..d324538249d3 100644
--- a/tools/verification/rv/src/in_kernel.c
+++ b/tools/verification/rv/src/in_kernel.c
@@ -215,10 +215,11 @@ static int ikm_fill_monitor_definition(char *name, struct monitor *ikm, char *co
return -1;
}
- strncpy(ikm->name, nested_name, MAX_DA_NAME_LEN);
+ strncpy(ikm->name, nested_name, sizeof(ikm->name) - 1);
+ ikm->name[sizeof(ikm->name) - 1] = '\0';
ikm->enabled = enabled;
- strncpy(ikm->desc, desc, MAX_DESCRIPTION);
-
+ strncpy(ikm->desc, desc, sizeof(ikm->desc) - 1);
+ ikm->desc[sizeof(ikm->desc) - 1] = '\0';
free(desc);
return 0;