Enable -Wsign-compare for netd and fix warnings
Test: atest netd_unit_test netd_integration_test resolv_integration_test
Change-Id: I84347de8f3a3ec0dcc8979037b9c265d145a35f7
diff --git a/resolv/PrivateDnsConfiguration.cpp b/resolv/PrivateDnsConfiguration.cpp
index 616662e..b262a2f 100644
--- a/resolv/PrivateDnsConfiguration.cpp
+++ b/resolv/PrivateDnsConfiguration.cpp
@@ -26,15 +26,15 @@
#include "netdutils/BackoffSequence.h"
int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark, const char** servers,
- const unsigned numServers, const char* tlsName,
- const uint8_t** fingerprints, const unsigned numFingerprint) {
+ const int numServers, const char* tlsName,
+ const uint8_t** fingerprints, const int numFingerprint) {
std::vector<std::string> tlsServers;
- for (unsigned i = 0; i < numServers; i++) {
+ for (int i = 0; i < numServers; i++) {
tlsServers.push_back(std::string(servers[i]));
}
std::set<std::vector<uint8_t>> tlsFingerprints;
- for (unsigned i = 0; i < numFingerprint; i++) {
+ for (int i = 0; i < numFingerprint; i++) {
// Each fingerprint stored are 32(SHA256_SIZE) bytes long.
tlsFingerprints.emplace(std::vector<uint8_t>(fingerprints[i], fingerprints[i] + 32));
}
@@ -194,7 +194,7 @@
const auto netPair = mPrivateDnsTransports.find(netId);
if (netPair != mPrivateDnsTransports.end()) {
- status->numServers = netPair->second.size();
+ status->numServers = static_cast<int>(netPair->second.size());
int count = 0;
for (const auto& serverPair : netPair->second) {
status->serverStatus[count].ss = serverPair.first.ss;
diff --git a/resolv/include/netd_resolv/resolv.h b/resolv/include/netd_resolv/resolv.h
index f50744c..9989766 100644
--- a/resolv/include/netd_resolv/resolv.h
+++ b/resolv/include/netd_resolv/resolv.h
@@ -91,7 +91,7 @@
struct ExternalPrivateDnsStatus {
PrivateDnsMode mode;
- unsigned numServers;
+ int numServers;
struct PrivateDnsInfo {
sockaddr_storage ss;
const char* hostname;
@@ -119,15 +119,14 @@
// Set name servers for a network
LIBNETD_RESOLV_PUBLIC int resolv_set_nameservers_for_net(unsigned netid, const char** servers,
- unsigned numservers, const char* domains,
+ int numservers, const char* domains,
const __res_params* params);
LIBNETD_RESOLV_PUBLIC int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark,
- const char** servers,
- const unsigned numServers,
+ const char** servers, int numServers,
const char* tlsName,
const uint8_t** fingerprints,
- const unsigned numFingerprints);
+ int numFingerprints);
LIBNETD_RESOLV_PUBLIC void resolv_delete_private_dns_for_net(unsigned netid);
diff --git a/resolv/res_cache.cpp b/resolv/res_cache.cpp
index fd1a324..60a60df 100644
--- a/resolv/res_cache.cpp
+++ b/resolv/res_cache.cpp
@@ -1729,7 +1729,7 @@
params->base_timeout_msec = 0; // 0 = legacy algorithm
}
-int resolv_set_nameservers_for_net(unsigned netid, const char** servers, unsigned numservers,
+int resolv_set_nameservers_for_net(unsigned netid, const char** servers, const int numservers,
const char* domains, const __res_params* params) {
char* cp;
int* offset;
@@ -1744,13 +1744,13 @@
// As a side effect this also reduces the time the lock is kept.
char sbuf[NI_MAXSERV];
snprintf(sbuf, sizeof(sbuf), "%u", NAMESERVER_PORT);
- for (unsigned i = 0; i < numservers; i++) {
+ for (int i = 0; i < numservers; i++) {
// The addrinfo structures allocated here are freed in free_nameservers_locked().
const addrinfo hints = {
.ai_family = AF_UNSPEC, .ai_socktype = SOCK_DGRAM, .ai_flags = AI_NUMERICHOST};
int rt = getaddrinfo_numeric(servers[i], sbuf, hints, &nsaddrinfo[i]);
if (rt != 0) {
- for (unsigned j = 0; j < i; j++) {
+ for (int j = 0; j < i; j++) {
freeaddrinfo(nsaddrinfo[j]);
}
VLOG << __func__ << ": getaddrinfo_numeric(" << servers[i]
@@ -1778,8 +1778,7 @@
if (!resolv_is_nameservers_equal_locked(cache_info, servers, numservers)) {
// free current before adding new
free_nameservers_locked(cache_info);
- unsigned i;
- for (i = 0; i < numservers; i++) {
+ for (int i = 0; i < numservers; i++) {
cache_info->nsaddrinfo[i] = nsaddrinfo[i];
cache_info->nameservers[i] = strdup(servers[i]);
VLOG << __func__ << ": netid = " << netid << ", addr = " << servers[i];
@@ -1804,7 +1803,7 @@
res_cache_clear_stats_locked(cache_info);
++cache_info->revision_id;
}
- for (unsigned j = 0; j < numservers; j++) {
+ for (int j = 0; j < numservers; j++) {
freeaddrinfo(nsaddrinfo[j]);
}
}
diff --git a/resolv/resolver_test.cpp b/resolv/resolver_test.cpp
index d0c0ba5..287c2eb 100644
--- a/resolv/resolver_test.cpp
+++ b/resolv/resolver_test.cpp
@@ -140,7 +140,7 @@
std::vector<int32_t> stats32;
auto rv = mNetdSrv->getResolverInfo(TEST_NETID, servers, domains, tlsServers, ¶ms32,
&stats32);
- if (!rv.isOk() || params32.size() != INetd::RESOLVER_PARAMS_COUNT) {
+ if (!rv.isOk() || params32.size() != static_cast<size_t>(INetd::RESOLVER_PARAMS_COUNT)) {
return false;
}
*params = __res_params {
@@ -456,10 +456,10 @@
INetd::RESOLVER_PARAMS_MAX_SAMPLES,
INetd::RESOLVER_PARAMS_BASE_TIMEOUT_MSEC,
};
- int size = static_cast<int>(params_offsets.size());
+ const int size = static_cast<int>(params_offsets.size());
EXPECT_EQ(size, INetd::RESOLVER_PARAMS_COUNT);
std::sort(params_offsets.begin(), params_offsets.end());
- for (int i = 0 ; i < size ; ++i) {
+ for (int i = 0; i < size; ++i) {
EXPECT_EQ(params_offsets[i], i);
}
}
@@ -479,8 +479,8 @@
ASSERT_TRUE(SetResolversForNetwork(servers, domains, mDefaultParams_Binder));
const hostent* result = gethostbyname(mapping.host.c_str());
- size_t total_queries = std::accumulate(dns.begin(), dns.end(), 0,
- [this, &mapping](size_t total, auto& d) {
+ const size_t total_queries =
+ std::accumulate(dns.begin(), dns.end(), 0, [this, &mapping](size_t total, auto& d) {
return total + GetNumQueriesForType(*d, ns_type::ns_t_a, mapping.entry.c_str());
});
@@ -696,7 +696,7 @@
// for the next sample_lifetime seconds.
// TODO: This approach is implementation-dependent, change once metrics reporting is available.
addrinfo hints = {.ai_family = AF_INET6};
- for (int i = 0 ; i < sample_count ; ++i) {
+ for (int i = 0; i < sample_count; ++i) {
std::string domain = StringPrintf("nonexistent%d", i);
ScopedAddrinfo result = safe_getaddrinfo(domain.c_str(), nullptr, &hints);
}