|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
--- ./callback/trampoline_r/trampoline.c.orig 2009-04-27 09:24:05.000000000 -0600
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
+++ ./callback/trampoline_r/trampoline.c 2012-01-10 12:03:02.752466354 -0700
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
@@ -67,10 +67,6 @@ extern void (*tramp_r) (); /* trampoline
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#ifndef CODE_EXECUTABLE
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
/* How do we make the trampoline's code executable? */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#if defined(HAVE_MACH_VM) || defined(__convex__) || defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H)
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-/* mprotect() [or equivalent] the malloc'ed area. */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#define EXECUTABLE_VIA_MPROTECT
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#ifdef HAVE_MMAP
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
/* Use an mmap'ed page. */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#define EXECUTABLE_VIA_MMAP
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
@@ -90,7 +86,6 @@ extern void (*tramp_r) (); /* trampoline
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#include <stdio.h> /* declares fprintf() */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
--- ./trampoline/trampoline.c.orig 2008-09-26 14:19:37.000000000 -0600
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
+++ ./trampoline/trampoline.c 2012-01-10 12:02:33.027731322 -0700
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
@@ -67,10 +67,6 @@ extern void (*tramp) (); /* trampoline p
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#ifndef CODE_EXECUTABLE
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
/* How do we make the trampoline's code executable? */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#if defined(HAVE_MACH_VM) || defined(__convex__) || defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H)
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-/* mprotect() [or equivalent] the malloc'ed area. */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#define EXECUTABLE_VIA_MPROTECT
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#else
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#ifdef HAVE_MMAP
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
/* Use an mmap'ed page. */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#define EXECUTABLE_VIA_MMAP
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
@@ -90,7 +86,6 @@ extern void (*tramp) (); /* trampoline p
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
-#endif
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
#include <stdio.h> /* declares fprintf() */
|
|
![](https://seccdn.libravatar.org/avatar/258caf5973a37959eeea9164bfc32d49b0634d0792e85fce1f5acf0430f05ba2?s=16&d=retro) |
978f9ba |
|