From 6c6820b7ee105529d1a6490e8323aa25f745f59e Mon Sep 17 00:00:00 2001 From: suke Date: Fri, 9 Feb 2007 22:41:09 +0000 Subject: * ext/win32ole/win32ole.c (ole_variant2val): fix the bug when SAFEARRAY pointer is NULL. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@11684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/win32ole/win32ole.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 41d777a1e..5542db429 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Feb 10 07:41:52 2007 Masaki Suketa + + * ext/win32ole/win32ole.c (ole_variant2val): fix the bug when + SAFEARRAY pointer is NULL. + Sat Feb 10 00:13:11 2007 Hidetoshi NAGAI * ext/tk/lib/tk.rb: fix typo (TkConfigMethod::__confinfo_cmd, diff --git a/ext/win32ole/win32ole.c b/ext/win32ole/win32ole.c index f0fcc11fe..f9064aaad 100644 --- a/ext/win32ole/win32ole.c +++ b/ext/win32ole/win32ole.c @@ -79,7 +79,7 @@ #define WC2VSTR(x) ole_wc2vstr((x), TRUE) -#define WIN32OLE_VERSION "0.7.0" +#define WIN32OLE_VERSION "0.7.1" typedef HRESULT (STDAPICALLTYPE FNCOCREATEINSTANCEEX) (REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); @@ -922,6 +922,10 @@ ole_variant2val(pvar) VALUE val; VALUE val2; + if (!psa) { + return obj; + } + int dim = SafeArrayGetDim(psa); VariantInit(&variant); V_VT(&variant) = (V_VT(pvar) & ~VT_ARRAY) | VT_BYREF; -- cgit