diff --git a/core/iwasm/libraries/lib-socket/src/wasi/wasi_socket_ext.c b/core/iwasm/libraries/lib-socket/src/wasi/wasi_socket_ext.c index 5ba17edfa..d845a2fb7 100644 --- a/core/iwasm/libraries/lib-socket/src/wasi/wasi_socket_ext.c +++ b/core/iwasm/libraries/lib-socket/src/wasi/wasi_socket_ext.c @@ -541,10 +541,10 @@ getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, } } while (max_info_size > addr_info_size); + addr_info_size = max_info_size; if (addr_info_size == 0) { free(addr_info); - *res = NULL; - return __WASI_ERRNO_SUCCESS; + HANDLE_ERROR(__WASI_ERRNO_NOENT) } aibuf_res = @@ -556,10 +556,6 @@ getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, *res = &aibuf_res[0].ai; - if (addr_info_size) { - addr_info_size = max_info_size; - } - for (i = 0; i < addr_info_size; i++) { struct addrinfo *ai = &aibuf_res[i].ai; ai->ai_addr = (struct sockaddr *)&aibuf_res[i].sa;