Adam Ierymenko 8 anni fa
parent
commit
0d108d37f6
2 ha cambiato i file con 4 aggiunte e 19 eliminazioni
  1. 0 18
      controller/EmbeddedNetworkController.cpp
  2. 4 1
      controller/JSONDB.hpp

+ 0 - 18
controller/EmbeddedNetworkController.cpp

@@ -63,24 +63,6 @@ using json = nlohmann::json;
 
 namespace ZeroTier {
 
-// JSON blob I/O
-/*
-static json _readJson(const std::string &path)
-{
-	std::string buf;
-	if (OSUtils::readFile(path.c_str(),buf)) {
-		try {
-			return json::parse(buf);
-		} catch ( ... ) {}
-	}
-	return json::object();
-}
-static bool _writeJson(const std::string &path,const json &obj)
-{
-	return OSUtils::writeFile(path.c_str(),obj.dump(2));
-}
-*/
-
 // Get JSON values as unsigned integers, strings, or booleans, doing type conversion if possible
 static uint64_t _jI(const json &jv,const uint64_t dfl)
 {

+ 4 - 1
controller/JSONDB.hpp

@@ -19,6 +19,9 @@
 #ifndef ZT_JSONDB_HPP
 #define ZT_JSONDB_HPP
 
+#include <stdlib.h>
+#include <string.h>
+
 #include <string>
 #include <map>
 #include <stdexcept>
@@ -75,7 +78,7 @@ public:
 	inline void filter(const std::string &prefix,unsigned long maxSinceCheck,F func)
 	{
 		for(std::map<std::string,_E>::iterator i(_db.lower_bound(prefix));i!=_db.end();) {
-			if (i->first.substr(0,prefix.length()) == prefix) {
+			if ((i->first.length() >= prefix.length())&&(!memcmp(i->first.data(),prefix.data(),prefix.length()))) {
 				if (!func(i->first,get(i->second.obj,maxSinceCheck))) {
 					std::map<std::string,_E>::iterator i2(i); ++i2;
 					this->erase(i->first);