summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2017-03-21 13:46:19 +0100
committerMichael Brown2017-03-21 13:46:19 +0100
commit2ae759219b4a0f461284bf6e386ece58307ad6f0 (patch)
treefe69969f6d4912d11a3c3635d05eb48a8243cf8e
parent[mucurses] Attempt to fix keypress processing logic (diff)
downloadipxe-2ae759219b4a0f461284bf6e386ece58307ad6f0.tar.gz
ipxe-2ae759219b4a0f461284bf6e386ece58307ad6f0.tar.xz
ipxe-2ae759219b4a0f461284bf6e386ece58307ad6f0.zip
[mucurses] Attempt to fix resource leaks
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/hci/mucurses/windows.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/hci/mucurses/windows.c b/src/hci/mucurses/windows.c
index 5f5d1f4e..090fcfd2 100644
--- a/src/hci/mucurses/windows.c
+++ b/src/hci/mucurses/windows.c
@@ -48,11 +48,11 @@ int delwin ( WINDOW *win ) {
WINDOW *derwin ( WINDOW *parent, int nlines, int ncols,
int begin_y, int begin_x ) {
WINDOW *child;
- if ( ( child = malloc( sizeof( WINDOW ) ) ) == NULL )
- return NULL;
if ( ( (unsigned)ncols > parent->width ) ||
( (unsigned)nlines > parent->height ) )
return NULL;
+ if ( ( child = malloc( sizeof( WINDOW ) ) ) == NULL )
+ return NULL;
child->ori_y = parent->ori_y + begin_y;
child->ori_x = parent->ori_x + begin_x;
child->height = nlines;
@@ -113,11 +113,11 @@ int mvwin ( WINDOW *win, int y, int x ) {
*/
WINDOW *newwin ( int nlines, int ncols, int begin_y, int begin_x ) {
WINDOW *win;
- if ( ( win = malloc( sizeof(WINDOW) ) ) == NULL )
- return NULL;
if ( ( (unsigned)( begin_y + nlines ) > stdscr->height ) &&
( (unsigned)( begin_x + ncols ) > stdscr->width ) )
return NULL;
+ if ( ( win = malloc( sizeof(WINDOW) ) ) == NULL )
+ return NULL;
win->ori_y = begin_y;
win->ori_x = begin_x;
win->height = nlines;
@@ -140,8 +140,6 @@ WINDOW *newwin ( int nlines, int ncols, int begin_y, int begin_x ) {
WINDOW *subwin ( WINDOW *parent, int nlines, int ncols,
int begin_y, int begin_x ) {
WINDOW *child;
- if ( ( child = malloc( sizeof( WINDOW ) ) ) == NULL )
- return NULL;
child = newwin( nlines, ncols, begin_y, begin_x );
child->parent = parent;
child->scr = parent->scr;