summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorWang Yan <wangyan01@kylinos.cn>2026-07-02 10:59:49 +0800
committerPaolo Abeni <pabeni@redhat.com>2026-07-09 10:32:58 +0200
commitf4ef35efbb49527293309f668ea73ec5de9b8e7a (patch)
tree8de65ddd4d680d2c3e3d9ff97fe01e22d86dd696 /tools/testing
parent6d27e29a90bc6a717b97c6ddcd866db7bd8e4adc (diff)
downloadlinux-next-f4ef35efbb49527293309f668ea73ec5de9b8e7a.tar.gz
linux-next-f4ef35efbb49527293309f668ea73ec5de9b8e7a.zip
selftests/net: fix EVP_MD_CTX leak in tcp_mmap
In tcp_mmap.c, both child_thread() and main() allocate an EVP_MD_CTX via EVP_MD_CTX_new() when integrity checking is enabled, but neither function releases the context. child_thread() misses the free in its common cleanup block, and main() returns without freeing the context. This results in a SHA256 context leak on every run that uses the ‑i (integrity) option. Add the missing EVP_MD_CTX_free() calls to the appropriate cleanup paths to fix the leak. Fixes: 5c5945dc695c ("selftests/net: Add SHA256 computation over data sent in tcp_mmap") Signed-off-by: Wang Yan <wangyan01@kylinos.cn> Link: https://patch.msgid.link/20260702025949.442523-1-wangyan01@kylinos.cn Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/net/tcp_mmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/tcp_mmap.c b/tools/testing/selftests/net/tcp_mmap.c
index 4fcce5150850..2544ae35d07a 100644
--- a/tools/testing/selftests/net/tcp_mmap.c
+++ b/tools/testing/selftests/net/tcp_mmap.c
@@ -313,6 +313,8 @@ end:
tcp_info_get_rcv_mss(fd));
}
error:
+ if (ctx)
+ EVP_MD_CTX_free(ctx);
munmap(buffer, buffer_sz);
close(fd);
if (zflg)
@@ -606,6 +608,8 @@ int main(int argc, char *argv[])
EVP_DigestFinal_ex(ctx, digest, &digest_len);
send(fd, digest, (size_t)SHA256_DIGEST_LENGTH, 0);
}
+ if (ctx)
+ EVP_MD_CTX_free(ctx);
close(fd);
munmap(buffer, buffer_sz);
return 0;