SysStringLen can get a NULL pointer (and shall return 0).
diff --git a/dlls/oleaut32/ole2disp.c b/dlls/oleaut32/ole2disp.c index 62f958e..3fd4204 100644 --- a/dlls/oleaut32/ole2disp.c +++ b/dlls/oleaut32/ole2disp.c
@@ -279,6 +279,7 @@ { DWORD* bufferPointer; + if (!str) return 0; /* * The length of the string (in bytes) is contained in a DWORD placed * just before the BSTR pointer