json_quote_chararray: Always return a newly talloced array
authorAnthony <aj@erisian.com.au>
Tue, 20 Apr 2010 15:55:31 +0000 (08:55 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 20 Apr 2010 15:55:31 +0000 (08:55 -0700)
The special case for len==0 was wrong---the normal code path is to
talloc to get a newly allocated, editable string, that might be
talloc_free'd later. It makes more sense just to let the len==0
behaviour fall through into the normal case code.

Reviewed-by: Carl Worth <cworth@cworth.org>
This results in the same value being returned, but with the proper
memory handling.

json.c

diff --git a/json.c b/json.c
index 3fd923ca787cf62ba3ea4788d976212beb981dba..817fc83a3de060eb954575138a7c2c50471982ea 100644 (file)
--- a/json.c
+++ b/json.c
@@ -57,9 +57,6 @@ json_quote_chararray(const void *ctx, const char *str, const size_t len)
     size_t loop;
     size_t required;
 
-    if (len == 0)
-       return (char *)"\"\"";
-
     for (loop = 0, required = 0, ptr = str;
         loop < len;
         loop++, required++, ptr++) {