From 904a2edd5c4fdf7a584252b3f0e1fe21bd4f7f1f Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Wed, 16 Aug 2000 01:36:35 +0000 Subject: [PATCH] (CCL_WRITE_CHAR): If CH is eight-bit-control char, decrement dst_end to avoid buffer overflow in the later call of string_as_multibyte --- src/ccl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ccl.c b/src/ccl.c index c99c0a5414c..c56798f1a5f 100644 --- a/src/ccl.c +++ b/src/ccl.c @@ -685,7 +685,13 @@ static tr_stack *mapping_stack_pointer; *dst++ = '\n'; \ } \ else if (bytes == 1) \ - *dst++ = (ch); \ + { \ + *dst++ = (ch); \ + if ((ch) >= 0x80 && (ch) < 0xA0) \ + /* We may have to convert this eight-bit char to \ + multibyte form later. */ \ + dst_end--; \ + } \ else \ dst += CHAR_STRING (ch, dst); \ } \ -- 2.39.2