From 48c02bf339cbf056d9f202573d57a3d0a95deef2 Mon Sep 17 00:00:00 2001 From: Philippe Lague-Morin Date: Fri, 19 Aug 2011 00:21:54 -0300 Subject: Edited src/yajl_tree.c via GitHub --- src/yajl_tree.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/yajl_tree.c b/src/yajl_tree.c index 111e49f..de76e54 100644 --- a/src/yajl_tree.c +++ b/src/yajl_tree.c @@ -421,6 +421,7 @@ yajl_val yajl_tree_parse (const char *input, yajl_handle handle; yajl_status status; + char * internal_err_str; context_t ctx = { NULL, NULL, NULL, 0 }; ctx.errbuf = error_buffer; @@ -438,11 +439,11 @@ yajl_val yajl_tree_parse (const char *input, status = yajl_complete_parse (handle); if (status != yajl_status_ok) { if (error_buffer != NULL && error_buffer_size > 0) { - snprintf( - error_buffer, error_buffer_size, "%s", - (char *) yajl_get_error(handle, 1, - (const unsigned char *) input, - strlen(input))); + internal_err_str = (char *) yajl_get_error(handle, 1, + (const unsigned char *) input, + strlen(input)); + snprintf(error_buffer, error_buffer_size, "%s", internal_err_str); + YA_FREE(&(handle->alloc), internal_err_str); } yajl_free (handle); return NULL; -- cgit v1.2.1