dovecot-2.2: test-json-parser: Don't access memory out of bounds.
    dovecot at dovecot.org 
    dovecot at dovecot.org
       
    Sun Feb 24 11:58:58 EET 2013
    
    
  
details:   http://hg.dovecot.org/dovecot-2.2/rev/573682b34a76
changeset: 15908:573682b34a76
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Feb 24 11:55:07 2013 +0200
description:
test-json-parser: Don't access memory out of bounds.
diffstat:
 src/lib/test-json-parser.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
diffs (19 lines):
diff -r db0ada89b81a -r 573682b34a76 src/lib/test-json-parser.c
--- a/src/lib/test-json-parser.c	Sun Feb 24 11:54:00 2013 +0200
+++ b/src/lib/test-json-parser.c	Sun Feb 24 11:55:07 2013 +0200
@@ -128,11 +128,13 @@
 		test_istream_set_size(input, i);
 
 		for (;;) {
-			if (json_output[pos].type == (enum json_type)TYPE_SKIP) {
+			if (pos < N_ELEMENTS(json_output) &&
+			    json_output[pos].type == (enum json_type)TYPE_SKIP) {
 				json_parse_skip_next(parser);
 				pos++;
 				continue;
-			} else if (json_output[pos].type != (enum json_type)TYPE_STREAM) {
+			} else if (pos == N_ELEMENTS(json_output) ||
+				   json_output[pos].type != (enum json_type)TYPE_STREAM) {
 				ret = json_parse_next(parser, &type, &value);
 			} else {
 				ret = jsoninput != NULL ? 1 :
    
    
More information about the dovecot-cvs
mailing list