From 3bcb1efc33ade2bbe8950082ec551698d17c863c Mon Sep 17 00:00:00 2001 From: Akseli Peltola Date: Tue, 6 Oct 2020 20:46:45 +0300 Subject: [PATCH] modem: fix socket descriptor leak z_free_fd() is called twice then you close(). For example in ublox sara r4 driver offload_close() calls modem_socket_put() where z_free_fd() is called first time. Then this same function is called another time in socket.c in z_impl_zsock_close() after this function has called offload_close() in ublox sara r4 driver. This causes socket descriptor leak. Fixes #26819 Signed-off-by: Akseli Peltola --- drivers/modem/modem_socket.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/modem/modem_socket.c b/drivers/modem/modem_socket.c index aaf29eb35bb..f91fa660b64 100644 --- a/drivers/modem/modem_socket.c +++ b/drivers/modem/modem_socket.c @@ -233,7 +233,6 @@ void modem_socket_put(struct modem_socket_config *cfg, int sock_fd) k_sem_take(&cfg->sem_lock, K_FOREVER); - z_free_fd(sock->sock_fd); sock->id = cfg->base_socket_num - 1; sock->sock_fd = -1; sock->is_waiting = false;