git__strndup: immediately return NULL when ENOMEM

Signed-off-by: schu <schu-github@schulog.org>
This commit is contained in:
schu 2011-08-17 15:20:43 +02:00
parent 5a0659fe3b
commit 31e5909214

View File

@ -47,11 +47,13 @@ GIT_INLINE(char *) git__strndup(const char *str, size_t n)
length = n;
ptr = (char*)malloc(length + 1);
if (!ptr)
if (!ptr) {
git__throw(GIT_ENOMEM, "Out of memory. Failed to duplicate string");
return NULL;
}
memcpy(ptr, str, length);
ptr[length] = 0;
ptr[length] = '\0';
return ptr;
}