lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #63458] Sockopt hook cause socket leak.


From: Masakazu
Subject: [lwip-devel] [bug #63458] Sockopt hook cause socket leak.
Date: Fri, 2 Dec 2022 05:39:42 -0500 (EST)

URL:
  <https://savannah.nongnu.org/bugs/?63458>

                 Summary: Sockopt hook cause socket leak.
                 Project: lwIP - A Lightweight TCP/IP stack
               Submitter: kneko715
               Submitted: Fri 02 Dec 2022 10:39:40 AM UTC
                Category: sockets/netconn
                Severity: 3 - Normal
              Item Group: Faulty Behaviour
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
            lwIP version: 2.1.2


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Fri 02 Dec 2022 10:39:40 AM UTC By: Masakazu <kneko715>
After hooking lwip_setsockopt_impl or lwip_getsockopt_impl by using
LWIP_HOOK_SOCKETS_SETSOCKOPT or LWIP_HOOK_SOCKETS_GETSOCKOPT,
done_socket(sock) is not called so leak sock.


sockets.c :
http://git.savannah.gnu.org/cgit/lwip.git/tree/src/api/sockets.c#n2937

> static int
> lwip_getsockopt_impl(int s, int level, int optname, void *optval, socklen_t
*optlen)
> {
>   int err = 0;
>   struct lwip_sock *sock = tryget_socket(s);
>   if (!sock) {
>     return EBADF;
>   }
> 
> #ifdef LWIP_HOOK_SOCKETS_GETSOCKOPT
>   if (LWIP_HOOK_SOCKETS_GETSOCKOPT(s, sock, level, optname, optval, optlen,
&err)) {
>     *!!CALL done_socket(sock) here!!*
>     return err;
>   }
> #endif

After hooked, should call done_socket(sock) before return.

Thank you.







    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?63458>

_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]