diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2013-12-16 14:42:00 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2013-12-16 14:42:00 -0800 |
commit | 975debc2cd459b9bfa80cfae10d2f090d3f1535a (patch) | |
tree | d299f6394bc87f160a675aecfb48a78fddcce61b /lib/ffi_yajl/ffi | |
parent | 2cefbfbdf7217537b5a638a6dd697480e47d38d5 (diff) | |
download | ffi-yajl-975debc2cd459b9bfa80cfae10d2f090d3f1535a.tar.gz |
fix NaN/Infinity handling
Diffstat (limited to 'lib/ffi_yajl/ffi')
-rw-r--r-- | lib/ffi_yajl/ffi/encoder.rb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ffi_yajl/ffi/encoder.rb b/lib/ffi_yajl/ffi/encoder.rb index eaf52cd..6e44796 100644 --- a/lib/ffi_yajl/ffi/encoder.rb +++ b/lib/ffi_yajl/ffi/encoder.rb @@ -135,6 +135,9 @@ end class Float def ffi_yajl(yajl_gen, state) str = self.to_s + if str == "NaN" || str == "Infinity" || str == "-Infinity" + raise ::FFI_Yajl::EncodeError.new("'#{str}' is an invalid number") + end if state[:processing_key] if ( status = FFI_Yajl.yajl_gen_string(yajl_gen, str, str.bytesize) ) != 0 FFI_Yajl::Encoder.raise_error_for_status(status) |