diff options
Diffstat (limited to 'src/client/ios')
-rw-r--r-- | src/client/ios/Breakpad.mm | 2 | ||||
-rw-r--r-- | src/client/ios/handler/ios_exception_minidump_generator.mm | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/client/ios/Breakpad.mm b/src/client/ios/Breakpad.mm index 36d82d36..65bf51e9 100644 --- a/src/client/ios/Breakpad.mm +++ b/src/client/ios/Breakpad.mm @@ -780,7 +780,7 @@ int BreakpadGetCrashReportCount(BreakpadRef ref) { Breakpad *breakpad = (Breakpad *)ref; if (breakpad) { - return [breakpad->CrashReportsToUpload() count]; + return static_cast<int>([breakpad->CrashReportsToUpload() count]); } } catch(...) { // don't let exceptions leave this C API fprintf(stderr, "BreakpadGetCrashReportCount() : error\n"); diff --git a/src/client/ios/handler/ios_exception_minidump_generator.mm b/src/client/ios/handler/ios_exception_minidump_generator.mm index 081b4c96..82ea5bb5 100644 --- a/src/client/ios/handler/ios_exception_minidump_generator.mm +++ b/src/client/ios/handler/ios_exception_minidump_generator.mm @@ -166,6 +166,8 @@ bool IosExceptionMinidumpGenerator::WriteThreadStream(mach_port_t thread_id, return MinidumpGenerator::WriteThreadStream(thread_id, thread); size_t frame_count = [return_addresses_ count]; + if (frame_count == 0) + return false; UntypedMDRVA memory(&writer_); size_t pointer_size = sizeof(uintptr_t); size_t frame_record_size = 2 * pointer_size; @@ -176,7 +178,7 @@ bool IosExceptionMinidumpGenerator::WriteThreadStream(mach_port_t thread_id, uintptr_t sp = stack_size - pointer_size; uintptr_t fp = 0; uintptr_t lr = 0; - for (int current_frame = frame_count - 1; + for (size_t current_frame = frame_count - 1; current_frame > 0; --current_frame) { AppendToMemory(stack_memory.get(), sp, lr); |