Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

selftests: net: avoid memory leak

The buffer be used without free,fix it to avoid memory leak.

Signed-off-by: Zongmin Zhou <zhouzongmin@kylinos.cn>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250901054557.32811-1-min_halo@163.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Zongmin Zhou and committed by
Jakub Kicinski
b0bc6451 3586018d

+7 -3
+7 -3
tools/testing/selftests/net/cmsg_sender.c
··· 491 491 if (err) { 492 492 fprintf(stderr, "Can't resolve address [%s]:%s\n", 493 493 opt.host, opt.service); 494 - return ERN_SOCK_CREATE; 494 + err = ERN_SOCK_CREATE; 495 + goto err_free_buff; 495 496 } 496 497 497 498 if (ai->ai_family == AF_INET6 && opt.sock.proto == IPPROTO_ICMP) ··· 501 500 fd = socket(ai->ai_family, opt.sock.type, opt.sock.proto); 502 501 if (fd < 0) { 503 502 fprintf(stderr, "Can't open socket: %s\n", strerror(errno)); 504 - freeaddrinfo(ai); 505 - return ERN_RESOLVE; 503 + err = ERN_RESOLVE; 504 + goto err_free_info; 506 505 } 507 506 508 507 if (opt.sock.proto == IPPROTO_ICMP) { ··· 575 574 576 575 err_out: 577 576 close(fd); 577 + err_free_info: 578 578 freeaddrinfo(ai); 579 + err_free_buff: 580 + free(buf); 579 581 return err; 580 582 }