From 8a915ed26c67926d9dcba7b7709edc9877fd624a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 14 Jul 2022 08:08:48 +0200 Subject: [PATCH] Fix legacy conversion filter for SJIS-2004 --- ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 169eef344f3..4f09af3b736 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -630,10 +630,12 @@ retry: filter->status = 0; CK((*filter->output_function)(s1, filter->data)); } else if (s1 < 0x100) { /* latin or kana */ - if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { + if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { CK((*filter->output_function)(0x8e, filter->data)); + CK((*filter->output_function)(s1, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); } - CK((*filter->output_function)(s1, filter->data)); } else if (s1 < 0x7f00) { /* X 0213 plane 1 */ if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { c1 = (s1 >> 8) & 0xff;