diff options
Diffstat (limited to 'lib/ffi_yajl.rb')
-rw-r--r-- | lib/ffi_yajl.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ffi_yajl.rb b/lib/ffi_yajl.rb index beec7f2..9ebed6b 100644 --- a/lib/ffi_yajl.rb +++ b/lib/ffi_yajl.rb @@ -221,12 +221,12 @@ module FFI_Yajl error = FFI_Yajl.yajl_get_error(yajl_handle, 1, str, str.length) raise FFI_Yajl::ParseError.new(error) end - rb_ctx.stack.pop if ( stat = FFI_Yajl.yajl_complete_parse(yajl_handle) != :yajl_status_ok ) # FIXME: dup the error and call yajl_free_error? error = FFI_Yajl.yajl_get_error(yajl_handle, 1, str, str.length) raise FFI_Yajl::ParseError.new(error) end + rb_ctx.stack.pop ensure FFI_Yajl.yajl_free(yajl_handle) if yajl_handle @@CTX_MAPPING.delete(rb_ctx.object_id) if rb_ctx && rb_ctx.object_id |