Patch for Bug 4159

Howard Selover III selover at speakeasy.net
Tue Dec 27 10:45:30 CST 2005


Hello Ulrich,

I debated where to place the fix since this is not a public documented 
function. At least I could not find documentation for the function. I 
decided to go with the location and type of return previously presented 
by the function. If the author/maintainer desires the other approach and 
would like a tested patch, I would be happy to do it.

Howard

Ulrich Czekalla wrote:

>I don't think this should fail if size equals 0. This function is also
>used by StgStreamImpl_Read and it shouldn't fail if it reads 0 bytes.
>
>I think a better place to fix it is in the SmallBlocksToBigBlocks() loop.
>
>/Ulrich
>
>On Mon, Dec 26, 2005 at 09:26:58AM -0500, Howard Selover III wrote:
>  
>
>>ChangeLog:
>>       Howard Selover III <selover at speakeasy.net>
>>       Added back the end of read detection to eliminate a spin condition.
>>
>>
>>Index: dlls/ole32/storage32.c
>>===================================================================
>>RCS file: /home/wine/wine/dlls/ole32/storage32.c,v
>>retrieving revision 1.97
>>diff -u -p -r1.97 storage32.c
>>--- dlls/ole32/storage32.c      22 Dec 2005 17:12:52 -0000      1.97
>>+++ dlls/ole32/storage32.c      26 Dec 2005 01:47:44 -0000
>>@@ -5188,6 +5188,9 @@ HRESULT SmallBlockChainStream_ReadAt(
>>    offsetInBlock = 0;  /* There is no offset on the next block */
>>  }
>>
>>+  if (size == 0)
>>+    rc = E_FAIL;
>>+
>>  return rc;
>>}
>>
>>
>>
>>
>>    
>>
>
>
>
>
>  
>



More information about the wine-devel mailing list