Public bug reported:

Ubuntu version: 18.04
ncurses version:6.1

Hello,I found some potential bugs in package ncurses-6.1 .Would you help
me check whether the bugs mentioned below are true? Thank you very much
for your patience.

============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  287 :
                 Select the false branch at this point (win!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 null assigned to sp reaches here 

step  3 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 Return sp to caller, which can be null 

step  4 : 
         In file  ncurses-6.1/ncurses/base/resizeterm.c , function  
adjust_window   line  218 :
                 Function _nc_screen_of executes and returns 

step  5 : 
         In file  ncurses-6.1/ncurses/base/resizeterm.c , function  
adjust_window   line  218 :
                 Load value from _nc_screen_of(win)->_topstolen 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
  line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
  line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_new.c , function  root_panel   line  56 :
                 Function _nc_panelhook executes and stores the return value to 
ph (ph can be null) 

step  4 : 
         In file  ncurses-6.1/panel/p_new.c , function  root_panel   line  62 :
                 Load value from ph->stdscr_pseudo_panel 
(_nc_stdscr_pseudo_panel is defined in panel.priv.h)


============================================================================================================


step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
 line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
 line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  51 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                in file panel.priv.h(#define GetHook(pan)       SCREEN* sp = 
_nc_screen_of(pan->win); )

step  4 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  52 :
                 Load value from ph->bottom_panel 
                in file panel.priv.h(#define IS_LINKED(p) (((p)->above || 
(p)->below ||((p)==_nc_bottom_panel)) ? TRUE : FALSE))


============================================================================================================


step  1 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  287 :
                 Select the false branch at this point (win!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 null assigned to sp reaches here 

step  3 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 Return sp to caller, which can be null 

step  4 : 
         In file  ncurses-6.1/menu/m_sub.c , function  set_menu_sub   line  68 :
                 Function _nc_screen_of executes and stores the return value to 
sp (sp can be null) 

step  5 : 
         In file  ncurses-6.1/menu/m_sub.c , function  set_menu_sub   line  70 :
                 Load value from sp->_stdscr 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null)            
                in file panel.priv.h(#define GetHook(pan)       SCREEN* sp = 
_nc_screen_of(pan->win); )

step  4 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  55 :
                 Load value from ph->bottom_panel and assign to pan 
                HIDE_PANEL is defined in file panel.priv.h 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_new.c , function  new_panel   line  96 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetWindowHook is defined in panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_new.c , function  new_panel   line  103 :
                 Load value from ph->stdscr_pseudo_panel 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  51 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  55 :
                 Load value from ph->bottom_panel and assign to pan 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  52 
