From 05549410d967e16fe52f70c491766ef70cb76f02 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 19 Jul 2023 23:04:55 +0900 Subject: [PATCH] mruby-pack/pack.c (read_tmpl): check unknown directives --- mrbgems/mruby-pack/src/pack.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mrbgems/mruby-pack/src/pack.c b/mrbgems/mruby-pack/src/pack.c index dd535ceda..3dc54a28f 100644 --- a/mrbgems/mruby-pack/src/pack.c +++ b/mrbgems/mruby-pack/src/pack.c @@ -35,7 +35,6 @@ enum pack_dir { //PACK_DIR_VAX, PACK_DIR_BER, /* w */ PACK_DIR_UTF8, /* U */ - //PACK_DIR_BER, PACK_DIR_DOUBLE, /* E */ PACK_DIR_FLOAT, /* f */ PACK_DIR_STR, /* A */ @@ -1333,6 +1332,11 @@ alias: mrb_raisef(mrb, E_ARGUMENT_ERROR, "%c is not supported", (char)t); break; default: + if (!ISSPACE((char)t)) { + char c = (char)t; + mrb_value s = mrb_str_new(mrb, &c, 1); + mrb_raisef(mrb, E_ARGUMENT_ERROR, "unknown unpack directive %!v", s); + } dir = PACK_DIR_INVALID; type = PACK_TYPE_NONE; break;