Closed Bug 448712 Opened 16 years ago Closed 16 years ago

SetEOF() not always applied correctly for entries stored in cache block files

Categories

(Core :: Networking: Cache, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dcamp, Unassigned)

References

Details

Attachments

(1 file)

Attached patch v1Splinter Review
If nsDiskCacheStreamIO::SetEOF() is called on an entry stored in the cache block files, and the stream is never written to after that, Flush() will not properly remove the storage for the entry.  This leads to an assertion failure if the cache entry is read from again (###!!! ASSERTION: storage allocated for zero data size: '!mBinding->mRecord.DataLocationInitialized()')

Attached patch sets mBufDirty in SetEOF() to make sure Flush() removes the storage as necessary.
Attachment #331883 - Flags: superreview?(cbiesinger)
Attachment #331883 - Flags: review?(cbiesinger)
Blocks: 426273
Comment on attachment 331883 [details] [diff] [review]
v1

thanks! just a comment on the test: can you use Components.results.NS_BINDING_ABORTED as the error code instead?
Attachment #331883 - Flags: superreview?(cbiesinger)
Attachment #331883 - Flags: superreview+
Attachment #331883 - Flags: review?(cbiesinger)
Attachment #331883 - Flags: review+
Checked in with that change as changeset 65d40ccab2f3.
Status: NEW → RESOLVED
Closed: 16 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: