Closing a connection, thus calling net_context_put() will not close a TCP connection properly, and will leak tcp connection memory. This is because: net_context_put calls net_context_unref which calls net_tcp_unref which leads to unref tcp connection and thus sets ctx->tcp to NULL. Back to net_context_put, that one finally calls net_tcp_put: but that bails out directly since ctx->tcp is NULL. Fixing it by inverting net_tcp_put() and net_context_unref() calls within net_context_put(). Fixes #38598 Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> |
||
|---|---|---|
| .. | ||
| ip | ||
| l2 | ||
| lib | ||
| buf.c | ||
| CMakeLists.txt | ||
| hostname.c | ||
| Kconfig | ||
| Kconfig.hostname | ||
| Kconfig.template.log_config.default.net | ||
| Kconfig.template.log_config.net | ||