瀏覽代碼

mastoapi: fix crashes on unset content-type.

default 2 年之前
父節點
當前提交
7a6b94a058
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      mastoapi.c

+ 15 - 0
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);