diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cache.c | 12 | ||||
| -rw-r--r-- | src/commit.c | 4 | ||||
| -rw-r--r-- | src/commit.h | 1 | ||||
| -rw-r--r-- | src/config_file.c | 2 | ||||
| -rw-r--r-- | src/mwindow.c | 2 | ||||
| -rw-r--r-- | src/odb_loose.c | 22 | ||||
| -rw-r--r-- | src/odb_pack.c | 8 | ||||
| -rw-r--r-- | src/refs.c | 2 | ||||
| -rw-r--r-- | src/remote.c | 5 | ||||
| -rw-r--r-- | src/repository.c | 2 | ||||
| -rw-r--r-- | src/revwalk.c | 6 | ||||
| -rw-r--r-- | src/signature.c | 6 | ||||
| -rw-r--r-- | src/tree.c | 9 | 
13 files changed, 40 insertions, 41 deletions
diff --git a/src/cache.c b/src/cache.c index cb3a4ecc0..79f3eaea2 100644 --- a/src/cache.c +++ b/src/cache.c @@ -58,12 +58,12 @@ void git_cache_free(git_cache *cache)  void *git_cache_get(git_cache *cache, const git_oid *oid)  { -	const uint32_t *hash; +	uint32_t hash;  	cache_node *node = NULL;  	void *result = NULL; -	hash = (const uint32_t *)oid->id; -	node = &cache->nodes[hash[0] & cache->size_mask]; +	memcpy(&hash, oid->id, sizeof(hash)); +	node = &cache->nodes[hash & cache->size_mask];  	git_mutex_lock(&node->lock);  	{ @@ -79,13 +79,13 @@ void *git_cache_get(git_cache *cache, const git_oid *oid)  void *git_cache_try_store(git_cache *cache, void *entry)  { -	const uint32_t *hash; +	uint32_t hash;  	const git_oid *oid;  	cache_node *node = NULL;  	oid = &((git_cached_obj*)entry)->oid; -	hash = (const uint32_t *)oid->id; -	node = &cache->nodes[hash[0] & cache->size_mask]; +	memcpy(&hash, oid->id, sizeof(hash)); +	node = &cache->nodes[hash & cache->size_mask];  	/* increase the refcount on this object, because  	 * the cache now owns it */ diff --git a/src/commit.c b/src/commit.c index 460057e7c..0ee3854c4 100644 --- a/src/commit.c +++ b/src/commit.c @@ -169,7 +169,7 @@ cleanup:  	return error;  } -int commit_parse_buffer(git_commit *commit, const void *data, size_t len) +int git_commit__parse_buffer(git_commit *commit, const void *data, size_t len)  {  	const char *buffer = data;  	const char *buffer_end = (const char *)data + len; @@ -236,7 +236,7 @@ int commit_parse_buffer(git_commit *commit, const void *data, size_t len)  int git_commit__parse(git_commit *commit, git_odb_object *obj)  {  	assert(commit); -	return commit_parse_buffer(commit, obj->raw.data, obj->raw.len); +	return git_commit__parse_buffer(commit, obj->raw.data, obj->raw.len);  }  #define GIT_COMMIT_GETTER(_rvalue, _name, _return) \ diff --git a/src/commit.h b/src/commit.h index 456aa7914..bfc4bba19 100644 --- a/src/commit.h +++ b/src/commit.h @@ -30,4 +30,5 @@ struct git_commit {  void git_commit__free(git_commit *c);  int git_commit__parse(git_commit *commit, git_odb_object *obj); +int git_commit__parse_buffer(git_commit *commit, const void *data, size_t len);  #endif diff --git a/src/config_file.c b/src/config_file.c index 3804f97c4..f76efed97 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -553,7 +553,7 @@ static char *cfg_readline(diskfile_backend *cfg)  /*   * Consume a line, without storing it anywhere   */ -void cfg_consume_line(diskfile_backend *cfg) +static void cfg_consume_line(diskfile_backend *cfg)  {  	char *line_start, *line_end; diff --git a/src/mwindow.c b/src/mwindow.c index 76b80d779..c126fa2bd 100644 --- a/src/mwindow.c +++ b/src/mwindow.c @@ -113,7 +113,7 @@ void git_mwindow_scan_lru(   * Close the least recently used window. You should check to see if   * the file descriptors need closing from time to time.   */ -int git_mwindow_close_lru(git_mwindow_file *mwf) +static int git_mwindow_close_lru(git_mwindow_file *mwf)  {  	unsigned int i;  	git_mwindow *lru_w = NULL, *lru_l = NULL; diff --git a/src/odb_loose.c b/src/odb_loose.c index 59703ce95..3ca46d1b5 100644 --- a/src/odb_loose.c +++ b/src/odb_loose.c @@ -463,7 +463,7 @@ static int locate_object(char *object_location, loose_backend *backend, const gi  }  /* Explore an entry of a directory and see if it matches a short oid */ -int fn_locate_object_short_oid(void *state, char *pathbuf) { +static int fn_locate_object_short_oid(void *state, char *pathbuf) {  	loose_locate_object_state *sstate = (loose_locate_object_state *)state;  	size_t pathbuf_len = strlen(pathbuf); @@ -559,7 +559,7 @@ static int locate_object_short_oid(char *object_location, git_oid *res_oid, loos   *   ***********************************************************/ -int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid) +static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)  {  	char object_path[GIT_PATH_MAX];  	git_rawobj raw; @@ -581,7 +581,7 @@ int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend  	return GIT_SUCCESS;  } -int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid) +static int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)  {  	char object_path[GIT_PATH_MAX];  	git_rawobj raw; @@ -602,7 +602,7 @@ int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_o  	return GIT_SUCCESS;  } -int loose_backend__read_prefix( +static int loose_backend__read_prefix(  	git_oid *out_oid,  	void **buffer_p,  	size_t *len_p, @@ -643,7 +643,7 @@ int loose_backend__read_prefix(  	return GIT_SUCCESS;  } -int loose_backend__exists(git_odb_backend *backend, const git_oid *oid) +static int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)  {  	char object_path[GIT_PATH_MAX]; @@ -652,7 +652,7 @@ int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)  	return locate_object(object_path, (loose_backend *)backend, oid) == GIT_SUCCESS;  } -int loose_backend__stream_fwrite(git_oid *oid, git_odb_stream *_stream) +static int loose_backend__stream_fwrite(git_oid *oid, git_odb_stream *_stream)  {  	loose_writestream *stream = (loose_writestream *)_stream;  	loose_backend *backend = (loose_backend *)_stream->backend; @@ -673,13 +673,13 @@ int loose_backend__stream_fwrite(git_oid *oid, git_odb_stream *_stream)  	return git_filebuf_commit_at(&stream->fbuf, final_path);  } -int loose_backend__stream_write(git_odb_stream *_stream, const char *data, size_t len) +static int loose_backend__stream_write(git_odb_stream *_stream, const char *data, size_t len)  {  	loose_writestream *stream = (loose_writestream *)_stream;  	return git_filebuf_write(&stream->fbuf, data, len);  } -void loose_backend__stream_free(git_odb_stream *_stream) +static void loose_backend__stream_free(git_odb_stream *_stream)  {  	loose_writestream *stream = (loose_writestream *)_stream; @@ -702,7 +702,7 @@ static int format_object_header(char *hdr, size_t n, size_t obj_len, git_otype o  	return len+1;  } -int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_backend, size_t length, git_otype type) +static int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_backend, size_t length, git_otype type)  {  	loose_backend *backend;  	loose_writestream *stream; @@ -754,7 +754,7 @@ int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_backend  	return GIT_SUCCESS;  } -int loose_backend__write(git_oid *oid, git_odb_backend *_backend, const void *data, size_t len, git_otype type) +static int loose_backend__write(git_oid *oid, git_odb_backend *_backend, const void *data, size_t len, git_otype type)  {  	int error, header_len;  	char final_path[GIT_PATH_MAX], header[64]; @@ -797,7 +797,7 @@ cleanup:  	return error;  } -void loose_backend__free(git_odb_backend *_backend) +static void loose_backend__free(git_odb_backend *_backend)  {  	loose_backend *backend;  	assert(_backend); diff --git a/src/odb_pack.c b/src/odb_pack.c index 1867ada96..4607fb74a 100644 --- a/src/odb_pack.c +++ b/src/odb_pack.c @@ -363,7 +363,7 @@ int pack_backend__read_header(git_rawobj *obj, git_odb_backend *backend, const g  }  */ -int pack_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid) +static int pack_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)  {  	struct git_pack_entry e;  	git_rawobj raw; @@ -382,7 +382,7 @@ int pack_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_od  	return GIT_SUCCESS;  } -int pack_backend__read_prefix( +static int pack_backend__read_prefix(  	git_oid *out_oid,  	void **buffer_p,  	size_t *len_p, @@ -421,13 +421,13 @@ int pack_backend__read_prefix(  	return GIT_SUCCESS;  } -int pack_backend__exists(git_odb_backend *backend, const git_oid *oid) +static int pack_backend__exists(git_odb_backend *backend, const git_oid *oid)  {  	struct git_pack_entry e;  	return pack_entry_find(&e, (struct pack_backend *)backend, oid) == GIT_SUCCESS;  } -void pack_backend__free(git_odb_backend *_backend) +static void pack_backend__free(git_odb_backend *_backend)  {  	struct pack_backend *backend;  	size_t i; diff --git a/src/refs.c b/src/refs.c index 7cfbe557f..bc8827b46 100644 --- a/src/refs.c +++ b/src/refs.c @@ -1548,7 +1548,7 @@ int git_reference_foreach(git_repository *repo, unsigned int list_flags, int (*c  	return git_futils_direach(refs_path, GIT_PATH_MAX, _dirent_loose_listall, &data);  } -int cb__reflist_add(const char *ref, void *data) +static int cb__reflist_add(const char *ref, void *data)  {  	return git_vector_insert((git_vector *)data, git__strdup(ref));  } diff --git a/src/remote.c b/src/remote.c index ad9dedc15..f581b973f 100644 --- a/src/remote.c +++ b/src/remote.c @@ -216,11 +216,6 @@ int git_remote_download(char **filename, git_remote *remote)  	return git_fetch_download_pack(filename, remote);  } -git_headarray *git_remote_tips(git_remote *remote) -{ -	return &remote->refs; -} -  int git_remote_update_tips(struct git_remote *remote)  {  	int error = GIT_SUCCESS; diff --git a/src/repository.c b/src/repository.c index 15ee67fa4..bb7ef396d 100644 --- a/src/repository.c +++ b/src/repository.c @@ -156,7 +156,7 @@ static int quickcheck_repository_dir(const char *repository_path)  	return GIT_SUCCESS;  } -static git_repository *repository_alloc() +static git_repository *repository_alloc(void)  {  	int error; diff --git a/src/revwalk.c b/src/revwalk.c index 768e11089..72eb69aba 100644 --- a/src/revwalk.c +++ b/src/revwalk.c @@ -52,7 +52,7 @@ struct git_revwalk {  	unsigned int sorting;  }; -commit_list *commit_list_insert(commit_object *item, commit_list **list_p) +static commit_list *commit_list_insert(commit_object *item, commit_list **list_p)  {  	commit_list *new_list = git__malloc(sizeof(commit_list));  	new_list->item = item; @@ -61,7 +61,7 @@ commit_list *commit_list_insert(commit_object *item, commit_list **list_p)  	return new_list;  } -void commit_list_free(commit_list **list_p) +static void commit_list_free(commit_list **list_p)  {  	commit_list *list = *list_p; @@ -74,7 +74,7 @@ void commit_list_free(commit_list **list_p)  	*list_p = NULL;  } -commit_object *commit_list_pop(commit_list **stack) +static commit_object *commit_list_pop(commit_list **stack)  {  	commit_list *top = *stack;  	commit_object *item = top ? top->item : NULL; diff --git a/src/signature.c b/src/signature.c index 09915f89e..7cc3733bc 100644 --- a/src/signature.c +++ b/src/signature.c @@ -203,7 +203,7 @@ static int parse_timezone_offset(const char *buffer, int *offset_out)  	return GIT_SUCCESS;  } -int process_next_token(const char **buffer_out, char **storage, +static int process_next_token(const char **buffer_out, char **storage,  	const char *token_end, const char *right_boundary)  {  	int error = process_trimming(*buffer_out, storage, token_end, 0); @@ -218,7 +218,7 @@ int process_next_token(const char **buffer_out, char **storage,  	return GIT_SUCCESS;  } -const char *scan_for_previous_token(const char *buffer, const char *left_boundary) +static const char *scan_for_previous_token(const char *buffer, const char *left_boundary)  {  	const char *start; @@ -234,7 +234,7 @@ const char *scan_for_previous_token(const char *buffer, const char *left_boundar  	return start;  } -int parse_time(git_time_t *time_out, const char *buffer) +static int parse_time(git_time_t *time_out, const char *buffer)  {  	long time;  	int error; diff --git a/src/tree.c b/src/tree.c index bccc91136..ce399a66a 100644 --- a/src/tree.c +++ b/src/tree.c @@ -24,7 +24,7 @@ struct tree_key_search {  	size_t filename_len;  }; -int entry_search_cmp(const void *key, const void *array_member) +static int entry_search_cmp(const void *key, const void *array_member)  {  	const struct tree_key_search *ksearch = key;  	const git_tree_entry *entry = array_member; @@ -37,7 +37,7 @@ int entry_search_cmp(const void *key, const void *array_member)  	return result ? result : ((int)ksearch->filename_len - (int)entry->filename_len);  } -int entry_sort_cmp(const void *a, const void *b) +static int entry_sort_cmp(const void *a, const void *b)  {  	const git_tree_entry *entry_a = (const git_tree_entry *)(a);  	const git_tree_entry *entry_b = (const git_tree_entry *)(b); @@ -157,6 +157,7 @@ static int tree_parse_buffer(git_tree *tree, const char *buffer, const char *buf  	while (buffer < buffer_end) {  		git_tree_entry *entry; +		long tmp;  		entry = git__calloc(1, sizeof(git_tree_entry));  		if (entry == NULL) { @@ -167,8 +168,10 @@ static int tree_parse_buffer(git_tree *tree, const char *buffer, const char *buf  		if (git_vector_insert(&tree->entries, entry) < GIT_SUCCESS)  			return GIT_ENOMEM; -		if (git__strtol32((long *)&entry->attr, buffer, &buffer, 8) < GIT_SUCCESS) +		if (git__strtol32(&tmp, buffer, &buffer, 8) < GIT_SUCCESS || +			!buffer || tmp > UINT_MAX || tmp < 0)  			return git__throw(GIT_EOBJCORRUPTED, "Failed to parse tree. Can't parse attributes"); +		entry->attr = tmp;  		if (*buffer++ != ' ') {  			error = git__throw(GIT_EOBJCORRUPTED, "Failed to parse tree. Object it corrupted");  | 
