diff options
-rw-r--r-- | src/proto_srv.c | 3 |
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; } |