summaryrefslogtreecommitdiffstats
path: root/net/tools
diff options
context:
space:
mode:
Diffstat (limited to 'net/tools')
-rw-r--r--net/tools/dump_cache/upgrade.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/net/tools/dump_cache/upgrade.cc b/net/tools/dump_cache/upgrade.cc
index d048c6f..6b4a2da 100644
--- a/net/tools/dump_cache/upgrade.cc
+++ b/net/tools/dump_cache/upgrade.cc
@@ -5,6 +5,7 @@
#include "base/logging.h"
#include "base/message_loop.h"
#include "base/string_util.h"
+#include "net/base/io_buffer.h"
#include "net/disk_cache/backend_impl.h"
#include "net/disk_cache/entry_impl.h"
@@ -444,8 +445,10 @@ void MasterSM::DoReadData(int bytes_read) {
return SendReadData();
}
- if (read_size != entry_->WriteData(stream_, offset_, input_->buffer,
- read_size, NULL, false))
+ scoped_refptr<net::WrappedIOBuffer> buf =
+ new net::WrappedIOBuffer(input_->buffer);
+ if (read_size != entry_->WriteData(stream_, offset_, buf, read_size, NULL,
+ false))
return Fail();
offset_ += read_size;
@@ -713,8 +716,9 @@ void SlaveSM::DoReadData() {
stream < 0 || stream > 1 || size > kBufferSize) {
msg.result = RESULT_INVALID_PARAMETER;
} else {
- int ret = entry_->ReadData(stream, input_->msg.arg3, output_->buffer, size,
- NULL);
+ scoped_refptr<net::WrappedIOBuffer> buf =
+ new net::WrappedIOBuffer(output_->buffer);
+ int ret = entry_->ReadData(stream, input_->msg.arg3, buf, size, NULL);
msg.buffer_bytes = (ret < 0) ? 0 : ret;
msg.result = RESULT_OK;