Index: ipc/ipc_message_utils.cc |
diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc |
index f814727ee2b81fff5694adc45d94d0011d477105..be83e5a236bb2322e66b36d13aa0640759cdc691 100644 |
--- a/ipc/ipc_message_utils.cc |
+++ b/ipc/ipc_message_utils.cc |
@@ -658,8 +658,14 @@ bool ParamTraits<base::FileDescriptor>::Read(const base::Pickle* m, |
if (!m->ReadAttachment(iter, &attachment)) |
return false; |
+ if (static_cast<MessageAttachment*>(attachment.get())->GetType() != |
+ MessageAttachment::Type::PLATFORM_FILE) { |
+ return false; |
+ } |
+ |
*r = base::FileDescriptor( |
- static_cast<MessageAttachment*>(attachment.get())->TakePlatformFile(), |
+ static_cast<internal::PlatformFileAttachment*>(attachment.get()) |
+ ->TakePlatformFile(), |
true); |
return true; |
} |