[perl #45383] sprintf %f panics with NaN
Zefram [Tue, 11 Sep 2007 15:22:23 +0000 (08:22 -0700)]
From: Zefram (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.6.HEAD-10743-1189549342-52.45383-75-0@perl.org>

p4raw-id: //depot/perl@31854

sv.c

diff --git a/sv.c b/sv.c
index 5cc15b1..a2646f7 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -9194,7 +9194,7 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV
                : SvNV(argsv);
 
            need = 0;
-           if (c != 'e' && c != 'E') {
+           if (c != 'e' && c != 'E' && nv == nv) {
                i = PERL_INT_MIN;
                /* FIXME: if HAS_LONG_DOUBLE but not USE_LONG_DOUBLE this
                   will cast our (long double) to (double) */