Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
updated for version 7.4.161
Problem:    Crash in Python exception handling.
Solution:   Only use exception variables if did_throw is set. (ZyX)
  • Loading branch information
brammool committed Jan 31, 2014
1 parent fcc3f46 commit 4315f26
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 7 deletions.
9 changes: 2 additions & 7 deletions src/if_py_both.h
Expand Up @@ -564,10 +564,8 @@ VimTryEnd(void)
/* Keyboard interrupt should be preferred over anything else */
if (got_int)
{
if (current_exception != NULL)
if (did_throw)
discard_current_exception();
else
need_rethrow = did_throw = FALSE;
got_int = FALSE;
PyErr_SetNone(PyExc_KeyboardInterrupt);
return -1;
Expand Down Expand Up @@ -599,10 +597,7 @@ VimTryEnd(void)
/* Python exception is preferred over vim one; unlikely to occur though */
else if (PyErr_Occurred())
{
if (current_exception != NULL)
discard_current_exception();
else
need_rethrow = did_throw = FALSE;
discard_current_exception();
return -1;
}
/* Finally transform VimL exception to python one */
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -738,6 +738,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
161,
/**/
160,
/**/
Expand Down

0 comments on commit 4315f26

Please sign in to comment.