From f63f1404ab96bfaa357a89c8e91cb65a357eb761 Mon Sep 17 00:00:00 2001 From: hankangkang Date: Mon, 2 Dec 2024 16:31:57 +0800 Subject: [PATCH] bug: free sock when func goto out --- src/api/lwipgz_sock.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/api/lwipgz_sock.c b/src/api/lwipgz_sock.c index 5419057..401c523 100644 --- a/src/api/lwipgz_sock.c +++ b/src/api/lwipgz_sock.c @@ -119,15 +119,17 @@ int gazelle_alloc_socket(struct netconn *newconn, int accepted, int flags) return fd; out: - if (sock != NULL) - sock->conn = NULL; - posix_api->close_fn(fd); + gazelle_free_socket(sock, fd); return -1; } /* reference tag: free_socket() */ void gazelle_free_socket(struct lwip_sock *sock, int fd) { + if (sock != NULL) { + sock->conn = NULL; + } + do_lwip_clean_sock(fd); posix_api->close_fn(fd); } -- 2.33.0