remsim_server: handle osmo_fd_register() failure case
>>> CID 307531: Error handling issues (CHECKED_RETURN)
>>> Calling "osmo_fd_register" without checking return value (as is done elsewhere 83 out of 97 times).
Closes: CID#307531
Change-Id: I7c2448303fba7caa27df65ac5f4d91ddf232ceb6
diff --git a/src/server/remsim_server.c b/src/server/remsim_server.c
index fad0b14..3687f15 100644
--- a/src/server/remsim_server.c
+++ b/src/server/remsim_server.c
@@ -124,13 +124,15 @@
if (rc < 0)
goto out_rps;
osmo_fd_setup(&g_event_ofd, rc, OSMO_FD_READ, event_fd_cb, g_rps, 0);
- osmo_fd_register(&g_event_ofd);
+ rc = osmo_fd_register(&g_event_ofd);
+ if (rc < 0)
+ goto out_eventfd;
signal(SIGUSR1, handle_sig_usr1);
rc = rest_api_init(talloc_rest_ctx, 9997);
if (rc < 0)
- goto out_eventfd;
+ goto out_unregister;
while (1) {
osmo_select_main(0);
@@ -140,6 +142,8 @@
exit(0);
+out_unregister:
+ osmo_fd_unregister(&g_event_ofd);
out_eventfd:
close(g_event_ofd.fd);
out_rps: