diff --git a/lib/icingadb/icingadb-objects.cpp b/lib/icingadb/icingadb-objects.cpp index 0f8c01717..b1d2c7cb6 100644 --- a/lib/icingadb/icingadb-objects.cpp +++ b/lib/icingadb/icingadb-objects.cpp @@ -698,7 +698,15 @@ void IcingaDB::InsertObjectDependencies(const ConfigObject::Ptr& object, const S values = new Dictionary({{"value", kv.second}}); } - values->Set("value", JsonEncode(values->Get("value"))); + { + Value value; + + // JsonEncode() the value if it's set. + if (values->Get("value", &value)) { + values->Set("value", JsonEncode(value)); + } + } + values->Set("command_id", objectKey); values->Set("argument_key", kv.first); values->Set("environment_id", envId); @@ -737,7 +745,15 @@ void IcingaDB::InsertObjectDependencies(const ConfigObject::Ptr& object, const S values = new Dictionary({{"value", kv.second}}); } - values->Set("value", JsonEncode(values->Get("value"))); + { + Value value; + + // JsonEncode() the value if it's set. + if (values->Get("value", &value)) { + values->Set("value", JsonEncode(value)); + } + } + values->Set("command_id", objectKey); values->Set("envvar_key", kv.first); values->Set("environment_id", envId);