]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[mucurses] Attempt to fix resource leaks
authorMichael Brown <mcb30@ipxe.org>
Tue, 21 Mar 2017 12:46:19 +0000 (14:46 +0200)
committerMichael Brown <mcb30@ipxe.org>
Tue, 21 Mar 2017 12:46:19 +0000 (14:46 +0200)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/hci/mucurses/windows.c

index 5f5d1f4e2a16801d4b24bae4add2443410080d9c..090fcfd2e56a3ae091efb081144adfc0207dc324 100644 (file)
@@ -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;