summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Bauer <mail@sebastianbauer.info>2015-12-31 11:12:57 +0100
committerSebastian Bauer <mail@sebastianbauer.info>2015-12-31 14:52:24 +0100
commitea5942b4cfb56eeb7375e3af2ec76545f551b4df (patch)
tree3aba01c631c7b1f1d264253a3c37a9b981c8355d
parent700f0aff24d9b292f24d802c3af3b5c1705193c5 (diff)
downloadlibgit2-ea5942b4cfb56eeb7375e3af2ec76545f551b4df.tar.gz
Bail out early when no memory is available.
-rw-r--r--src/posix.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/posix.c b/src/posix.c
index 8d86aa8bf..de9181a42 100644
--- a/src/posix.c
+++ b/src/posix.c
@@ -62,7 +62,10 @@ int p_getaddrinfo(
ai = ainfo;
for (p = 1; ainfo->ai_hostent->h_addr_list[p] != NULL; p++) {
- ai->ai_next = malloc(sizeof(struct addrinfo));
+ if (!(ai->ai_next = malloc(sizeof(struct addrinfo)))) {
+ p_freeaddrinfo(ainfo);
+ return -1;
+ }
memcpy(&ai->ai_next, ainfo, sizeof(struct addrinfo));
memcpy(&ai->ai_next->ai_addr_in.sin_addr,
ainfo->ai_hostent->h_addr_list[p],