From 7f4d038258d2bd585a0dce87177bf429d168ffb5 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Mon, 17 Oct 2022 00:59:18 +0100 Subject: [PATCH] Assert that everything written to a save file is printable ASCII Apart from the newlines of course. --- midend.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/midend.c b/midend.c index 395288e..c0c61b7 100644 --- a/midend.c +++ b/midend.c @@ -2019,7 +2019,9 @@ void midend_serialise(midend *me, char lbuf[9]; \ copy_left_justified(lbuf, sizeof(lbuf), h); \ sprintf(hbuf, "%s:%d:", lbuf, (int)strlen(str)); \ + assert_printable_ascii(hbuf); \ write(wctx, hbuf, strlen(hbuf)); \ + assert_printable_ascii(str); \ write(wctx, str, strlen(str)); \ write(wctx, "\n", 1); \ } while (0) @@ -2115,7 +2117,6 @@ void midend_serialise(midend *me, */ if (me->ui) { char *s = me->ourgame->encode_ui(me->ui); - assert_printable_ascii(s); if (s) { wr("UI", s); sfree(s);