From 7a6b94a058dcef6f94eb98e404f56f2872ece3c5 Mon Sep 17 00:00:00 2001 From: default Date: Sat, 1 Jun 2024 08:47:50 +0200 Subject: [PATCH] mastoapi: fix crashes on unset content-type. --- mastoapi.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mastoapi.c b/mastoapi.c index 6c2c38c..a129ad0 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -243,6 +243,9 @@ int oauth_post_handler(const xs_dict *req, const char *q_path, const char *i_ctype = xs_dict_get(req, "content-type"); xs *args = NULL; + if (i_ctype == NULL) + return 0; + if (i_ctype && xs_startswith(i_ctype, "application/json")) { if (!xs_is_null(payload)) args = xs_json_loads(payload); @@ -2412,6 +2415,9 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, xs *args = NULL; const char *i_ctype = xs_dict_get(req, "content-type"); + if (i_ctype == NULL) + return 0; + if (i_ctype && xs_startswith(i_ctype, "application/json")) { if (!xs_is_null(payload)) args = xs_json_loads(payload); @@ -3000,6 +3006,9 @@ int mastoapi_delete_handler(const xs_dict *req, const char *q_path, xs *args = NULL; const char *i_ctype = xs_dict_get(req, "content-type"); + if (i_ctype == NULL) + return 0; + if (i_ctype && xs_startswith(i_ctype, "application/json")) { if (!xs_is_null(payload)) args = xs_json_loads(payload); @@ -3088,6 +3097,9 @@ int mastoapi_put_handler(const xs_dict *req, const char *q_path, xs *args = NULL; const char *i_ctype = xs_dict_get(req, "content-type"); + if (i_ctype == NULL) + return 0; + if (i_ctype && xs_startswith(i_ctype, "application/json")) { if (!xs_is_null(payload)) args = xs_json_loads(payload); @@ -3235,6 +3247,9 @@ int mastoapi_patch_handler(const xs_dict *req, const char *q_path, xs *args = NULL; const char *i_ctype = xs_dict_get(req, "content-type"); + if (i_ctype == NULL) + return 0; + if (i_ctype && xs_startswith(i_ctype, "application/json")) { if (!xs_is_null(payload)) args = xs_json_loads(payload);