summaryrefslogtreecommitdiff
path: root/src/coding.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-01-21 00:29:02 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2015-01-21 00:29:32 -0800
commit88ba49fe356ecbb57f604158c432f1044d50b0bb (patch)
tree0140027f2210cbeb8d18de370e2165c71c755c31 /src/coding.c
parent3ea1b31f46f21ecfb089628e63187970fdb58d5a (diff)
downloademacs-88ba49fe356ecbb57f604158c432f1044d50b0bb.tar.gz
Fix coding.c subscript error
* coding.c (CODING_ISO_INVOKED_CHARSET): Avoid undefined behavior if CODING_ISO_INVOCATION returns negative.
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/coding.c b/src/coding.c
index 77583d0d950..8dc39e74422 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -395,7 +395,8 @@ static Lisp_Object Vbig5_coding_system;
#define CODING_ISO_BOL(coding) \
((coding)->spec.iso_2022.bol)
#define CODING_ISO_INVOKED_CHARSET(coding, plane) \
- CODING_ISO_DESIGNATION ((coding), CODING_ISO_INVOCATION ((coding), (plane)))
+ (CODING_ISO_INVOCATION (coding, plane) < 0 ? -1 \
+ : CODING_ISO_DESIGNATION (coding, CODING_ISO_INVOCATION (coding, plane)))
#define CODING_ISO_CMP_STATUS(coding) \
(&(coding)->spec.iso_2022.cmp_status)
#define CODING_ISO_EXTSEGMENT_LEN(coding) \