diff options
author | Philippe Lague-Morin <philippe@screenshot.ca> | 2011-08-19 00:21:54 -0300 |
---|---|---|
committer | Philippe Lague-Morin <philippe@screenshot.ca> | 2011-08-19 00:21:54 -0300 |
commit | 48c02bf339cbf056d9f202573d57a3d0a95deef2 (patch) | |
tree | 5dc1fbe1a0c76bb5408858b5dd9ec82bb92541f6 | |
parent | e2d080612f566205d16a65fdad05618f92774d4c (diff) | |
download | yajl-48c02bf339cbf056d9f202573d57a3d0a95deef2.tar.gz |
Edited src/yajl_tree.c via GitHub
-rw-r--r-- | src/yajl_tree.c | 11 |
1 files 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; |