summaryrefslogtreecommitdiff
path: root/libguile/conv-integer.i.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-06-23 14:57:50 +0200
committerAndy Wingo <wingo@pobox.com>2016-06-23 14:57:50 +0200
commit2c8ea5a008959ffba629694942d75887dc14a869 (patch)
tree24671797b99334452d940bdb10589920049e454f /libguile/conv-integer.i.c
parente7f1038aca62f7318b9a3c93d50293f800462110 (diff)
downloadguile-2c8ea5a008959ffba629694942d75887dc14a869.tar.gz
Fix memory leak in scm_from_{u,}int64 on 32-bit platforms
* libguile/conv-integer.i.c (SCM_FROM_TYPE_PROTO): * libguile/conv-uinteger.i.c (SCM_FROM_TYPE_PROTO): Fix a big in which scm_from_int64 and scm_from_uint64 on a 32-bit platform leaked memory if they needed to allocate a bignum. Fixes #20079.
Diffstat (limited to 'libguile/conv-integer.i.c')
-rw-r--r--libguile/conv-integer.i.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/conv-integer.i.c b/libguile/conv-integer.i.c
index 4cf887cb6..a5362d39c 100644
--- a/libguile/conv-integer.i.c
+++ b/libguile/conv-integer.i.c
@@ -117,7 +117,7 @@ SCM_FROM_TYPE_PROTO (TYPE val)
return scm_i_long2big (val);
else
{
- SCM z = scm_double_cell (scm_tc16_big, 0, 0, 0);
+ SCM z = make_bignum ();
mpz_init (SCM_I_BIG_MPZ (z));
if (val < 0)
{