Fixed GlobalSize return value for zero size block.

diff --git a/memory/global.c b/memory/global.c
index b7ceebf..c6a9f6a 100644
--- a/memory/global.c
+++ b/memory/global.c
@@ -1370,6 +1370,8 @@
       
       if(pintern->Magic==MAGIC_GLOBAL_USED)
       {
+        if (!pintern->Pointer) /* handle case of GlobalAlloc( ??,0) */
+            return 0;
 	 retval=HeapSize(GetProcessHeap(), 0, 
 	                 (char *)(pintern->Pointer)-sizeof(HGLOBAL32))-4;
       }
@@ -1380,6 +1382,8 @@
       }
       /* HeapUnlock(GetProcessHeap()); */
    }
+   /* HeapSize returns 0xffffffff on failure */
+   if (retval == 0xffffffff) retval = 0;
    return retval;
 }