fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/42404?usp=email )


Change subject: socket: osmo_sockaddr_from_str_and_uint(): fix memleak
......................................................................

socket: osmo_sockaddr_from_str_and_uint(): fix memleak

`addrinfo_helper()` internally calls `getaddrinfo()`, whose result
must be freed with `freeaddrinfo()`.  On the size-check error path
the function returns early without freeing.  Fix this.

Change-Id: Ib05e1b8f2465e0db79e7b45de151dc9945e27924
---
M src/core/socket.c
1 file changed, 3 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/42404/1

diff --git a/src/core/socket.c b/src/core/socket.c
index 6cd82f0..3a2d7b7 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -1762,8 +1762,10 @@
        if (!ai)
                return -EIO;

-       if (ai->ai_addrlen > sizeof(*osa_out))
+       if (ai->ai_addrlen > sizeof(*osa_out)) {
+               freeaddrinfo(ai);
                return -ENOSPC;
+       }

        memcpy(&osa_out->u.sa, ai->ai_addr, ai->ai_addrlen);
        freeaddrinfo(ai);

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/42404?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ib05e1b8f2465e0db79e7b45de151dc9945e27924
Gerrit-Change-Number: 42404
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <[email protected]>

Reply via email to