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, &params32,
                                             &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);
     }