aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/proto_srv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/proto_srv.c b/src/proto_srv.c
index d6d3d17..2b85ac6 100644
--- a/src/proto_srv.c
+++ b/src/proto_srv.c
@@ -185,6 +185,7 @@ _e1dp_server_accept(struct osmo_fd *fd, unsigned int flags)
conn = talloc_zero(srv->ctx, struct osmo_e1dp_server_conn);
if (!conn) {
LOGP(DE1D, LOGL_ERROR, "Failed to create incoming connection.\n");
+ close(rc);
return -1;
}
@@ -197,6 +198,8 @@ _e1dp_server_accept(struct osmo_fd *fd, unsigned int flags)
if (osmo_fd_register(&conn->fd) != 0) {
LOGP(DE1D, LOGL_ERROR, "Failed to register incoming fd.\n");
+ close(conn->fd.fd);
+ talloc_free(conn);
return -1;
}