diff options
author | Edward Thomson <ethomson@github.com> | 2016-02-28 20:13:24 -0500 |
---|---|---|
committer | Edward Thomson <ethomson@github.com> | 2016-02-28 20:13:24 -0500 |
commit | dbee683553ef4c43273b24ebc503d424c46c01f1 (patch) | |
tree | 65842c1fe901698c1bc049726d9bddde72a853c3 | |
parent | 1a9d7c95a1aaedffffd07665109663861195b993 (diff) | |
parent | 9f9df4b6e05cc5950953177a1cb48739f1ddfc29 (diff) | |
download | libgit2-dbee683553ef4c43273b24ebc503d424c46c01f1.tar.gz |
Merge pull request #3567 from sba1/few-p_getaddrinfo-fixes
Few p_getaddrinfo fixes
-rw-r--r-- | src/posix.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/posix.c b/src/posix.c index 8d86aa8bf..c7201ba14 100644 --- a/src/posix.c +++ b/src/posix.c @@ -62,8 +62,11 @@ int p_getaddrinfo( ai = ainfo; for (p = 1; ainfo->ai_hostent->h_addr_list[p] != NULL; p++) { - ai->ai_next = malloc(sizeof(struct addrinfo)); - memcpy(&ai->ai_next, ainfo, 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], ainfo->ai_hostent->h_length); |