From db01aa6ba7277b5788abbb2b534f3023c7d6aa9a Mon Sep 17 00:00:00 2001 From: Bikram Chatterjee Date: Fri, 13 Mar 2015 00:48:33 +0100 Subject: [PATCH] fixed -0e0 decoding crash with test --- src/jsx_decoder.erl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/jsx_decoder.erl b/src/jsx_decoder.erl index e6b4152..0f03975 100644 --- a/src/jsx_decoder.erl +++ b/src/jsx_decoder.erl @@ -892,6 +892,8 @@ number(Bin, Handler, Acc, [State|Stack], Config) -> zero(<>, N) -> initialdecimal(Rest, N + 1); +zero(<<$e, _/binary>>, N) -> {integer, N}; +zero(<<$E, _/binary>>, N) -> {integer, N}; zero(<<>>, N) -> {zero, N}; zero(_, N) -> {finish_integer, N}. @@ -1171,6 +1173,7 @@ special_number_test_() -> {"0e4", [{float, 0.0}, end_json], <<"0e4">>}, {"1e0", [{float, 1.0}, end_json], <<"1e0">>}, {"-1e0", [{float, -1.0}, end_json], <<"-1e0">>}, + {"-0e0", [{float, -0.0}, end_json], <<"-0e0">>}, {"1e4", [{float, 1.0e4}, end_json], <<"1e4">>}, {"number terminated by whitespace", [start_array, {integer, 1}, end_array, end_json],