diff --git a/plugins/audit_json/audit_json.c b/plugins/audit_json/audit_json.c index c19c29be2..be0717235 100644 --- a/plugins/audit_json/audit_json.c +++ b/plugins/audit_json/audit_json.c @@ -348,22 +348,26 @@ add_timestamp(struct json_container *jsonc, struct timespec *ts) if (gmtime_r(&secs, &gmt) == NULL) debug_return_bool(false); - sudo_json_open_object(jsonc, "timestamp"); + if (!sudo_json_open_object(jsonc, "timestamp")) + debug_return_bool(false); json_value.type = JSON_NUMBER; json_value.u.number = ts->tv_sec; - sudo_json_add_value(jsonc, "seconds", &json_value); + if (!sudo_json_add_value(jsonc, "seconds", &json_value)) + debug_return_bool(false); json_value.type = JSON_NUMBER; json_value.u.number = ts->tv_nsec; - sudo_json_add_value(jsonc, "nanoseconds", &json_value); + if (!sudo_json_add_value(jsonc, "nanoseconds", &json_value)) + debug_return_bool(false); timebuf[sizeof(timebuf) - 1] = '\0'; len = strftime(timebuf, sizeof(timebuf), "%Y%m%d%H%M%SZ", &gmt); if (len != 0 && timebuf[sizeof(timebuf) - 1] == '\0'){ json_value.type = JSON_STRING; json_value.u.string = timebuf; - sudo_json_add_value(jsonc, "iso8601", &json_value); + if (!sudo_json_add_value(jsonc, "iso8601", &json_value)) + debug_return_bool(false); } timebuf[sizeof(timebuf) - 1] = '\0'; @@ -371,10 +375,12 @@ add_timestamp(struct json_container *jsonc, struct timespec *ts) if (len != 0 && timebuf[sizeof(timebuf) - 1] == '\0'){ json_value.type = JSON_STRING; json_value.u.string = timebuf; - sudo_json_add_value(jsonc, "localtime", &json_value); + if (!sudo_json_add_value(jsonc, "localtime", &json_value)) + debug_return_bool(false); } - sudo_json_close_object(jsonc); + if (!sudo_json_close_object(jsonc)) + debug_return_bool(false); debug_return_bool(true); }