We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent f117cbb commit 4fefbbbCopy full SHA for 4fefbbb
Source/SlimDetours/Transaction.c
@@ -98,6 +98,7 @@ SlimDetoursTransactionAbort(VOID)
98
PVOID pMem;
99
SIZE_T sMem;
100
DWORD dwOld;
101
+ BOOL freed = FALSE;
102
103
if (s_nPendingThreadId != NtCurrentThreadId())
104
{
@@ -115,13 +116,18 @@ SlimDetoursTransactionAbort(VOID)
115
116
117
detour_free_trampoline(o->pTrampoline);
118
o->pTrampoline = NULL;
119
+ freed = TRUE;
120
}
121
122
PDETOUR_OPERATION n = o->pNext;
123
detour_memory_free(o);
124
o = n;
125
126
s_pPendingOperations = NULL;
127
+ if (freed)
128
+ {
129
+ detour_free_unused_trampoline_regions();
130
+ }
131
132
// Make sure the trampoline pages are no longer writable.
133
detour_runnable_trampoline_regions();
0 commit comments