Fix IsValidJsonNumber() to notice trailing non-alphanumeric garbage.
Tom Lane <tgl@sss.pgh.pa.us>
Fix IsValidJsonNumber() to notice trailing non-alphanumeric garbage. Commit e09996ff8dee3f70 was one brick shy of a load: it didn't insist that the detected JSON number be the whole of the supplied string. This allowed inputs such as "2016-01-01" to be misdetected as valid JSON numbers. Per bug #13906 from Dmitry Ryabov. In passing, be more wary of zero-length input (I'm not sure this can happen given current callers, but better safe than sorry), and do some minor cosmetic cleanup.
Files
| Path | Change | +/− |
|---|---|---|
| contrib/hstore/expected/hstore.out | modified | +4 −4 |
| contrib/hstore/sql/hstore.sql | modified | +1 −1 |
| src/backend/utils/adt/json.c | modified | +33 −19 |