summaryrefslogtreecommitdiff
path: root/src/util/futils.c
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2023-05-09 20:38:04 +0100
committerGitHub <noreply@github.com>2023-05-09 20:38:04 +0100
commit2bbcdee6b666f34e83d1cf9ca9badc66258202d6 (patch)
tree26a9d405c75564de8e1a3dc8ac4dc1c8ec7421f7 /src/util/futils.c
parent251408cfd4ff8112efaa5c82ec81c9574c4bf022 (diff)
parent437c5f5a0b6ae6068168081ac6422dba44cff31d (diff)
downloadlibgit2-2bbcdee6b666f34e83d1cf9ca9badc66258202d6.tar.gz
Merge pull request #6557 from libgit2/ethomson/shallow
Shallow (#6396) with some fixes from review
Diffstat (limited to 'src/util/futils.c')
-rw-r--r--src/util/futils.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/util/futils.c b/src/util/futils.c
index 084f1cd28..7b5a24b30 100644
--- a/src/util/futils.c
+++ b/src/util/futils.c
@@ -221,14 +221,14 @@ int git_futils_readbuffer_fd_full(git_str *buf, git_file fd)
int git_futils_readbuffer_updated(
git_str *out,
const char *path,
- unsigned char checksum[GIT_HASH_SHA1_SIZE],
+ unsigned char checksum[GIT_HASH_SHA256_SIZE],
int *updated)
{
int error;
git_file fd;
struct stat st;
git_str buf = GIT_STR_INIT;
- unsigned char checksum_new[GIT_HASH_SHA1_SIZE];
+ unsigned char checksum_new[GIT_HASH_SHA256_SIZE];
GIT_ASSERT_ARG(out);
GIT_ASSERT_ARG(path && *path);
@@ -261,7 +261,10 @@ int git_futils_readbuffer_updated(
p_close(fd);
if (checksum) {
- if ((error = git_hash_buf(checksum_new, buf.ptr, buf.size, GIT_HASH_ALGORITHM_SHA1)) < 0) {
+ error = git_hash_buf(checksum_new, buf.ptr,
+ buf.size, GIT_HASH_ALGORITHM_SHA256);
+
+ if (error < 0) {
git_str_dispose(&buf);
return error;
}
@@ -269,7 +272,7 @@ int git_futils_readbuffer_updated(
/*
* If we were given a checksum, we only want to use it if it's different
*/
- if (!memcmp(checksum, checksum_new, GIT_HASH_SHA1_SIZE)) {
+ if (!memcmp(checksum, checksum_new, GIT_HASH_SHA256_SIZE)) {
git_str_dispose(&buf);
if (updated)
*updated = 0;
@@ -277,7 +280,7 @@ int git_futils_readbuffer_updated(
return 0;
}
- memcpy(checksum, checksum_new, GIT_HASH_SHA1_SIZE);
+ memcpy(checksum, checksum_new, GIT_HASH_SHA256_SIZE);
}
/*