From: erickson Date: Mon, 5 Feb 2007 16:20:39 +0000 (+0000) Subject: fixed bool parsing bug -- off by one on the string size enforcement X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=93f9de8158daa0873ab58b24da450e839e053493;p=Evergreen.git fixed bool parsing bug -- off by one on the string size enforcement git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@6872 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/OpenSRF/src/objson/json_parser.c b/OpenSRF/src/objson/json_parser.c index 5ed5cd627b..d75431f8df 100644 --- a/OpenSRF/src/objson/json_parser.c +++ b/OpenSRF/src/objson/json_parser.c @@ -184,22 +184,22 @@ int json_parse_json_bool(char* string, unsigned long* index, jsonObject* obj, in char* ret = "json_parse_json_bool(): truncated bool"; - if( *index >= (current_strlen - 5)) + if( *index > (current_strlen - 4)) return json_handle_error(string, index, ret); - - if(!strncasecmp( string + (*index), "false", 5)) { - (*index) += 5; - obj->value.b = 0; + + if(!strncasecmp( string + (*index), "true", 4)) { + (*index) += 4; + obj->value.b = 1; obj->type = JSON_BOOL; return 0; } - if( *index >= (current_strlen - 4)) + if( *index > (current_strlen - 5)) return json_handle_error(string, index, ret); - - if(!strncasecmp( string + (*index), "true", 4)) { - (*index) += 4; - obj->value.b = 1; + + if(!strncasecmp( string + (*index), "false", 5)) { + (*index) += 5; + obj->value.b = 0; obj->type = JSON_BOOL; return 0; }