Mercurial > cpython-lru_cache-weakref
diff Python/dtoa.c @ 58458:d77c947ff7db legacy-trunk
Issue #7743: Add checks for zero inputs to the lshift and mult functions;
this fixes the first bug described in issue #7743.
| author | Mark Dickinson <dickinsm@gmail.com> |
|---|---|
| date | Sat, 23 Jan 2010 20:48:56 +0000 |
| parents | 7a9f36cc6df1 |
| children | b40a5a568e76 |
line wrap: on
line diff
--- a/Python/dtoa.c Sat Jan 23 17:52:57 2010 +0000 +++ b/Python/dtoa.c Sat Jan 23 20:48:56 2010 +0000 @@ -622,6 +622,15 @@ ULong z2; #endif + if ((!a->x[0] && a->wds == 1) || (!b->x[0] && b->wds == 1)) { + c = Balloc(0); + if (c == NULL) + return NULL; + c->wds = 1; + c->x[0] = 0; + return c; + } + if (a->wds < b->wds) { c = a; a = b; @@ -820,6 +829,9 @@ Bigint *b1; ULong *x, *x1, *xe, z; + if (!k || (!b->x[0] && b->wds == 1)) + return b; + n = k >> 5; k1 = b->k; n1 = n + b->wds + 1;
