Index: components/nacl/browser/pnacl_host.cc |
diff --git a/components/nacl/browser/pnacl_host.cc b/components/nacl/browser/pnacl_host.cc |
index 605d7d71d049fe9dd14c96765da8cbff55027f25..ecf82ef63da8b5a86e9c8a7524842fb4fb5b7a02 100644 |
--- a/components/nacl/browser/pnacl_host.cc |
+++ b/components/nacl/browser/pnacl_host.cc |
@@ -395,7 +395,7 @@ void PnaclHost::ReturnMiss(const PendingTranslationMap::iterator& entry) { |
// Return the fd |
PendingTranslation* pt = &entry->second; |
NexeFdCallback cb(pt->callback); |
- cb.Run(*pt->nexe_fd, false); |
+ cb.Run(pt->nexe_fd->Duplicate(), false); |
if (!pt->nexe_fd->IsValid()) { |
// Bad FD is unrecoverable, so clear out the entry. |
pending_translations_.erase(entry); |
@@ -564,7 +564,7 @@ void PnaclHost::OnBufferCopiedToTempFile(const TranslationID& id, |
base::Unretained(this), entry->first)); |
return; |
} |
- entry->second.callback.Run(*file.get(), true); |
+ entry->second.callback.Run(file->Duplicate(), true); |
BrowserThread::PostBlockingPoolTask( |
FROM_HERE, |
base::Bind(CloseScopedFile, Passed(&file))); |