File tree 2 files changed +10
-1
lines changed
2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change 12
12
- Session replay not redacting buttons and other non UILabel texts (#4277 )
13
13
- Rarely reporting too long frame delays (#4278 ) by fixing a race condition in the frames tracking logic.
14
14
- Crash deserializing empty envelope length>0 (#4281 ]
15
+ - Guard dereferencing of stack frame pointer in SentryBacktrace ([ #4268 ] ( https://github.com/getsentry/sentry-cocoa/pull/4268 ) )
15
16
16
17
## 8.33.0
17
18
Original file line number Diff line number Diff line change 11
11
# include " SentryThreadMetadataCache.hpp"
12
12
# include " SentryThreadState.hpp"
13
13
# include " SentryTime.h"
14
-
14
+ extern " C" {
15
+ # define restrict
16
+ /* * Allow importing C99 headers that use the restrict keyword, which isn't valid in C++ */
17
+ # include " SentryCrashMemory.h"
18
+ # undef restrict
19
+ }
15
20
# include < cassert>
16
21
# include < cstring>
17
22
# include < dispatch/dispatch.h>
@@ -81,6 +86,9 @@ namespace profiling {
81
86
bool reachedEndOfStack = false ;
82
87
while (depth < maxDepth) {
83
88
const auto frame = reinterpret_cast <StackFrame *>(current);
89
+ if (!sentrycrashmem_isMemoryReadable (frame, sizeof (StackFrame))) {
90
+ break ;
91
+ }
84
92
if (LIKELY (skip == 0 )) {
85
93
addresses[depth++] = getPreviousInstructionAddress (frame->returnAddress );
86
94
} else {
You can’t perform that action at this time.
0 commit comments