Several potential bugs of NULL Pointer Dereference
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ncurses (Ubuntu) |
New
|
Undecided
|
Unassigned |
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-
Select the false branch at this point (win!=null is false)
step 2 :
In file ncurses-
null assigned to sp reaches here
step 3 :
In file ncurses-
Return sp to caller, which can be null
step 4 :
In file ncurses-
Function _nc_screen_of executes and returns
step 5 :
In file ncurses-
Load value from _nc_screen_
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
Function _nc_panelhook executes and stores the return value to ph (ph can be null)
step 4 :
In file ncurses-
Load value from ph->stdscr_
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
Function _nc_panelhook_sp executes and stores the return value to ph (ph can be null)
in file panel.priv.
step 4 :
In file ncurses-
Load value from ph->bottom_panel
in file panel.priv.
=======
step 1 :
In file ncurses-
Select the false branch at this point (win!=null is false)
step 2 :
In file ncurses-
null assigned to sp reaches here
step 3 :
In file ncurses-
Return sp to caller, which can be null
step 4 :
In file ncurses-
Function _nc_screen_of executes and stores the return value to sp (sp can be null)
step 5 :
In file ncurses-
Load value from sp->_stdscr
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
Function _nc_panelhook_sp executes and stores the return value to ph (ph can be null)
in file panel.priv.
step 4 :
In file ncurses-
Load value from ph->bottom_panel and assign to pan
HIDE_PANEL is defined in file panel.priv.h
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->stdscr_
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->bottom_panel and assign to pan
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->bottom_panel
=======
step 1 :
In file ncurses-
Select the false branch at this point (win!=null is false)
step 2 :
In file ncurses-
null assigned to sp reaches here
step 3 :
In file ncurses-
Return sp to caller, which can be null
step 4 :
In file ncurses-
Function _nc_screen_of executes and stores the return value to sp (sp can be null)
step 5 :
In file ncurses-
Load value from sp->_stdscr
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->bottom_panel
Is_Top is defined panel.priv.h
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->bottom_panel
dBug is defined panel.priv.h
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->top_panel
Is_Top is defined in panel.priv.h
=======
step 1 :
In file ncurses-
Select the false branch at this point (SP!=null is false)
step 2 :
In file ncurses-
Return null to caller
step 3 :
In file ncurses-
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-
Load value from ph->bottom_panel and assign to pan
HIDE_PANEL is defined in panel.priv.h
There's no test-program which demonstrates the problem,
so there is no possibility to analyze these comments.
By the way, Ubuntu provides by itself no solutions or improvements of any type for ncurses.