Commit 8a328cf4 by Vicent Martí

Merge pull request #1058 from pwkelley/development

Fixes for two segfaults
parents 39d7cf60 fcd03beb
...@@ -41,6 +41,7 @@ void git_cache_free(git_cache *cache) ...@@ -41,6 +41,7 @@ void git_cache_free(git_cache *cache)
git_cached_obj_decref(cache->nodes[i], cache->free_obj); git_cached_obj_decref(cache->nodes[i], cache->free_obj);
} }
git_mutex_free(&cache->lock);
git__free(cache->nodes); git__free(cache->nodes);
} }
......
...@@ -278,6 +278,7 @@ static int winhttp_stream_read( ...@@ -278,6 +278,7 @@ static int winhttp_stream_read(
{ {
winhttp_stream *s = (winhttp_stream *)stream; winhttp_stream *s = (winhttp_stream *)stream;
winhttp_subtransport *t = OWNING_SUBTRANSPORT(s); winhttp_subtransport *t = OWNING_SUBTRANSPORT(s);
DWORD dw_bytes_read;
replay: replay:
/* Connect if necessary */ /* Connect if necessary */
...@@ -376,12 +377,14 @@ replay: ...@@ -376,12 +377,14 @@ replay:
if (!WinHttpReadData(s->request, if (!WinHttpReadData(s->request,
(LPVOID)buffer, (LPVOID)buffer,
buf_size, buf_size,
(LPDWORD)bytes_read)) &dw_bytes_read))
{ {
giterr_set(GITERR_OS, "Failed to read data"); giterr_set(GITERR_OS, "Failed to read data");
return -1; return -1;
} }
*bytes_read = dw_bytes_read;
return 0; return 0;
} }
......
...@@ -42,12 +42,11 @@ GIT_INLINE(char *) git__strdup(const char *str) ...@@ -42,12 +42,11 @@ GIT_INLINE(char *) git__strdup(const char *str)
GIT_INLINE(char *) git__strndup(const char *str, size_t n) GIT_INLINE(char *) git__strndup(const char *str, size_t n)
{ {
size_t length; size_t length = 0;
char *ptr; char *ptr;
length = strlen(str); while (length < n && str[length])
if (n < length) ++length;
length = n;
ptr = (char*)malloc(length + 1); ptr = (char*)malloc(length + 1);
if (!ptr) { if (!ptr) {
...@@ -55,7 +54,9 @@ GIT_INLINE(char *) git__strndup(const char *str, size_t n) ...@@ -55,7 +54,9 @@ GIT_INLINE(char *) git__strndup(const char *str, size_t n)
return NULL; return NULL;
} }
if (length)
memcpy(ptr, str, length); memcpy(ptr, str, length);
ptr[length] = '\0'; ptr[length] = '\0';
return ptr; return ptr;
......
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