aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-10-21 11:56:05 +0200
committerHarald Welte <laforge@gnumonks.org>2018-10-21 11:56:05 +0200
commit0479b2a15f58c4a999584d1da92f88815700f314 (patch)
treee0981ad9e5d54179b17a005b883cf1688dfddb2a /src
parentff6606cacb18985b5583e2a96bb36664d7c0e1f3 (diff)
check_rtp_origin(): Don't memcmp sockadd_in and in_addr
We were comparing 16 bytes (sockaddr_in) in memcmp() rather than using four bytes (struct in_addr in mgcp conn end). This is a good example why we should actually simply use the == (equals) operator rather than using memcmp which treats everything as void. Change-Id: Ic64256619ef893d625400e8b1b573ea2c629ed9c Fixes: Coverity CID#188874
Diffstat (limited to 'src')
-rw-r--r--src/libosmo-mgcp/mgcp_network.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index d769ef383..fe63f1e1a 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -874,7 +874,7 @@ static int check_rtp_origin(struct mgcp_conn_rtp *conn,
endp = conn->conn->endp;
struct sockaddr_in zero_addr = {};
- if (memcmp(&zero_addr, &conn->end.addr, sizeof(zero_addr)) == 0) {
+ if (memcmp(&zero_addr.sin_addr, &conn->end.addr, sizeof(zero_addr.sin_addr)) == 0) {
switch (conn->conn->mode) {
case MGCP_CONN_LOOPBACK:
/* HACK: for IuUP, we want to reply with an IuUP Initialization ACK upon the first RTP