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.h | |
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.h')
-rw-r--r-- | sprinter.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -27,7 +27,9 @@ typedef struct sprinter { * a list or map, followed or preceded by separators). For string * and string_len, the char * must be UTF-8 encoded. string_len * allows non-terminated strings and strings with embedded NULs - * (though the handling of the latter is format-dependent). + * (though the handling of the latter is format-dependent). For + * string (but not string_len) the string pointer passed may be + * NULL. */ void (*string) (struct sprinter *, const char *); void (*string_len) (struct sprinter *, const char *, size_t); |