diff options
author | Pablo Neira Ayuso <pablo@soleta.eu> | 2014-08-28 19:50:01 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@soleta.eu> | 2014-08-28 19:50:41 +0200 |
commit | caa0aace218cdf6f324e3940c42dfb952cad12c5 (patch) | |
tree | 97144995ebff93cec7f0b5e8985f40c9965a5467 /openbsc/src/libmgcp | |
parent | 7a83f4d264e7b941b1e74bdca96bbcc715f0ca96 (diff) |
osmux: fix access to uninitialized memory area in scheduled_tx_*_cb
mgcp_send() needs some initialized address when printing a log message.
Nothing really serious but let's calm down valgrind.
Diffstat (limited to 'openbsc/src/libmgcp')
-rw-r--r-- | openbsc/src/libmgcp/mgcp_osmux.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/openbsc/src/libmgcp/mgcp_osmux.c b/openbsc/src/libmgcp/mgcp_osmux.c index c57df005b..b554b35b0 100644 --- a/openbsc/src/libmgcp/mgcp_osmux.c +++ b/openbsc/src/libmgcp/mgcp_osmux.c @@ -210,7 +210,10 @@ endpoint_lookup(struct mgcp_config *cfg, int cid, static void scheduled_tx_net_cb(struct msgb *msg, void *data) { struct mgcp_endpoint *endp = data; - struct sockaddr_in addr; + struct sockaddr_in addr = { + .sin_addr = endp->net_end.addr, + .sin_port = endp->net_end.rtp_port, + }; mgcp_send(endp, MGCP_DEST_NET, 1, &addr, (char *)msg->data, msg->len); msgb_free(msg); @@ -219,7 +222,10 @@ static void scheduled_tx_net_cb(struct msgb *msg, void *data) static void scheduled_tx_bts_cb(struct msgb *msg, void *data) { struct mgcp_endpoint *endp = data; - struct sockaddr_in addr; + struct sockaddr_in addr = { + .sin_addr = endp->bts_end.addr, + .sin_port = endp->bts_end.rtp_port, + }; mgcp_send(endp, MGCP_DEST_BTS, 1, &addr, (char *)msg->data, msg->len); msgb_free(msg); |