diff options
author | Petri Lehtinen <petri@digip.org> | 2013-09-30 09:35:45 +0300 |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2013-09-30 10:45:02 +0300 |
commit | 4d5aead31cbc783915a1e0fe2e240316e5d71631 (patch) | |
tree | 062f5e75ade0b06ef257e1e24a22f4ec1d94f6f5 | |
parent | 78a80b8899d9267fe189a33ab7f4291eb4885bae (diff) | |
download | jansson-4d5aead31cbc783915a1e0fe2e240316e5d71631.zip jansson-4d5aead31cbc783915a1e0fe2e240316e5d71631.tar.gz jansson-4d5aead31cbc783915a1e0fe2e240316e5d71631.tar.bz2 |
Fix NUL byte check for object keys
-rw-r--r-- | src/load.c | 2 | ||||
-rw-r--r-- | test/suites/invalid/null-byte-in-object-key/error | 2 | ||||
-rw-r--r-- | test/suites/invalid/null-byte-in-object-key/input | 1 |
3 files changed, 4 insertions, 1 deletions
@@ -699,7 +699,7 @@ static json_t *parse_object(lex_t *lex, size_t flags, json_error_t *error) key = lex_steal_string(lex, &len); if(!key) return NULL; - if (memchr(key, len, '\0')) { + if (memchr(key, '\0', len)) { jsonp_free(key); error_set(error, lex, "NUL byte in object key not supported"); goto error; diff --git a/test/suites/invalid/null-byte-in-object-key/error b/test/suites/invalid/null-byte-in-object-key/error new file mode 100644 index 0000000..3ec685b --- /dev/null +++ b/test/suites/invalid/null-byte-in-object-key/error @@ -0,0 +1,2 @@ +1 15 15 +NUL byte in object key not supported near '"foo\u0000bar"' diff --git a/test/suites/invalid/null-byte-in-object-key/input b/test/suites/invalid/null-byte-in-object-key/input new file mode 100644 index 0000000..593f0f6 --- /dev/null +++ b/test/suites/invalid/null-byte-in-object-key/input @@ -0,0 +1 @@ +{"foo\u0000bar": 42}
\ No newline at end of file |