From 1c4f65b335b29a20511733612be6aed30e79b1a5 Mon Sep 17 00:00:00 2001 From: Gunhan Gulsoy Date: Thu, 7 Dec 2017 21:36:01 -0800 Subject: Fix a bug in string to number conversion code. PiperOrigin-RevId: 178337974 --- tensorflow/core/lib/strings/numbers.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tensorflow/core/lib/strings/numbers.cc b/tensorflow/core/lib/strings/numbers.cc index 302a6967e3..f5822fad8e 100644 --- a/tensorflow/core/lib/strings/numbers.cc +++ b/tensorflow/core/lib/strings/numbers.cc @@ -81,10 +81,12 @@ T locale_independent_strtonum(const char* str, const char** endptr) { // number was outside the range, the stringstream sets the fail flag, but // returns the +/-max() value, whereas strto{f,d} functions return +/-INF. if (s.fail()) { - if (result == std::numeric_limits::max()) { + if (result == std::numeric_limits::max() || + result == std::numeric_limits::infinity()) { result = std::numeric_limits::infinity(); s.clear(s.rdstate() & ~std::ios::failbit); - } else if (result == -std::numeric_limits::max()) { + } else if (result == -std::numeric_limits::max() || + result == -std::numeric_limits::infinity()) { result = -std::numeric_limits::infinity(); s.clear(s.rdstate() & ~std::ios::failbit); } -- cgit v1.2.3