summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2014-06-30 18:39:29 +0300
committerEli Zaretskii <eliz@gnu.org>2014-06-30 18:39:29 +0300
commitc6ecf7f23d99a7c51a9372fefb261ddca89a1db2 (patch)
treed8ad3e7217776671bac26d84943705da2d1e01ed
parent9c660a187ce2dd68a78c915c0006050c0cdbbffc (diff)
downloademacs-c6ecf7f23d99a7c51a9372fefb261ddca89a1db2.tar.gz
emacs-c6ecf7f23d99a7c51a9372fefb261ddca89a1db2.tar.bz2
emacs-c6ecf7f23d99a7c51a9372fefb261ddca89a1db2.zip
Fix bug #17881 with infloop in decoding emacs-mule encoded text.
src/coding.c (MIN_CHARBUF_SIZE): Enlarge to 32.
-rw-r--r--src/ChangeLog4
-rw-r--r--src/coding.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b87555344f9..ad34152d1a3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-30 Eli Zaretskii <eliz@gnu.org>
+
+ * coding.c (MIN_CHARBUF_SIZE): Enlarge to 32. (Bug#17881)
+
2014-06-30 Jan Djärv <jan.h.d@swipnet.se>
* nsmenu.m (update_frame_tool_bar): Set wait_for_tool_bar to NO
diff --git a/src/coding.c b/src/coding.c
index 5dbaf96840a..85a50dad91f 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -7266,7 +7266,8 @@ produce_charset (struct coding_system *coding, int *charbuf, ptrdiff_t pos)
}
#define MAX_CHARBUF_SIZE 0x4000
-#define MIN_CHARBUF_SIZE 0x10
+/* emacs-mule decoding requires more than 16 bytes. */
+#define MIN_CHARBUF_SIZE 0x20
#define ALLOC_CONVERSION_WORK_AREA(coding, size) \
do { \