diff --git a/src/network/lookup_name.c b/src/network/lookup_name.c index c93263a9d5542918f9462d41448b9756d92adc39..bfa5294481a40a841a4886bb9caf025027feb0c1 100644 --- a/src/network/lookup_name.c +++ b/src/network/lookup_name.c @@ -173,7 +173,8 @@ static int name_from_dns_search(struct address buf[static MAXADDRS], char canon[ size_t l, dots; char *p, *z; - if (__get_resolv_conf(&conf, search, sizeof search) < 0) return -1; + int res = __get_resolv_conf(&conf, search, sizeof search); + if (res < 0) return res; /* Count dots, suppress search when >=ndots or name ends in * a dot, which is an explicit request for global scope. */ diff --git a/src/network/resolvconf.c b/src/network/resolvconf.c index 63fb1ef7617728949a2ea90f6159b96d5bd285a8..34669d4aeba056545684a5bfe416608536a35a3c 100644 --- a/src/network/resolvconf.c +++ b/src/network/resolvconf.c @@ -40,7 +40,7 @@ int __get_resolv_conf(struct resolvconf *conf, char *search, size_t search_sz) dlclose(handle); if (ret < 0) { DNS_CONFIG_PRINT("__get_resolv_conf OHOS_GET_CONFIG_FUNC_NAME err %d\n", ret); - return -1; + return EAI_NONAME; } int32_t timeout_second = config.timeout_ms / 1000;