[Bug #20592] Fix segfault when sending NULL to freeaddrinfo

On alpine freeaddrinfo does not accept NULL pointer
This commit is contained in:
Dmitry Davydov 2024-06-22 02:16:04 +07:00 committed by Yusuke Endoh
parent d122a68863
commit fba8aff7af

View File

@ -278,7 +278,7 @@ void
rb_freeaddrinfo(struct rb_addrinfo *ai) rb_freeaddrinfo(struct rb_addrinfo *ai)
{ {
if (!ai->allocated_by_malloc) if (!ai->allocated_by_malloc)
freeaddrinfo(ai->ai); if (ai->ai) freeaddrinfo(ai->ai);
else { else {
struct addrinfo *ai1, *ai2; struct addrinfo *ai1, *ai2;
ai1 = ai->ai; ai1 = ai->ai;
@ -423,7 +423,7 @@ do_getaddrinfo(void *ptr)
arg->err = err; arg->err = err;
arg->gai_errno = gai_errno; arg->gai_errno = gai_errno;
if (arg->cancelled) { if (arg->cancelled) {
freeaddrinfo(arg->ai); if (arg->ai) freeaddrinfo(arg->ai);
} }
else { else {
arg->done = 1; arg->done = 1;