Commit f5385150 by Vicent Martí

Merge pull request #1728 from ivoire/small_fixes

Small fixes
parents 3f8086e0 c6451624
...@@ -1409,14 +1409,18 @@ static int read_reuc(git_index *index, const char *buffer, size_t size) ...@@ -1409,14 +1409,18 @@ static int read_reuc(git_index *index, const char *buffer, size_t size)
if (git__strtol32(&tmp, buffer, &endptr, 8) < 0 || if (git__strtol32(&tmp, buffer, &endptr, 8) < 0 ||
!endptr || endptr == buffer || *endptr || !endptr || endptr == buffer || *endptr ||
(unsigned)tmp > UINT_MAX) (unsigned)tmp > UINT_MAX) {
index_entry_reuc_free(lost);
return index_error_invalid("reading reuc entry stage"); return index_error_invalid("reading reuc entry stage");
}
lost->mode[i] = tmp; lost->mode[i] = tmp;
len = (endptr + 1) - buffer; len = (endptr + 1) - buffer;
if (size <= len) if (size <= len) {
index_entry_reuc_free(lost);
return index_error_invalid("reading reuc entry stage"); return index_error_invalid("reading reuc entry stage");
}
size -= len; size -= len;
buffer += len; buffer += len;
...@@ -1426,8 +1430,10 @@ static int read_reuc(git_index *index, const char *buffer, size_t size) ...@@ -1426,8 +1430,10 @@ static int read_reuc(git_index *index, const char *buffer, size_t size)
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (!lost->mode[i]) if (!lost->mode[i])
continue; continue;
if (size < 20) if (size < 20) {
index_entry_reuc_free(lost);
return index_error_invalid("reading reuc entry oid"); return index_error_invalid("reading reuc entry oid");
}
git_oid_fromraw(&lost->oid[i], (const unsigned char *) buffer); git_oid_fromraw(&lost->oid[i], (const unsigned char *) buffer);
size -= 20; size -= 20;
......
...@@ -325,7 +325,7 @@ static int hash_and_save(git_indexer_stream *idx, git_rawobj *obj, git_off_t ent ...@@ -325,7 +325,7 @@ static int hash_and_save(git_indexer_stream *idx, git_rawobj *obj, git_off_t ent
/* FIXME: Parse the object instead of hashing it */ /* FIXME: Parse the object instead of hashing it */
if (git_odb__hashobj(&oid, obj) < 0) { if (git_odb__hashobj(&oid, obj) < 0) {
giterr_set(GITERR_INDEXER, "Failed to hash object"); giterr_set(GITERR_INDEXER, "Failed to hash object");
return -1; goto on_error;
} }
pentry = git__calloc(1, sizeof(struct git_pack_entry)); pentry = git__calloc(1, sizeof(struct git_pack_entry));
......
...@@ -1902,8 +1902,10 @@ static int write_merge_msg( ...@@ -1902,8 +1902,10 @@ static int write_merge_msg(
entries = git__calloc(heads_len, sizeof(struct merge_msg_entry)); entries = git__calloc(heads_len, sizeof(struct merge_msg_entry));
GITERR_CHECK_ALLOC(entries); GITERR_CHECK_ALLOC(entries);
if (git_vector_init(&matching, heads_len, NULL) < 0) if (git_vector_init(&matching, heads_len, NULL) < 0) {
git__free(entries);
return -1; return -1;
}
for (i = 0; i < heads_len; i++) for (i = 0; i < heads_len; i++)
entries[i].merge_head = heads[i]; entries[i].merge_head = heads[i];
......
...@@ -232,6 +232,7 @@ int git_odb__hashlink(git_oid *out, const char *path) ...@@ -232,6 +232,7 @@ int git_odb__hashlink(git_oid *out, const char *path)
link_data[size] = '\0'; link_data[size] = '\0';
if (read_len != (ssize_t)size) { if (read_len != (ssize_t)size) {
giterr_set(GITERR_OS, "Failed to read symlink data for '%s'", path); giterr_set(GITERR_OS, "Failed to read symlink data for '%s'", path);
git__free(link_data);
return -1; return -1;
} }
......
...@@ -505,8 +505,10 @@ static git_pobject **compute_write_order(git_packbuilder *pb) ...@@ -505,8 +505,10 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
/* /*
* Mark objects that are at the tip of tags. * Mark objects that are at the tip of tags.
*/ */
if (git_tag_foreach(pb->repo, &cb_tag_foreach, pb) < 0) if (git_tag_foreach(pb->repo, &cb_tag_foreach, pb) < 0) {
git__free(wo);
return NULL; return NULL;
}
/* /*
* Give the objects in the original recency order until * Give the objects in the original recency order until
......
...@@ -329,8 +329,10 @@ static int pack_index_open(struct git_pack_file *p) ...@@ -329,8 +329,10 @@ static int pack_index_open(struct git_pack_file *p)
memcpy(idx_name, p->pack_name, base_len); memcpy(idx_name, p->pack_name, base_len);
memcpy(idx_name + base_len, ".idx", sizeof(".idx")); memcpy(idx_name + base_len, ".idx", sizeof(".idx"));
if ((error = git_mutex_lock(&p->lock)) < 0) if ((error = git_mutex_lock(&p->lock)) < 0) {
git__free(idx_name);
return error; return error;
}
if (p->index_version == -1) if (p->index_version == -1)
error = pack_index_check(idx_name, p); error = pack_index_check(idx_name, p);
......
...@@ -1500,12 +1500,12 @@ int git_repository_is_empty(git_repository *repo) ...@@ -1500,12 +1500,12 @@ int git_repository_is_empty(git_repository *repo)
if (git_reference_lookup(&head, repo, GIT_HEAD_FILE) < 0) if (git_reference_lookup(&head, repo, GIT_HEAD_FILE) < 0)
return -1; return -1;
if (!(error = git_reference_type(head) == GIT_REF_SYMBOLIC)) if (!((error = git_reference_type(head)) == GIT_REF_SYMBOLIC))
goto cleanup; goto cleanup;
if (!(error = strcmp( if (!(error = (strcmp(
git_reference_symbolic_target(head), git_reference_symbolic_target(head),
GIT_REFS_HEADS_DIR "master") == 0)) GIT_REFS_HEADS_DIR "master") == 0)))
goto cleanup; goto cleanup;
error = repo_contains_no_reference(repo); error = repo_contains_no_reference(repo);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment