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