patch 9.2.0098: Coverity: Error handling issue in win_init()

Problem:  Coverity: error handling issues in win_init() (after
          v9.2.0093)
Solution: Only call pop_highlight_overrides() when
          push_highlight_overrides() was successful.

CID: 1683100

related: #19561

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2026-03-03 18:34:01 +00:00
parent f7a568ebeb
commit bc959db163
2 changed files with 10 additions and 5 deletions
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
98,
/**/
97,
/**/
+8 -5
View File
@@ -1613,11 +1613,14 @@ win_init(win_T *newp, win_T *oldp, int flags UNUSED)
win_init_some(newp, oldp);
#ifdef FEAT_TERMINAL
// Make sure to also handle highlight overrides copied over from oldp.
push_highlight_overrides(newp->w_hl, newp->w_hl_len);
if (newp->w_buffer->b_term != NULL)
term_init_default_colors(newp->w_buffer->b_term);
pop_highlight_overrides();
{
// Make sure to also handle highlight overrides copied over from oldp.
bool pushed = push_highlight_overrides(newp->w_hl, newp->w_hl_len);
if (newp->w_buffer->b_term != NULL)
term_init_default_colors(newp->w_buffer->b_term);
if (pushed)
pop_highlight_overrides();
}
#endif
}