diff options
author | Harald Welte <laforge@gnumonks.org> | 2017-07-21 13:06:15 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-07-21 13:11:24 +0200 |
commit | 604e0711596e7e06600a2d7aea3394d36e5d3bda (patch) | |
tree | 1788ad79fabbe6eb7e8af473ff01a933c53dacd6 | |
parent | 4776b2972e84ef75b3a1c884da19604d87fc7f68 (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.c | 3 |
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", |