From f9b7a2a33fa708ea220f26bd094a8b26c2da059c Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 19 Aug 2014 01:29:45 +0000 Subject: win32ole.c: check overflow * ext/win32ole/win32ole.c (ole_invoke): check integer overflow on win64 platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/win32ole/win32ole.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index ea82000013..fa8607b82c 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -2553,7 +2553,7 @@ ole_invoke(int argc, VALUE *argv, VALUE self, USHORT wFlags, BOOL is_bracket) /*------------------------------------------ hash object ==> named dispatch parameters --------------------------------------------*/ - cNamedArgs = RHASH_SIZE(param); + cNamedArgs = rb_long2int(RHASH_SIZE(param)); op.dp.cArgs = cNamedArgs + argc - 2; op.pNamedArgs = ALLOCA_N(OLECHAR*, cNamedArgs + 1); op.dp.rgvarg = ALLOCA_N(VARIANTARG, op.dp.cArgs); -- cgit v1.2.3