]>
Commit | Line | Data |
---|---|---|
813fb2f6 A |
1 | #include <darwintest.h> |
2 | #include <stdio.h> | |
3 | #include <mach/mach.h> | |
4 | #include <mach/host_priv.h> | |
5 | ||
6 | ||
7 | T_DECL(regression_17272465, | |
8 | "Test for host_set_special_port Mach port over-release, rdr: 17272465", T_META_CHECK_LEAKS(false)) | |
9 | { | |
10 | kern_return_t kr; | |
11 | mach_port_t port = MACH_PORT_NULL; | |
12 | ||
13 | T_SETUPBEGIN; | |
14 | T_QUIET; | |
15 | T_ASSERT_MACH_SUCCESS(mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &port), NULL); | |
16 | T_QUIET; | |
17 | T_ASSERT_MACH_SUCCESS(mach_port_insert_right(mach_task_self(), port, port, MACH_MSG_TYPE_MAKE_SEND), NULL); | |
18 | T_SETUPEND; | |
19 | ||
20 | (void)host_set_special_port(mach_host_self(), 30, port); | |
21 | (void)host_set_special_port(mach_host_self(), 30, port); | |
22 | (void)host_set_special_port(mach_host_self(), 30, port); | |
23 | ||
24 | T_PASS("No panic occurred"); | |
25 | } |