bforce 0.25.2
Alexey Khromov написал(а) к Nil A в Jun 24 00:03:34 по местному времени:
Здраствуйте, Nil!
24 июн 24 23:27, Nil A -> Alexey Khromov:
NA> continue;
NA> }
NA> else break;
NA> Тут компилятор не говорит, что unreachable code? Вроде дальше if/else
NA> пройти нельзя.
Согласен, continue лишний, надо будет убрать
NA> Ещё, не понятно, почему freeaddrinfo() вызывается только для какого-то
NA> правильного случая, а для плохого не вызывается. И вообще, addrinfo
NA> приходит снаружи, и внутри tcpip_connect2 должен освободится, или кто
NA> вызвал тот и освобождает?
freeaddrinfo вызывается в tcpip_connect для любого случая, даже если getaddrinfo вернула не 0.
Где вызывал, там и освобождаю, т.к. tcpip_connect2 вызывается только в случае успешного DNS-резолва (в связанном списке ai будет хоть один хост).
nameres = getaddrinfo ( host, port, &aihints, &ai );
if ( nameres != 0 )
{
rc = 1;
log("Resolver error for host %s, port %s: \"%s\".", host, port, gai_strerror(nameres));
}
if( host ) { free(host); host = NULL; }
aisave = ai;
if (rc == 0 )
rc = tcpip_connect2(ai);
freeaddrinfo( aisave );
return rc;
Alexey Khromov
--- GoldED+/LNX 1.1.5-b20240309
|