summaryrefslogtreecommitdiff
path: root/controller/PostgreSQL.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2018-11-13 12:08:02 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2018-11-13 12:08:02 -0800
commit7bde2c089d2f96bee8a856017c7311eedab1a005 (patch)
tree5cd4f05709e46356067511a052ec0657140815f2 /controller/PostgreSQL.cpp
parent90631adb9beda188bd00494f1a84446c0b94d0f9 (diff)
parent33d7b22abe3988b2682f4bdf87ce632cf6243ae6 (diff)
downloadinfinitytier-7bde2c089d2f96bee8a856017c7311eedab1a005.tar.gz
infinitytier-7bde2c089d2f96bee8a856017c7311eedab1a005.zip
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
Diffstat (limited to 'controller/PostgreSQL.cpp')
-rw-r--r--controller/PostgreSQL.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp
index 02e2de2b..ea04f551 100644
--- a/controller/PostgreSQL.cpp
+++ b/controller/PostgreSQL.cpp
@@ -384,7 +384,11 @@ void PostgreSQL::initializeMembers(PGconn *conn)
config["nwid"] = networkId;
config["activeBridge"] = (strcmp(PQgetvalue(res, i, 2), "t") == 0);
config["authorized"] = (strcmp(PQgetvalue(res, i, 3), "t") == 0);
- config["capabilities"] = json::parse(PQgetvalue(res, i, 4));
+ try {
+ config["capabilities"] = json::parse(PQgetvalue(res, i, 4));
+ } catch (std::exception &e) {
+ config["capabilities"] = json::array();
+ }
try {
config["creationTime"] = std::stoull(PQgetvalue(res, i, 5));
} catch (std::exception &e) {
@@ -410,7 +414,11 @@ void PostgreSQL::initializeMembers(PGconn *conn)
config["remoteTraceLevel"] = 0;
}
config["remoteTraceTarget"] = PQgetvalue(res, i, 10);
- config["tags"] = json::parse(PQgetvalue(res, i, 11));
+ try {
+ config["tags"] = json::parse(PQgetvalue(res, i, 11));
+ } catch (std::exception &e) {
+ config["tags"] = json::array();
+ }
try {
config["vMajor"] = std::stoi(PQgetvalue(res, i, 12));
} catch(std::exception &e) {