diff options
author | Harald Welte <laforge@gnumonks.org> | 2016-11-26 09:27:04 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-11-26 09:27:46 +0100 |
commit | 34260c892390c6831a0a5fb906bc3bffcfd08896 (patch) | |
tree | 7e229a0569c6267aeb008f0b24cc9d6f8a0a368a | |
parent | input/ipaccess.c: Check return value of osmo_fd_register() (diff) | |
download | libosmo-abis-34260c892390c6831a0a5fb906bc3bffcfd08896.tar.xz libosmo-abis-34260c892390c6831a0a5fb906bc3bffcfd08896.zip |
osmo_rtp_socket_fdreg(): Check return value of osmo_fd_register()
Change-Id: I4969e0a9e7109d426066e6c2b80ed44c396b65b5
Fixes: Coverity CID 57631
-rw-r--r-- | src/trau/osmo_ortp.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c index e7c6fc4..51829d1 100644 --- a/src/trau/osmo_ortp.c +++ b/src/trau/osmo_ortp.c @@ -211,6 +211,8 @@ static int osmo_rtcp_fd_cb(struct osmo_fd *fd, unsigned int what) static int osmo_rtp_socket_fdreg(struct osmo_rtp_socket *rs) { + int rc; + rs->rtp_bfd.fd = rtp_session_get_rtp_socket(rs->sess); rs->rtcp_bfd.fd = rtp_session_get_rtcp_socket(rs->sess); rs->rtp_bfd.when = rs->rtcp_bfd.when = BSC_FD_READ; @@ -218,8 +220,15 @@ static int osmo_rtp_socket_fdreg(struct osmo_rtp_socket *rs) rs->rtp_bfd.cb = osmo_rtp_fd_cb; rs->rtcp_bfd.cb = osmo_rtcp_fd_cb; - osmo_fd_register(&rs->rtp_bfd); - osmo_fd_register(&rs->rtcp_bfd); + rc = osmo_fd_register(&rs->rtp_bfd); + if (rc < 0) + return rc; + + rc = osmo_fd_register(&rs->rtcp_bfd); + if (rc < 0) { + osmo_fd_unregister(&rs->rtp_bfd); + return rc; + } return 0; } |