add missing include to ThreadId.h
[folly.git] / folly / IPAddressV6.cpp
index c7a93efef96224f3564caedf787b85187b7b7665..6f1eb5958996c5f12bb16204a6c2a3398ddf26de 100644 (file)
@@ -186,14 +186,14 @@ IPAddressV6 IPAddressV6::fromInverseArpaName(const std::string& arpaname) {
     throw IPAddressFormatException(sformat("Invalid input. Got '{}'", piece));
   }
   std::array<char, IPAddressV6::kToFullyQualifiedSize> ip;
-  int pos = 0;
+  size_t pos = 0;
   int count = 0;
-  for (int p = pieces.size() - 1; p >= 0; p--) {
-    ip[pos] = pieces[p][0];
+  for (size_t i = 1; i <= pieces.size(); i++) {
+    ip[pos] = pieces[pieces.size() - i][0];
     pos++;
     count++;
     // add ':' every 4 chars
-    if (count == 4) {
+    if (count == 4 && pos < ip.size()) {
       ip[pos++] = ':';
       count = 0;
     }