aboutsummaryrefslogtreecommitdiff
path: root/ncurses/base/lib_slk.c
diff options
context:
space:
mode:
Diffstat (limited to 'ncurses/base/lib_slk.c')
-rw-r--r--ncurses/base/lib_slk.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ncurses/base/lib_slk.c b/ncurses/base/lib_slk.c
index f4b3ce6dbf0a..47e57e0bc5bd 100644
--- a/ncurses/base/lib_slk.c
+++ b/ncurses/base/lib_slk.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2022 Thomas E. Dickey *
* Copyright 1998-2010,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
@@ -48,7 +48,7 @@
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_slk.c,v 1.49 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_slk.c,v 1.50 2022/08/20 18:29:22 tom Exp $")
#ifdef USE_TERM_DRIVER
#define NumLabels InfoOf(SP_PARM).numlabels
@@ -187,8 +187,10 @@ _nc_slk_initialize(WINDOW *stwin, int cols)
|| SP_PARM->_slk->labcnt <= 0
|| (SP_PARM->_slk->ent = typeCalloc(slk_ent,
(size_t) SP_PARM->_slk->labcnt))
- == NULL)
+ == NULL) {
+ free(SP_PARM->_slk->ent);
returnCode(slk_failed(NCURSES_SP_ARG));
+ }
max_length = (size_t) SP_PARM->_slk->maxlen;
for (i = 0; i < SP_PARM->_slk->labcnt; i++) {