diff options
author | Harald Welte <laforge@osmocom.org> | 2023-07-18 13:58:54 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2023-07-18 14:00:09 +0200 |
commit | 3dabaf363671cdad7b5f5e6250c16b920af607ea (patch) | |
tree | 6de492c771406806bd3516951374024188908365 /src | |
parent | 06ab6a991f1e2624c8c0490d5430b2cb88d6fb86 (diff) |
proto_srv: Fix file descriptor and memory leak in error paths
Fixes: CID#307517
Change-Id: I44e349eee5b0b54843762db8cadd6b9b1758faa4
Diffstat (limited to 'src')
-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; } |