aboutsummaryrefslogtreecommitdiffhomepage
path: root/sprinter-json.c
diff options
context:
space:
mode:
authorGravatar Mark Walters <markwalters1009@gmail.com>2012-08-08 22:23:33 +0100
committerGravatar David Bremner <bremner@debian.org>2012-08-12 21:25:01 +0200
commit94c3b40d41f1ad98719d411ef28b69075fda0579 (patch)
tree626dd70f0fc46947595312aae8c62e1320d6bf68 /sprinter-json.c
parent36e640852b240ad10daed626391e1b812df89200 (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.c2
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));
}