DPA_LoadStream

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Internet Explorer, occasionally tried to load a stream with over 1
million items. This causes an overlap in the size of the array when we
try to allocate (items*2)*8 bytes and then initialize all the times.

To actually allocate the times would require a fair bit of a rewrite of
the DPA code. So this patch catches the maximum number of items that can
be loaded by our existing code and if the number requested exceeds this
return an Out of Memory error.

change log: Catch maximum number of times and return out of memory
error.

-aric



Index: dlls/comctl32/comctl32undoc.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/comctl32undoc.c,v
retrieving revision 1.53
diff -u -u -r1.53 comctl32undoc.c
--- dlls/comctl32/comctl32undoc.c       2001/09/20 18:58:43     1.53
+++ dlls/comctl32/comctl32undoc.c       2002/01/14 14:37:08
@@ -109,6 +109,9 @@
        errCode = E_FAIL;
     }
 
+    if (streamData.dwItems > 536870911)
+        return E_OUTOFMEMORY;
+
     /* create the dpa */
     hDpa = DPA_Create (streamData.dwItems);
     if (!hDpa)

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux