From f1f6737e154f9d00f1565fc08fd7ac677b380822 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 20 May 2012 02:24:46 +0300 Subject: Fix incorrect logic in JSON number lexer Detectable by gcc -Wlogical-op. Add two regression test cases that would previously allow incorrect values to pass. --- src/backend/utils/adt/json.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/backend/utils/adt/json.c') diff --git a/src/backend/utils/adt/json.c b/src/backend/utils/adt/json.c index 2968c57e3f8..8ab47defbe4 100644 --- a/src/backend/utils/adt/json.c +++ b/src/backend/utils/adt/json.c @@ -541,7 +541,7 @@ json_lex_number(JsonLexContext *lex, char *s) if (*s == '.') { ++s; - if (*s < '0' && *s > '9') + if (*s < '0' || *s > '9') error = true; else { @@ -558,7 +558,7 @@ json_lex_number(JsonLexContext *lex, char *s) ++s; if (*s == '+' || *s == '-') ++s; - if (*s < '0' && *s > '9') + if (*s < '0' || *s > '9') error = true; else { -- cgit v1.2.3