diff options
-rw-r--r-- | extern/cuew/src/cuew.c | 19 | ||||
m--------- | release/scripts/addons | 0 |
2 files changed, 18 insertions, 1 deletions
diff --git a/extern/cuew/src/cuew.c b/extern/cuew/src/cuew.c index 1f386c4e5d3..a0146741494 100644 --- a/extern/cuew/src/cuew.c +++ b/extern/cuew/src/cuew.c @@ -859,6 +859,23 @@ int cuewNvrtcVersion(void) { return 0; } +static size_t safe_strnlen(const char *s, size_t maxlen) { + size_t length; + for (length = 0; length < maxlen; s++, length++) { + if (*s == '\0') { + break; + } + } + return length; +} + +static char *safe_strncpy(char *dest, const char *src, size_t n) { + const size_t src_len = safe_strnlen(src, n - 1); + memcpy(dest, src, src_len); + dest[src_len] = '\0'; + return dest; +} + int cuewCompilerVersion(void) { const char *path = cuewCompilerPath(); const char *marker = "Cuda compilation tools, release "; @@ -874,7 +891,7 @@ int cuewCompilerVersion(void) { } /* get --version output */ - strncpy(command, path, sizeof(command)); + safe_strncpy(command, path, sizeof(command)); strncat(command, " --version", sizeof(command) - strlen(path)); pipe = popen(command, "r"); if (!pipe) { diff --git a/release/scripts/addons b/release/scripts/addons -Subproject a17cabe4c9976547b20078149a99c9bb58152d1 +Subproject 120d31a17c0eb571420b828425fc1fe6ef13db2 |