aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-07-21 13:06:15 +0200
committerHarald Welte <laforge@gnumonks.org>2017-07-21 13:11:24 +0200
commit604e0711596e7e06600a2d7aea3394d36e5d3bda (patch)
tree1788ad79fabbe6eb7e8af473ff01a933c53dacd6
parent4776b2972e84ef75b3a1c884da19604d87fc7f68 (diff)
sock_src_init(): Don't freeaddrinfo() undefined src_result
src_result is only valid "if (src)", so we cannot unconditionally free it: (gdb) bt host=0x52 <error: Cannot access memory at address 0x52>, src=0x0) at /usr/src/debug/osmo-pcap/0.0.6+gitrAUTOINC+4776b2972e-r1d/git/src/osmo_client_network.c:165 Change-Id: I3b6778d9110583ecb1daec59ef2c86465d5818b9
-rw-r--r--src/osmo_client_network.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c
index 937caa0..27c649a 100644
--- a/src/osmo_client_network.c
+++ b/src/osmo_client_network.c
@@ -162,7 +162,8 @@ static int sock_src_init(uint16_t family, uint16_t type, uint8_t proto,
close(sfd);
}
freeaddrinfo(result);
- freeaddrinfo(src_result);
+ if (src)
+ freeaddrinfo(src_result);
if (rp == NULL) {
fprintf(stderr, "unable to connect/bind socket: %s:%u: %s\n",