File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -810,7 +810,12 @@ template <typename F> class Unwinder {
810810 _index = -1 ;
811811 _depth = depth;
812812 _Unwind_Backtrace (&this ->backtrace_trampoline , this );
813- return static_cast <size_t >(_index);
813+ if (_index == -1 ) {
814+ // _Unwind_Backtrace has failed to obtain any backtraces
815+ return 0 ;
816+ } else {
817+ return static_cast <size_t >(_index);
818+ }
814819 }
815820
816821private:
@@ -3614,11 +3619,11 @@ template <> class TraceResolverImpl<system_tag::windows_tag>
36143619 symOptions |= SYMOPT_LOAD_LINES | SYMOPT_UNDNAME ;
36153620 SymSetOptions (symOptions);
36163621 EnumProcessModules (process, &module_handles[0 ],
3617- static_cast <DWORD >(module_handles.size () * sizeof (HMODULE )),
3622+ static_cast <DWORD >(module_handles.size () * sizeof (HMODULE )),
36183623 &cbNeeded);
36193624 module_handles.resize (cbNeeded / sizeof (HMODULE ));
36203625 EnumProcessModules (process, &module_handles[0 ],
3621- static_cast <DWORD >(module_handles.size () * sizeof (HMODULE )),
3626+ static_cast <DWORD >(module_handles.size () * sizeof (HMODULE )),
36223627 &cbNeeded);
36233628 std::transform (module_handles.begin (), module_handles.end (),
36243629 std::back_inserter (modules), get_mod_info (process));
You can’t perform that action at this time.
0 commit comments