diff --git a/mozilla/modules/libjar/nsJARChannel.cpp b/mozilla/modules/libjar/nsJARChannel.cpp index 0a2771139ef..45a0067af76 100644 --- a/mozilla/modules/libjar/nsJARChannel.cpp +++ b/mozilla/modules/libjar/nsJARChannel.cpp @@ -474,7 +474,7 @@ nsJARChannel::EnsureJARFileAvailable(OnJARFileAvailableFun onJARFileAvailable, // use a file transport to serve as a data pump for the download (done // on some other thread) - rv = fts->CreateTransport(jarCacheFile, PR_WRONLY | PR_CREATE_FILE, 0, + rv = fts->CreateTransport(jarCacheFile, PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE, 0664, getter_AddRefs(mJarCacheTransport)); if (NS_FAILED(rv)) goto error; rv = mJarCacheTransport->SetBufferSegmentSize(mBufferSegmentSize); diff --git a/mozilla/netwerk/base/src/nsFileStreams.cpp b/mozilla/netwerk/base/src/nsFileStreams.cpp index d8aa58becf5..1a0c5dd060d 100644 --- a/mozilla/netwerk/base/src/nsFileStreams.cpp +++ b/mozilla/netwerk/base/src/nsFileStreams.cpp @@ -418,8 +418,8 @@ nsFileOutputStream::Init(nsIFile* file, PRInt32 ioFlags, PRInt32 perm) nsCOMPtr localFile = do_QueryInterface(file, &rv); if (NS_FAILED(rv)) return rv; if (ioFlags == -1) - ioFlags = PR_WRONLY | PR_CREATE_FILE; - if (perm == -1) + ioFlags = PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE; + if (perm <= 0) perm = 0664; return localFile->OpenNSPRFileDesc(ioFlags, perm, &mFD); } diff --git a/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp b/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp index 0a2771139ef..45a0067af76 100644 --- a/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp +++ b/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp @@ -474,7 +474,7 @@ nsJARChannel::EnsureJARFileAvailable(OnJARFileAvailableFun onJARFileAvailable, // use a file transport to serve as a data pump for the download (done // on some other thread) - rv = fts->CreateTransport(jarCacheFile, PR_WRONLY | PR_CREATE_FILE, 0, + rv = fts->CreateTransport(jarCacheFile, PR_WRONLY | PR_CREATE_FILE | PR_TRUNCATE, 0664, getter_AddRefs(mJarCacheTransport)); if (NS_FAILED(rv)) goto error; rv = mJarCacheTransport->SetBufferSegmentSize(mBufferSegmentSize);