commit 34d85b3e1bbda2e89191026b3815dd9b6f23afcb
parent 77b9cbe6c3064c1656fa5375f7d2d498e34a34e6
Author: grunfink <grunfink@comam.es>
Date: Thu, 29 May 2025 13:12:43 +0200
mastoapi: fixed uploaded images name collision.
Diffstat:
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/html.c b/html.c
@@ -4362,7 +4362,7 @@ int html_post_handler(const xs_dict *req, const char *q_path,
xs_rnd_buf(rnd, sizeof(rnd));
const char *ext = strrchr(fn, '.');
- xs *hash = xs_md5_hex(rnd, strlen(rnd));
+ xs *hash = xs_md5_hex(rnd, sizeof(rnd));
xs *id = xs_fmt("post-%s%s", hash, ext ? ext : "");
xs *url = xs_fmt("%s/s/%s", snac.actor, id);
int fo = xs_number_get(xs_list_get(attach_file, 1));
diff --git a/mastoapi.c b/mastoapi.c
@@ -2978,8 +2978,10 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path,
if (*fn != '\0') {
char *ext = strrchr(fn, '.');
- xs *hash = xs_md5_hex(fn, strlen(fn));
- xs *id = xs_fmt("%s%s", hash, ext);
+ char rnd[32];
+ xs_rnd_buf(rnd, sizeof(rnd));
+ xs *hash = xs_md5_hex(rnd, sizeof(rnd));
+ xs *id = xs_fmt("post-%s%s", hash, ext ? ext : "");
xs *url = xs_fmt("%s/s/%s", snac.actor, id);
int fo = xs_number_get(xs_list_get(file, 1));
int fs = xs_number_get(xs_list_get(file, 2));