diff --git a/src/shared/json.c b/src/shared/json.c index 5d3c6aad91..38b2bb14e4 100644 --- a/src/shared/json.c +++ b/src/shared/json.c @@ -3826,6 +3826,11 @@ int json_dispatch_tristate(const char *name, JsonVariant *variant, JsonDispatchF assert(variant); assert(b); + if (json_variant_is_null(variant)) { + *b = -1; + return 0; + } + if (!json_variant_is_boolean(variant)) return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' is not a boolean.", strna(name));