diff options
Diffstat (limited to 'libcxxabi/src/cxa_exception.cpp')
-rw-r--r-- | libcxxabi/src/cxa_exception.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libcxxabi/src/cxa_exception.cpp b/libcxxabi/src/cxa_exception.cpp index 2ee146ab28b..77ac7c56fb9 100644 --- a/libcxxabi/src/cxa_exception.cpp +++ b/libcxxabi/src/cxa_exception.cpp @@ -296,7 +296,9 @@ void __cxa_end_catch() { std::type_info * __cxa_current_exception_type() { // get the current exception - __cxa_eh_globals *globals = __cxa_get_globals(); + __cxa_eh_globals *globals = __cxa_get_globals_fast(); + if (NULL == globals) + return NULL; // If there have never been any exceptions, there are none now. __cxa_exception *current_exception = globals->caughtExceptions; if (NULL == current_exception) return NULL; // No current exception |