diff --git a/mozilla/netwerk/cache/src/nsCacheService.cpp b/mozilla/netwerk/cache/src/nsCacheService.cpp index dd60fb3267a..c152d45b016 100644 --- a/mozilla/netwerk/cache/src/nsCacheService.cpp +++ b/mozilla/netwerk/cache/src/nsCacheService.cpp @@ -833,11 +833,6 @@ nsCacheService::ActivateEntry(nsCacheRequest * request, } else { ++mCacheMisses; } - if (!entry && !(request->AccessRequested() & nsICache::ACCESS_WRITE)) { - // this is a READ-ONLY request - rv = NS_ERROR_CACHE_KEY_NOT_FOUND; - goto error; - } if (entry && ((request->AccessRequested() == nsICache::ACCESS_WRITE) || @@ -854,6 +849,12 @@ nsCacheService::ActivateEntry(nsCacheRequest * request, } if (!entry) { + if (! (request->AccessRequested() & nsICache::ACCESS_WRITE)) { + // this is a READ-ONLY request + rv = NS_ERROR_CACHE_KEY_NOT_FOUND; + goto error; + } + entry = new nsCacheEntry(request->mKey, request->IsStreamBased(), request->StoragePolicy()); diff --git a/mozilla/netwerk/cache/src/nsMemoryCacheDevice.cpp b/mozilla/netwerk/cache/src/nsMemoryCacheDevice.cpp index 0c9f58f6b2f..ecd5cf9c955 100644 --- a/mozilla/netwerk/cache/src/nsMemoryCacheDevice.cpp +++ b/mozilla/netwerk/cache/src/nsMemoryCacheDevice.cpp @@ -164,10 +164,10 @@ nsMemoryCacheDevice::DeactivateEntry(nsCacheEntry * entry) nsresult nsMemoryCacheDevice::BindEntry(nsCacheEntry * entry) { - NS_ASSERTION(PR_CLIST_IS_EMPTY(entry),"entry is already on a list!"); - if (!entry->IsDoomed()) { - // append entry to the eviction list + NS_ASSERTION(PR_CLIST_IS_EMPTY(entry),"entry is already on a list!"); + + // append entry to the eviction list PR_APPEND_LINK(entry, &mEvictionList[EvictionList(entry, 0)]); // add entry to hashtable of mem cache entries