summaryrefslogtreecommitdiff
path: root/mpf
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gmplib.org>2014-01-19 13:10:19 +0100
committerTorbjorn Granlund <tege@gmplib.org>2014-01-19 13:10:19 +0100
commitf6696ef00801604812cddeacfcc71c5cbe6706dc (patch)
tree47d61819dae9278546c41dec4271662ca55e96be /mpf
parent548dda66b59dfd7f131c3801100b3af008323ef0 (diff)
downloadgmp-f6696ef00801604812cddeacfcc71c5cbe6706dc.tar.gz
Avoid overflow in allocation computation.
Diffstat (limited to 'mpf')
-rw-r--r--mpf/init.c2
-rw-r--r--mpf/init2.c2
-rw-r--r--mpf/iset.c2
-rw-r--r--mpf/iset_d.c2
-rw-r--r--mpf/iset_si.c2
-rw-r--r--mpf/iset_str.c2
-rw-r--r--mpf/iset_ui.c2
7 files changed, 7 insertions, 7 deletions
diff --git a/mpf/init.c b/mpf/init.c
index b68dfc1dc..01a41a2b7 100644
--- a/mpf/init.c
+++ b/mpf/init.c
@@ -27,5 +27,5 @@ mpf_init (mpf_ptr r)
r->_mp_size = 0;
r->_mp_exp = 0;
r->_mp_prec = prec;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
}
diff --git a/mpf/init2.c b/mpf/init2.c
index d70b4995d..92f6a535d 100644
--- a/mpf/init2.c
+++ b/mpf/init2.c
@@ -29,5 +29,5 @@ mpf_init2 (mpf_ptr r, mp_bitcnt_t prec_in_bits)
r->_mp_size = 0;
r->_mp_exp = 0;
r->_mp_prec = prec;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
}
diff --git a/mpf/iset.c b/mpf/iset.c
index 969032950..6a06543d6 100644
--- a/mpf/iset.c
+++ b/mpf/iset.c
@@ -28,7 +28,7 @@ mpf_init_set (mpf_ptr r, mpf_srcptr s)
mp_size_t prec;
prec = __gmp_default_fp_limb_precision;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
r->_mp_prec = prec;
prec++; /* lie not to lose precision in assignment */
diff --git a/mpf/iset_d.c b/mpf/iset_d.c
index d4ace2e02..ed149040e 100644
--- a/mpf/iset_d.c
+++ b/mpf/iset_d.c
@@ -25,7 +25,7 @@ mpf_init_set_d (mpf_ptr r, double val)
{
mp_size_t prec = __gmp_default_fp_limb_precision;
r->_mp_prec = prec;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
mpf_set_d (r, val);
}
diff --git a/mpf/iset_si.c b/mpf/iset_si.c
index 263034d73..ca04cb019 100644
--- a/mpf/iset_si.c
+++ b/mpf/iset_si.c
@@ -29,7 +29,7 @@ mpf_init_set_si (mpf_ptr r, long int val)
mp_limb_t vl;
r->_mp_prec = prec;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
vl = (mp_limb_t) ABS_CAST (unsigned long int, val);
diff --git a/mpf/iset_str.c b/mpf/iset_str.c
index eff849f40..bd8bd60cf 100644
--- a/mpf/iset_str.c
+++ b/mpf/iset_str.c
@@ -27,7 +27,7 @@ mpf_init_set_str (mpf_ptr r, const char *s, int base)
r->_mp_size = 0;
r->_mp_exp = 0;
r->_mp_prec = prec;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
return mpf_set_str (r, s, base);
}
diff --git a/mpf/iset_ui.c b/mpf/iset_ui.c
index 58aaa1c85..c35db53c7 100644
--- a/mpf/iset_ui.c
+++ b/mpf/iset_ui.c
@@ -27,7 +27,7 @@ mpf_init_set_ui (mpf_ptr r, unsigned long int val)
mp_size_t size;
r->_mp_prec = prec;
- r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
+ r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((size_t) (prec + 1) * BYTES_PER_MP_LIMB);
r->_mp_d[0] = val & GMP_NUMB_MASK;
size = (val != 0);