Piotr Caban : wininet: Don't overwrite locked entry in CommitUrlCacheEntry.
Alexandre Julliard
julliard at winehq.org
Fri Apr 6 14:43:23 CDT 2012
Module: wine
Branch: master
Commit: c9983b11597f4ad29f171229e05a998498c28b0c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c9983b11597f4ad29f171229e05a998498c28b0c
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Apr 5 21:35:00 2012 +0200
wininet: Don't overwrite locked entry in CommitUrlCacheEntry.
---
dlls/wininet/urlcache.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c
index f4a47b1..155a0e9 100644
--- a/dlls/wininet/urlcache.c
+++ b/dlls/wininet/urlcache.c
@@ -2678,6 +2678,14 @@ static BOOL CommitUrlCacheEntryInternal(
if (URLCache_FindHash(pHeader, lpszUrlNameA, &pHashEntry))
{
+ if ((pHashEntry->dwHashKey & ((1<<HASHTABLE_FLAG_BITS)-1)) == HASHTABLE_LOCK)
+ {
+ /* FIXME: implement timeout object unlocking */
+ FIXME("Trying to overwrite locked entry\n");
+ SetLastError(ERROR_SHARING_VIOLATION);
+ goto cleanup;
+ }
+
FIXME("entry already in cache - don't know what to do!\n");
/*
* SetLastError(ERROR_FILE_NOT_FOUND);
More information about the wine-cvs
mailing list