diff --git a/mysqlse/snippets_udf.cc b/mysqlse/snippets_udf.cc index 581fea82cf..756d7e3d20 100644 --- a/mysqlse/snippets_udf.cc +++ b/mysqlse/snippets_udf.cc @@ -386,11 +386,9 @@ int CSphUrl::Connect() #if MYSQL_VERSION_ID>=50515 struct addrinfo *hp = NULL; tmp_errno = getaddrinfo ( m_sHost, NULL, NULL, &hp ); - if ( !tmp_errno || !hp || !hp->ai_addr ) + if ( tmp_errno!=0 || !hp || !hp->ai_addr ) { bError = true; - if ( hp ) - freeaddrinfo ( hp ); } #else struct hostent tmp_hostent, *hp; @@ -413,7 +411,7 @@ int CSphUrl::Connect() } #if MYSQL_VERSION_ID>=50515 - memcpy ( &sin.sin_addr, hp->ai_addr, Min ( sizeof(sin.sin_addr), (size_t)hp->ai_addrlen ) ); + memcpy ( &sin.sin_addr, &( (struct sockaddr_in *)hp->ai_addr )->sin_addr, sizeof(sin.sin_addr) ); freeaddrinfo ( hp ); #else memcpy ( &sin.sin_addr, hp->h_addr, Min ( sizeof(sin.sin_addr), (size_t)hp->h_length ) );