mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-09 16:45:49 +00:00
Merge pull request #1058 from pwkelley/development
Fixes for two segfaults
This commit is contained in:
commit
8a328cf442
@ -41,6 +41,7 @@ void git_cache_free(git_cache *cache)
|
||||
git_cached_obj_decref(cache->nodes[i], cache->free_obj);
|
||||
}
|
||||
|
||||
git_mutex_free(&cache->lock);
|
||||
git__free(cache->nodes);
|
||||
}
|
||||
|
||||
|
@ -278,6 +278,7 @@ static int winhttp_stream_read(
|
||||
{
|
||||
winhttp_stream *s = (winhttp_stream *)stream;
|
||||
winhttp_subtransport *t = OWNING_SUBTRANSPORT(s);
|
||||
DWORD dw_bytes_read;
|
||||
|
||||
replay:
|
||||
/* Connect if necessary */
|
||||
@ -376,12 +377,14 @@ replay:
|
||||
if (!WinHttpReadData(s->request,
|
||||
(LPVOID)buffer,
|
||||
buf_size,
|
||||
(LPDWORD)bytes_read))
|
||||
&dw_bytes_read))
|
||||
{
|
||||
giterr_set(GITERR_OS, "Failed to read data");
|
||||
return -1;
|
||||
}
|
||||
|
||||
*bytes_read = dw_bytes_read;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
11
src/util.h
11
src/util.h
@ -42,12 +42,11 @@ GIT_INLINE(char *) git__strdup(const char *str)
|
||||
|
||||
GIT_INLINE(char *) git__strndup(const char *str, size_t n)
|
||||
{
|
||||
size_t length;
|
||||
size_t length = 0;
|
||||
char *ptr;
|
||||
|
||||
length = strlen(str);
|
||||
if (n < length)
|
||||
length = n;
|
||||
while (length < n && str[length])
|
||||
++length;
|
||||
|
||||
ptr = (char*)malloc(length + 1);
|
||||
if (!ptr) {
|
||||
@ -55,7 +54,9 @@ GIT_INLINE(char *) git__strndup(const char *str, size_t n)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memcpy(ptr, str, length);
|
||||
if (length)
|
||||
memcpy(ptr, str, length);
|
||||
|
||||
ptr[length] = '\0';
|
||||
|
||||
return ptr;
|
||||
|
Loading…
Reference in New Issue
Block a user