Module: wine Branch: master Commit: c9983b11597f4ad29f171229e05a998498c28b0c URL: http://source.winehq.org/git/wine.git/?a=commit;h=c9983b11597f4ad29f171229e0...
Author: Piotr Caban piotr@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);