[#49896] 未知の、実キーワード引数の扱いの慣例 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
1 message
2016/12/05
[ruby-dev:49934] Re: r57227 の変更ではリークが起きるようです
From:
"KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date:
2016-12-30 02:04:01 UTC
List:
ruby-dev #49934
On Thu, 29 Dec 2016 15:47:40 +0900
"KISHIMOTO, Makoto" <ksmakoto@dd.iij4u.or.jp> wrote:
> きしもとです
>
> こちらの件についてですが、原因はこの変更自体ではなく、(GMP)gcdでした。
> もう少し追ってみます。
rational.c の中の gcd_gmp ですが、リークしているように見えます。
diff --git a/rational.c b/rational.c
index a78b347..7114020 100644
--- a/rational.c
+++ b/rational.c
@@ -261,10 +261,15 @@ rb_gcd_gmp(VALUE x, VALUE y)
mpz_gcd(mz, mx, my);
+ mpz_clear(mx);
+ mpz_clear(my);
+
zn = (mpz_sizeinbase(mz, 16) + SIZEOF_BDIGIT*2 - 1) / (SIZEOF_BDIGIT*2);
z = rb_big_new(zn, 1);
mpz_export(BIGNUM_DIGITS(z), &count, -1, sizeof(BDIGIT), 0, nails, mz);
+ mpz_clear(mz);
+
return rb_big_norm(z);
}
#endif