Selaa lähdekoodia

Archive and try to avoid crashing on unexpected 'content' field data type.

default 1 vuosi sitten
vanhempi
sitoutus
60e907219b
1 muutettua tiedostoa jossa 8 lisäystä ja 1 poistoa
  1. 8 1
      html.c

+ 8 - 1
html.c

@@ -1692,7 +1692,14 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only,
         /** build the content string **/
         const char *content = xs_dict_get(msg, "content");
 
-        xs *c = sanitize(xs_is_null(content) ? "" : content);
+        if (xs_type(content) != XSTYPE_STRING) {
+            srv_archive_error("unexpected_content_xstype",
+                "content field type", xs_stock(XSTYPE_DICT), msg);
+
+            content = "";
+        }
+
+        xs *c = sanitize(content);
 
         /* do some tweaks to the content */
         c = xs_replace_i(c, "\r", "");