Fix sign-compare warning
system/bpf/bpfloader/BpfLoader.cpp:79:23: error: comparison of integers of different signs: 'int' and 'std::__1::vector<android::bpf::BpfMapInfo, std::__1::allocator<android::bpf::BpfMapInfo> >::size_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
for (int i = 0; i < mapPatterns.size(); i++) {
~ ^ ~~~~~~~~~~~~~~~~~~`
Test: m checkbuild
Change-Id: If2891bfc7655aea34499975763f72e0a25b32289
diff --git a/bpfloader/BpfLoader.cpp b/bpfloader/BpfLoader.cpp
index 128531e..ff63564 100644
--- a/bpfloader/BpfLoader.cpp
+++ b/bpfloader/BpfLoader.cpp
@@ -52,14 +52,14 @@
#define BPF_PROG_PATH "/system/etc/bpf"
#define BPF_PROG_SRC BPF_PROG_PATH "/bpf_kern.o"
-#define CLEANANDEXIT(ret, mapPatterns) \
- do { \
- for (int i = 0; i < mapPatterns.size(); i++) { \
- if (mapPatterns[i].fd > -1) { \
- close(mapPatterns[i].fd); \
- } \
- } \
- return ret; \
+#define CLEANANDEXIT(ret, mapPatterns) \
+ do { \
+ for (unsigned long i = 0; i < mapPatterns.size(); i++) { \
+ if (mapPatterns[i].fd > -1) { \
+ close(mapPatterns[i].fd); \
+ } \
+ } \
+ return ret; \
} while (0)
using android::bpf::BpfMapInfo;
@@ -76,7 +76,7 @@
BpfMapInfo(CONFIGURATION_MAP, CONFIGURATION_MAP_PATH),
BpfMapInfo(UID_OWNER_MAP, UID_OWNER_MAP_PATH),
};
- for (int i = 0; i < mapPatterns.size(); i++) {
+ for (unsigned long i = 0; i < mapPatterns.size(); i++) {
if (mapPatterns[i].fd < 0) {
ALOGE("Rerieve Map from %s failed: %d", mapPatterns[i].path.c_str(), mapPatterns[i].fd);
CLEANANDEXIT(-1, mapPatterns);