summaryrefslogtreecommitdiff
path: root/src/libgit2/config_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libgit2/config_file.c')
-rw-r--r--src/libgit2/config_file.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/libgit2/config_file.c b/src/libgit2/config_file.c
index 932ca7601..716924de6 100644
--- a/src/libgit2/config_file.c
+++ b/src/libgit2/config_file.c
@@ -26,7 +26,7 @@
typedef struct config_file {
git_futils_filestamp stamp;
- unsigned char checksum[GIT_HASH_SHA1_SIZE];
+ unsigned char checksum[GIT_HASH_SHA256_SIZE];
char *path;
git_array_t(struct config_file) includes;
} config_file;
@@ -133,7 +133,7 @@ static int config_file_is_modified(int *modified, config_file *file)
{
config_file *include;
git_str buf = GIT_STR_INIT;
- unsigned char checksum[GIT_HASH_SHA1_SIZE];
+ unsigned char checksum[GIT_HASH_SHA256_SIZE];
uint32_t i;
int error = 0;
@@ -145,10 +145,10 @@ static int config_file_is_modified(int *modified, config_file *file)
if ((error = git_futils_readbuffer(&buf, file->path)) < 0)
goto out;
- if ((error = git_hash_buf(checksum, buf.ptr, buf.size, GIT_HASH_ALGORITHM_SHA1)) < 0)
+ if ((error = git_hash_buf(checksum, buf.ptr, buf.size, GIT_HASH_ALGORITHM_SHA256)) < 0)
goto out;
- if (memcmp(checksum, file->checksum, GIT_HASH_SHA1_SIZE) != 0) {
+ if (memcmp(checksum, file->checksum, GIT_HASH_SHA256_SIZE) != 0) {
*modified = 1;
goto out;
}
@@ -881,7 +881,7 @@ static int config_file_read(
goto out;
git_futils_filestamp_set_from_stat(&file->stamp, &st);
- if ((error = git_hash_buf(file->checksum, contents.ptr, contents.size, GIT_HASH_ALGORITHM_SHA1)) < 0)
+ if ((error = git_hash_buf(file->checksum, contents.ptr, contents.size, GIT_HASH_ALGORITHM_SHA256)) < 0)
goto out;
if ((error = config_file_read_buffer(entries, repo, file, level, depth,
@@ -1116,7 +1116,12 @@ static int write_on_eof(
/*
* This is pretty much the parsing, except we write out anything we don't have
*/
-static int config_file_write(config_file_backend *cfg, const char *orig_key, const char *key, const git_regexp *preg, const char *value)
+static int config_file_write(
+ config_file_backend *cfg,
+ const char *orig_key,
+ const char *key,
+ const git_regexp *preg,
+ const char *value)
{
char *orig_section = NULL, *section = NULL, *orig_name, *name, *ldot;
@@ -1131,8 +1136,9 @@ static int config_file_write(config_file_backend *cfg, const char *orig_key, con
if (cfg->locked) {
error = git_str_puts(&contents, git_str_cstr(&cfg->locked_content) == NULL ? "" : git_str_cstr(&cfg->locked_content));
} else {
- if ((error = git_filebuf_open(&file, cfg->file.path, GIT_FILEBUF_HASH_CONTENTS,
- GIT_CONFIG_FILE_MODE)) < 0)
+ if ((error = git_filebuf_open(&file, cfg->file.path,
+ GIT_FILEBUF_HASH_SHA256,
+ GIT_CONFIG_FILE_MODE)) < 0)
goto done;
/* We need to read in our own config file */