diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2012-05-20 02:24:46 +0300 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2012-05-20 02:24:46 +0300 |
commit | f1f6737e154f9d00f1565fc08fd7ac677b380822 (patch) | |
tree | 77829e4b815df4db51164422fc7426a944ef8eee /src/backend/utils/adt/json.c | |
parent | fe2534e534c0572a71d6f0d2d51a2d058fc3524c (diff) | |
download | postgresql-f1f6737e154f9d00f1565fc08fd7ac677b380822.tar.gz postgresql-f1f6737e154f9d00f1565fc08fd7ac677b380822.zip |
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.
Diffstat (limited to 'src/backend/utils/adt/json.c')
-rw-r--r-- | src/backend/utils/adt/json.c | 4 |
1 files changed, 2 insertions, 2 deletions
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 { |