diff options
Diffstat (limited to 'set_error.c')
-rw-r--r-- | set_error.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/set_error.c b/set_error.c index 38617c7..a44aac6 100644 --- a/set_error.c +++ b/set_error.c @@ -33,7 +33,12 @@ liberror_set_error(const char description[256], const char source[64], const cha stpcpy(error->source, source); stpcpy(error->code_group, code_group); error->code = code; - liberror_save_backtrace(error); + if (liberror_saved_backtrace) { + error->backtrace = liberror_saved_backtrace; + liberror_saved_backtrace = NULL; + } else { + liberror_save_backtrace(error); + } error->cause = cause; error->failed_to_allocate_cause = have_cause && !cause; } |