summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2020-12-23 10:47:23 +0000
committerGitHub <noreply@github.com>2020-12-23 10:47:23 +0000
commit381991a1998c7bb202455b37d283d075f2872112 (patch)
tree49deb8f4d96eb4b9a81b4f2afb36f5e98abbdf50
parentf4b473fa842a84147d8036a27bac5c026c44dad4 (diff)
parent212ae9a70eddf3a77783d5cdffd3418273bfedd7 (diff)
downloadlibgit2-381991a1998c7bb202455b37d283d075f2872112.tar.gz
Merge pull request #5749 from lhchavez/gcc-10
Fix the `-DENABLE_WERROR=ON` build for gcc 10.2
-rw-r--r--tests/clar/fs.h2
-rw-r--r--tests/clar/sandbox.h11
-rw-r--r--tests/clar_libgit2.c7
3 files changed, 12 insertions, 8 deletions
diff --git a/tests/clar/fs.h b/tests/clar/fs.h
index 31a536427..d88f249c7 100644
--- a/tests/clar/fs.h
+++ b/tests/clar/fs.h
@@ -396,7 +396,7 @@ static void
fs_copy(const char *source, const char *_dest)
{
char *dbuf = NULL;
- const char *dest;
+ const char *dest = NULL;
struct stat source_st, dest_st;
cl_must_pass_(lstat(source, &source_st), "Failed to stat copy source");
diff --git a/tests/clar/sandbox.h b/tests/clar/sandbox.h
index 2114819e4..0ba147962 100644
--- a/tests/clar/sandbox.h
+++ b/tests/clar/sandbox.h
@@ -2,7 +2,7 @@
#include <sys/syslimits.h>
#endif
-static char _clar_path[4096];
+static char _clar_path[4096 + 1];
static int
is_valid_tmp_path(const char *path)
@@ -39,7 +39,8 @@ find_tmp_path(char *buffer, size_t length)
if (length >= PATH_MAX && realpath(env, buffer) != NULL)
return 0;
#endif
- strncpy(buffer, env, length);
+ strncpy(buffer, env, length - 1);
+ buffer[length - 1] = '\0';
return 0;
}
}
@@ -50,7 +51,8 @@ find_tmp_path(char *buffer, size_t length)
if (length >= PATH_MAX && realpath("/tmp", buffer) != NULL)
return 0;
#endif
- strncpy(buffer, "/tmp", length);
+ strncpy(buffer, "/tmp", length - 1);
+ buffer[length - 1] = '\0';
return 0;
}
@@ -65,7 +67,8 @@ find_tmp_path(char *buffer, size_t length)
/* This system doesn't like us, try to use the current directory */
if (is_valid_tmp_path(".")) {
- strncpy(buffer, ".", length);
+ strncpy(buffer, ".", length - 1);
+ buffer[length - 1] = '\0';
return 0;
}
diff --git a/tests/clar_libgit2.c b/tests/clar_libgit2.c
index 65b8923f5..c4550c32a 100644
--- a/tests/clar_libgit2.c
+++ b/tests/clar_libgit2.c
@@ -275,7 +275,7 @@ const char* cl_git_fixture_url(const char *fixturename)
const char* cl_git_path_url(const char *path)
{
- static char url[4096];
+ static char url[4096 + 1];
const char *in_buf;
git_buf path_buf = GIT_BUF_INIT;
@@ -311,9 +311,10 @@ const char* cl_git_path_url(const char *path)
in_buf++;
}
- cl_assert(url_buf.size < 4096);
+ cl_assert(url_buf.size < sizeof(url) - 1);
- strncpy(url, git_buf_cstr(&url_buf), 4096);
+ strncpy(url, git_buf_cstr(&url_buf), sizeof(url) - 1);
+ url[sizeof(url) - 1] = '\0';
git_buf_dispose(&url_buf);
git_buf_dispose(&path_buf);
return url;