:
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  53 
:
                 Load value from ph->bottom_panel 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  287 :
                 Select the false branch at this point (win!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 null assigned to sp reaches here 

step  3 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 Return sp to caller, which can be null 

step  4 : 
         In file  ncurses-6.1/menu/m_win.c , function  set_menu_win   line  68 :
                 Function _nc_screen_of executes and stores the return value to 
sp (sp can be null) 

step  5 : 
         In file  ncurses-6.1/menu/m_win.c , function  set_menu_win   line  70 :
                 Load value from sp->_stdscr 


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  52 :
                 Load value from ph->bottom_panel 
                Is_Top is defined panel.priv.h


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  55 :
                 Load value from ph->bottom_panel 
                dBug is defined panel.priv.h


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  52 :
                 Load value from ph->top_panel 
                Is_Top is defined in panel.priv.h


============================================================================================================

step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

step  3 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  52 
:
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

step  4 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  53 
:
                 Load value from ph->bottom_panel and assign to pan
                HIDE_PANEL is defined in panel.priv.h

** Affects: ncurses (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ncurses in Ubuntu.
https://bugs.launchpad.net/bugs/1941813

Title:
  Several potential bugs of NULL Pointer Dereference

Status in ncurses package in Ubuntu:
  New

Bug description:
  Ubuntu version: 18.04
  ncurses version:6.1

  Hello,I found some potential bugs in package ncurses-6.1 .Would you
  help me check whether the bugs mentioned below are true? Thank you
  very much for your patience.

  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  287 :
                 Select the false branch at this point (win!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 null assigned to sp reaches here 

  step  3 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 Return sp to caller, which can be null 

  step  4 : 
         In file  ncurses-6.1/ncurses/base/resizeterm.c , function  
adjust_window   line  218 :
                 Function _nc_screen_of executes and returns 

  step  5 : 
         In file  ncurses-6.1/ncurses/base/resizeterm.c , function  
adjust_window   line  218 :
                 Load value from _nc_screen_of(win)->_topstolen 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
  line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
  line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_new.c , function  root_panel   line  56 :
                 Function _nc_panelhook executes and stores the return value to 
ph (ph can be null) 

  step  4 : 
         In file  ncurses-6.1/panel/p_new.c , function  root_panel   line  62 :
                 Load value from ph->stdscr_pseudo_panel 
(_nc_stdscr_pseudo_panel is defined in panel.priv.h)

  
  
============================================================================================================

  
  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
 line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  _nc_panelhook 
 line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  51 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                in file panel.priv.h(#define GetHook(pan)       SCREEN* sp = 
_nc_screen_of(pan->win); )

  step  4 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  52 :
                 Load value from ph->bottom_panel 
                in file panel.priv.h(#define IS_LINKED(p) (((p)->above || 
(p)->below ||((p)==_nc_bottom_panel)) ? TRUE : FALSE))

  
  
============================================================================================================

  
  step  1 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  287 :
                 Select the false branch at this point (win!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 null assigned to sp reaches here 

  step  3 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 Return sp to caller, which can be null 

  step  4 : 
         In file  ncurses-6.1/menu/m_sub.c , function  set_menu_sub   line  68 :
                 Function _nc_screen_of executes and stores the return value to 
sp (sp can be null) 

  step  5 : 
         In file  ncurses-6.1/menu/m_sub.c , function  set_menu_sub   line  70 :
                 Load value from sp->_stdscr 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null)            
                in file panel.priv.h(#define GetHook(pan)       SCREEN* sp = 
_nc_screen_of(pan->win); )

  step  4 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  55 :
                 Load value from ph->bottom_panel and assign to pan 
                HIDE_PANEL is defined in file panel.priv.h 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_new.c , function  new_panel   line  96 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetWindowHook is defined in panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_new.c , function  new_panel   line  103 :
                 Load value from ph->stdscr_pseudo_panel 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  51 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_move.c , function  move_panel   line  55 :
                 Load value from ph->bottom_panel and assign to pan 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  52 
:
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  53 
:
                 Load value from ph->bottom_panel 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  287 :
                 Select the false branch at this point (win!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 null assigned to sp reaches here 

  step  3 : 
         In file  ncurses-6.1/ncurses/tinfo/lib_data.c , function  
_nc_screen_of   line  290 :
                 Return sp to caller, which can be null 

  step  4 : 
         In file  ncurses-6.1/menu/m_win.c , function  set_menu_win   line  68 :
                 Function _nc_screen_of executes and stores the return value to 
sp (sp can be null) 

  step  5 : 
         In file  ncurses-6.1/menu/m_win.c , function  set_menu_win   line  70 :
                 Load value from sp->_stdscr 

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  52 :
                 Load value from ph->bottom_panel 
                Is_Top is defined panel.priv.h

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_hide.c , function  hide_panel   line  55 :
                 Load value from ph->bottom_panel 
                dBug is defined panel.priv.h

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  50 :
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_show.c , function  show_panel   line  52 :
                 Load value from ph->top_panel 
                Is_Top is defined in panel.priv.h

  
  
============================================================================================================

  step  1 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  42 :
                 Select the false branch at this point (SP!=null is false) 

  step  2 : 
         In file  ncurses-6.1/ncurses/base/nc_panel.c , function  
_nc_panelhook_sp   line  40 :
                 Return null to caller 

  step  3 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  52 
:
                 Function _nc_panelhook_sp executes and stores the return value 
to ph (ph can be null) 
                GetHook is defined panel.priv.h

  step  4 : 
         In file  ncurses-6.1/panel/p_delete.c , function  del_panel   line  53 
:
                 Load value from ph->bottom_panel and assign to pan
                HIDE_PANEL is defined in panel.priv.h

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ncurses/+bug/1941813/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to