Patch for Bug 4159

Ulrich Czekalla ulrich.czekalla at utoronto.ca
Tue Dec 27 08:16:50 CST 2005


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-patches mailing list