MCPcopy Create free account
hub / github.com/GJDuck/e9patch / target_check

Function target_check

examples/cfi.c:97–113  ·  view source on GitHub ↗

* Target check. */

Source from the content-addressed store, hash-verified

95 * Target check.
96 */
97static RESULT target_check(uintptr_t target)
98{
99 if (target < TARGETs.lb || target > TARGETs.ub)
100 return UNKNOWN;
101 ssize_t lo = 0, hi = TARGETs.size-1;
102 while (lo <= hi)
103 {
104 ssize_t mid = (lo + hi) / 2;
105 if (TARGETs.data[mid] < target)
106 lo = mid+1;
107 else if (TARGETs.data[mid] > target)
108 hi = mid-1;
109 else
110 return VALID;
111 }
112 return INVALID;
113}
114
115/*
116 * Entry point.

Callers 1

entryFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected