projects
/
jansson.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Refuse to dump other types than array and object as the root value
[jansson.git]
/
src
/
dump.c
diff --git
a/src/dump.c
b/src/dump.c
index
c00260c
..
4831873
100644
(file)
--- a/
src/dump.c
+++ b/
src/dump.c
@@
-237,6
+237,9
@@
char *json_dumps(const json_t *json, uint32_t flags)
strbuffer_t strbuff;
char *result;
strbuffer_t strbuff;
char *result;
+ if(!json_is_array(json) && !json_is_object(json))
+ return NULL;
+
if(strbuffer_init(&strbuff))
return NULL;
if(strbuffer_init(&strbuff))
return NULL;
@@
-254,6
+257,9
@@
char *json_dumps(const json_t *json, uint32_t flags)
int json_dumpf(const json_t *json, FILE *output, uint32_t flags)
{
int json_dumpf(const json_t *json, FILE *output, uint32_t flags)
{
+ if(!json_is_array(json) && !json_is_object(json))
+ return -1;
+
if(do_dump(json, flags, 0, dump_to_file, (void *)output))
return -1;
return dump_to_file("\n", 1, (void *)output);
if(do_dump(json, flags, 0, dump_to_file, (void *)output))
return -1;
return dump_to_file("\n", 1, (void *)output);