From a18c71929868403af33fdaff2265a74e4c552c13 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 11 Jul 2023 19:58:55 +0200 Subject: [PATCH] Fixed crash. --- html.c | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/html.c b/html.c index a88961e..ca72a34 100644 --- a/html.c +++ b/html.c @@ -1147,47 +1147,61 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local, continue; if (xs_startswith(t, "image/")) { - char *url = xs_dict_get(v, "url"); - xs *name = encode_html(xs_dict_get(v, "name")); + char *url = xs_dict_get(v, "url"); + char *name = xs_dict_get(v, "name"); if (url != NULL) { if (xs_is_null(name)) name = ""; + + xs *es1 = encode_html(name); xs *s1 = xs_fmt( "\"%s\"\n", - url, url, name, name); + url, url, es1, es1); s = xs_str_cat(s, s1); } } else if (xs_startswith(t, "video/")) { - char *url = xs_dict_get(v, "url"); - xs *name = encode_html(xs_dict_get(v, "name")); + char *url = xs_dict_get(v, "url"); + char *name = xs_dict_get(v, "name"); if (url != NULL) { - xs *s1 = xs_fmt("\n", url, url, name ? name : "No description."); + if (xs_is_null(name)) + name = "No description"; + + xs *es1 = encode_html(name); + xs *s1 = xs_fmt("\n", url, url, es1); s = xs_str_cat(s, s1); } } else if (xs_startswith(t, "audio/")) { - char *url = xs_dict_get(v, "url"); - xs *name = encode_html(xs_dict_get(v, "name")); + char *url = xs_dict_get(v, "url"); + char *name = xs_dict_get(v, "name"); if (url != NULL) { - xs *s1 = xs_fmt("\n", url, url, name ? name : "No description."); + if (xs_is_null(name)) + name = "No description"; + + xs *es1 = encode_html(name); + xs *s1 = xs_fmt("\n", url, url, es1); s = xs_str_cat(s, s1); } } else { - char *url = xs_dict_get(v, "url"); - xs *name = encode_html(xs_dict_get(v, "name")); + char *url = xs_dict_get(v, "url"); + char *name = xs_dict_get(v, "name"); if (url != NULL) { - xs *s1 = xs_fmt("Attachment: %s", url, name ? name : "No description"); + if (xs_is_null(name)) + name = "No description"; + + xs *es1 = encode_html(name); + xs *s1 = xs_fmt("Attachment: %s", url, es1); s = xs_str_cat(s, s1); }