diff options
author | Mark Walters <markwalters1009@gmail.com> | 2012-08-08 22:23:33 +0100 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-08-12 21:25:01 +0200 |
commit | 94c3b40d41f1ad98719d411ef28b69075fda0579 (patch) | |
tree | 626dd70f0fc46947595312aae8c62e1320d6bf68 /sprinter-json.c | |
parent | 36e640852b240ad10daed626391e1b812df89200 (diff) |
sprinters: bugfix when NULL passed for a string.
The string function in a sprinter may be called with a NULL string
pointer (eg if a header is absent). This causes a segfault. We fix
this by checking for a null pointer in the string functions and update
the sprinter documentation.
At the moment some output when format=text is done directly rather than
via an sprinter: in that case a null pointer is passed to printf or
similar and a "(null)" appears in the output. That behaviour is not
changed in this patch.
Diffstat (limited to 'sprinter-json.c')
-rw-r--r-- | sprinter-json.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sprinter-json.c b/sprinter-json.c index c9b68353..0a077907 100644 --- a/sprinter-json.c +++ b/sprinter-json.c @@ -118,6 +118,8 @@ json_string_len (struct sprinter *sp, const char *val, size_t len) static void json_string (struct sprinter *sp, const char *val) { + if (val == NULL) + val = ""; json_string_len (sp, val, strlen (val)); } |