summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source/MacOSX
diff options
context:
space:
mode:
authorFrederic Riss <friss@apple.com>2018-03-29 03:49:41 +0000
committerFrederic Riss <friss@apple.com>2018-03-29 03:49:41 +0000
commitfa37026db3169f68cd62023af5cc871dcb7225fc (patch)
tree521433187ec0aae151e8a554d5241ce5e362bc37 /lldb/tools/debugserver/source/MacOSX
parent02eb974af5c727f7dbf4883f1733f84c85c423f3 (diff)
downloadbcm5719-llvm-fa37026db3169f68cd62023af5cc871dcb7225fc.tar.gz
bcm5719-llvm-fa37026db3169f68cd62023af5cc871dcb7225fc.zip
Prevent double release of mach ports
Summary: When a MIG routine returns KERN_FAILURE, the demux function will release any OOL resources like ports. In this case, task_port and thread_port will be released twice, potentially resulting in use after free of the ports. I don't think we can test this in any useful way rdar://problem/37331387 Reviewers: jasonmolenda Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D45011 llvm-svn: 328761
Diffstat (limited to 'lldb/tools/debugserver/source/MacOSX')
-rw-r--r--lldb/tools/debugserver/source/MacOSX/MachException.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/lldb/tools/debugserver/source/MacOSX/MachException.cpp b/lldb/tools/debugserver/source/MacOSX/MachException.cpp
index cc309e47d86..da2b2fe9298 100644
--- a/lldb/tools/debugserver/source/MacOSX/MachException.cpp
+++ b/lldb/tools/debugserver/source/MacOSX/MachException.cpp
@@ -86,8 +86,6 @@ extern "C" kern_return_t catch_mach_exception_raise_state_identity(
(uint64_t)(exc_data_count > 0 ? exc_data[0] : 0xBADDBADD),
(uint64_t)(exc_data_count > 1 ? exc_data[1] : 0xBADDBADD));
}
- mach_port_deallocate(mach_task_self(), task_port);
- mach_port_deallocate(mach_task_self(), thread_port);
return KERN_FAILURE;
}
OpenPOWER on IntegriCloud