From dbbf864bb974d78440c34218b43e8f1de89f731e Mon Sep 17 00:00:00 2001 From: Sergey Urbanovich Date: Fri, 6 Jan 2012 19:48:53 +0400 Subject: [PATCH] Add assert that shiftcnt remains in bounds on decrement --- c_src/encoder.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/c_src/encoder.c b/c_src/encoder.c index c6073a0..5022f72 100644 --- a/c_src/encoder.c +++ b/c_src/encoder.c @@ -430,7 +430,8 @@ enc_start_object(Encoder* e) static inline int enc_end_object(Encoder* e) { - e->shiftcnt--; + if (!e->shiftcnt--) + return 0; return MAYBE_PRETTY_INDENT(e) && enc_char(e, '}'); } @@ -445,7 +446,8 @@ enc_start_array(Encoder* e) static inline int enc_end_array(Encoder* e) { - e->shiftcnt--; + if (!e->shiftcnt--) + return 0; return MAYBE_PRETTY_INDENT(e) && enc_char(e, ']'); }