aboutsummaryrefslogtreecommitdiffstats
path: root/ext/win32ole
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-19 01:29:45 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-08-19 01:29:45 +0000
commitf9b7a2a33fa708ea220f26bd094a8b26c2da059c (patch)
tree31661ff56f4088c6bb92188f287f68895be7649f /ext/win32ole
parentb38142e97218fd104d687c01054f90b9f8fb3088 (diff)
downloadruby-f9b7a2a33fa708ea220f26bd094a8b26c2da059c.tar.gz
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
Diffstat (limited to 'ext/win32ole')
-rw-r--r--ext/win32ole/win32ole.c2
1 files changed, 1 insertions, 1 deletions
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);