sgsn: Fix logically dead code in regard to the osmo_fd_register

The code was written like checking the return value of the
osmo_fd_register but the rc variable was not assigned for the
subsequent calls.

Fixes: Coverity CID 1040741
This commit is contained in:
Holger Hans Peter Freyther 2013-07-04 18:39:02 +02:00
parent 84402c0c82
commit 3a708afe63
1 changed files with 9 additions and 4 deletions

View File

@ -587,18 +587,23 @@ int sgsn_gtp_init(struct sgsn_instance *sgi)
sgi->gtp_fd1c.data = sgi;
sgi->gtp_fd1c.when = BSC_FD_READ;
sgi->gtp_fd1c.cb = sgsn_gtp_fd_cb;
osmo_fd_register(&sgi->gtp_fd1c);
if (rc < 0)
rc = osmo_fd_register(&sgi->gtp_fd1c);
if (rc < 0) {
osmo_fd_unregister(&sgi->gtp_fd0);
return rc;
}
sgi->gtp_fd1u.fd = gsn->fd1u;
sgi->gtp_fd1u.priv_nr = 2;
sgi->gtp_fd1u.data = sgi;
sgi->gtp_fd1u.when = BSC_FD_READ;
sgi->gtp_fd1u.cb = sgsn_gtp_fd_cb;
osmo_fd_register(&sgi->gtp_fd1u);
if (rc < 0)
rc = osmo_fd_register(&sgi->gtp_fd1u);
if (rc < 0) {
osmo_fd_unregister(&sgi->gtp_fd0);
osmo_fd_unregister(&sgi->gtp_fd1c);
return rc;
}
/* Start GTP re-transmission timer */
sgi->gtp_timer.cb = sgsn_gtp_tmr_cb;