From 441622af05ab8f9aaa5395744e435fd2ad97fef2 Mon Sep 17 00:00:00 2001 From: Rajat Chopra Date: Mon, 20 Jul 2026 17:12:21 -0700 Subject: [PATCH] safe strcpy driver root Use strlcpy for safer copy of bytes. The number of bytes are provided in the argument. If ctx-root is underallocated, then we should quit with an error. Signed-off-by: Rajat Chopra --- src/driver.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/driver.c b/src/driver.c index d4e91c03..659b4deb 100644 --- a/src/driver.c +++ b/src/driver.c @@ -3,7 +3,7 @@ */ #include - +#include #include #include "nvml.h" @@ -89,7 +89,10 @@ driver_init(struct error *err, struct dxcore_context *dxcore, const char *root, .gid = gid, .nvml_dl = NULL, }; - strcpy(ctx->root, root); + if (strlcpy(ctx->root, root, sizeof(ctx->root)) >= sizeof(ctx->root)) { + error_setx(err, "root path too long (max %zu bytes)", sizeof(ctx->root) - 1); + goto fail; + } if (dxcore->initialized) { memset(ctx->nvml_path, 0, strlen(ctx->nvml_path));