Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2019-10-16 11:36:01 +0300
committerAntonio Vazquez <blendergit@gmail.com>2019-10-16 11:36:01 +0300
commitc2fbe46b0f0fde44b8a40d89601a195da27d28fb (patch)
treef66e3e50758acb36001e2774c6e4ede5fc8bead6 /extern/cuew/src/cuew.c
parent386ba094988fc793f8e060d15438566e5e2d2cae (diff)
parentdcf57e34f3866bba5ddd9cfdfe858a1a5eedc4c2 (diff)
Merge branch 'master' into temp-gpencil-drw-enginetemp-gpencil-drw-engine
Diffstat (limited to 'extern/cuew/src/cuew.c')
-rw-r--r--extern/cuew/src/cuew.c19
1 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) {