Prevent more NULL ptr accesses due to Balloc out of memory

- fix gdtoa-gethex.c, ldtoa.c, and strtodg.c to use eBalloc
This commit is contained in:
Jeff Johnston 2020-01-09 15:18:14 -05:00
parent 1afb22a120
commit 1fdf871c9d
3 changed files with 9 additions and 9 deletions

View File

@ -129,7 +129,7 @@ increment (struct _reent *ptr,
#endif
{
if (b->_wds >= b->_maxwds) {
b1 = Balloc(ptr, b->_k+1);
b1 = eBalloc(ptr, b->_k+1);
Bcopy(b1, b);
Bfree(ptr, b);
b = b1;
@ -219,7 +219,7 @@ gethex (struct _reent *ptr, const char **sp, const FPI *fpi,
n = s1 - s0 - 1;
for(k = 0; n > 7; n >>= 1)
k++;
b = Balloc(ptr, k);
b = eBalloc(ptr, k);
x = b->_x;
n = 0;
L = 0;

View File

@ -2923,7 +2923,7 @@ stripspaces:
for (_REENT_MP_RESULT_K (ptr) = 0;
sizeof (_Bigint) - sizeof (__ULong) + j <= i; j <<= 1)
_REENT_MP_RESULT_K (ptr)++;
_REENT_MP_RESULT (ptr) = Balloc (ptr, _REENT_MP_RESULT_K (ptr));
_REENT_MP_RESULT (ptr) = eBalloc (ptr, _REENT_MP_RESULT_K (ptr));
/* Copy from internal temporary buffer to permanent buffer. */
outstr = (char *) _REENT_MP_RESULT (ptr);

View File

@ -63,7 +63,7 @@ sum (struct _reent *p, _Bigint *a, _Bigint *b)
if (a->_wds < b->_wds) {
c = b; b = a; a = c;
}
c = Balloc(p, a->_k);
c = eBalloc(p, a->_k);
c->_wds = a->_wds;
carry = 0;
xa = a->_x;
@ -103,7 +103,7 @@ sum (struct _reent *p, _Bigint *a, _Bigint *b)
#endif
if (carry) {
if (c->_wds == c->_maxwds) {
b = Balloc(p, c->_k + 1);
b = eBalloc(p, c->_k + 1);
Bcopy(b, c);
Bfree(p, c);
c = b;
@ -190,7 +190,7 @@ increment (struct _reent *p, _Bigint *b)
#endif
{
if (b->_wds >= b->_maxwds) {
b1 = Balloc(p,b->_k+1);
b1 = eBalloc(p,b->_k+1);
Bcopy(b1,b);
Bfree(p,b);
b = b1;
@ -253,7 +253,7 @@ set_ones (struct _reent *p, _Bigint *b, int n)
k = (n + ((1 << kshift) - 1)) >> kshift;
if (b->_k < k) {
Bfree(p,b);
b = Balloc(p,k);
b = eBalloc(p,k);
}
k = n >> kshift;
if (n &= kmask)
@ -792,9 +792,9 @@ _strtodg_l (struct _reent *p, const char *s00, char **se, FPI *fpi, Long *exp,
bd0 = s2b(p, s0, nd0, nd, y);
for(;;) {
bd = Balloc(p,bd0->_k);
bd = eBalloc(p,bd0->_k);
Bcopy(bd, bd0);
bb = Balloc(p,rvb->_k);
bb = eBalloc(p,rvb->_k);
Bcopy(bb, rvb);
bbbits = rvbits - bb0;
bbe = rve + bb0;