From 997b17d854db1709686df85fe8dedae0a20ca5fa Mon Sep 17 00:00:00 2001 From: default Date: Sun, 23 Apr 2023 15:37:09 +0200 Subject: Moved JSON output validation to httpd.c. --- httpd.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'httpd.c') diff --git a/httpd.c b/httpd.c index 79d489f..70083a1 100644 --- a/httpd.c +++ b/httpd.c @@ -266,6 +266,16 @@ void httpd_connection(FILE *f) srv_archive("RECV", NULL, req, payload, p_size, status, headers, body, b_size); + /* JSON validation check */ + if (strcmp(ctype, "application/json") == 0) { + xs *j = xs_json_loads(body); + + if (j == NULL) { + srv_log(xs_fmt("bad JSON")); + srv_archive_error("bad_json", "bad JSON", req, body); + } + } + xs_free(body); } -- cgit v1.2.3