mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
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: 5c5945dc69 ("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>
This commit is contained in:
parent
6d27e29a90
commit
f4ef35efbb
|
|
@ -313,6 +313,8 @@ void *child_thread(void *arg)
|
|||
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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user