Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 17 Jun 1998 22:55:57 +0000 (22:55 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 17 Jun 1998 22:55:57 +0000 (22:55 +0000)
* stdlib/strtod.c (str_to_mpn): Fix extending of n array which
only should happen for cy != 0.

ChangeLog
stdlib/strtod.c

index f3c71aa..5a1670e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 1998-06-17  Ulrich Drepper  <drepper@cygnus.com>
 
+       * stdlib/strtod.c (str_to_mpn): Fix extending of n array which
+       only should happen for cy != 0.
+
        * sysdeps/unix/sysv/linux/alpha/glob.c: Include sys/types.h before
        glob.h.
 
index 55feca8..154e204 100644 (file)
@@ -309,16 +309,21 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
       if (cnt == MAX_DIG_PER_LIMB)
        {
          if (*nsize == 0)
-           n[0] = low;
+           {
+             n[0] = low;
+             *nsize = 1;
+           }
          else
            {
              mp_limb_t cy;
              cy = __mpn_mul_1 (n, n, *nsize, MAX_FAC_PER_LIMB);
              cy += __mpn_add_1 (n, n, *nsize, low);
              if (cy != 0)
-               n[*nsize] = cy;
+               {
+                 n[*nsize] = cy;
+                 ++(*nsize);
+               }
            }
-         ++(*nsize);
          cnt = 0;
          low = 0;
        }