mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 8.2.3470: crash with error in :catch and also in :finally
Problem: Crash with error in :catch and also in :finally. Solution: Only discard an exception if there is one. (closes #8954)
This commit is contained in:
@@ -2374,7 +2374,8 @@ cleanup_conditionals(
|
||||
default:
|
||||
if (cstack->cs_flags[idx] & CSF_FINALLY)
|
||||
{
|
||||
if (cstack->cs_pending[idx] & CSTP_THROW)
|
||||
if ((cstack->cs_pending[idx] & CSTP_THROW)
|
||||
&& cstack->cs_exception[idx] != NULL)
|
||||
{
|
||||
// Cancel the pending exception. This is in the
|
||||
// finally clause, so that the stack of the
|
||||
|
Reference in New Issue
Block a user