URL: <http://savannah.gnu.org/bugs/?35277>
Summary: gcc -Wall found some serious bugs in the source code Project: GNU Screen Submitted by: None Submitted on: Tue 10 Jan 2012 01:20:39 PM UTC Category: None Severity: 3 - Normal Priority: 5 - Normal Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any Release: Cur Dev Sources Fixed Release: None Planned Release: None Work Required: None _______________________________________________________ Details: I just compiled screen (4.1.0 20110819) with gcc -Wall and discovered some issues: 1. ansi.c / DoCSI() curr->w_charsets[0] = curr->w_charsets[1] = curr->w_charsets[2] = curr->w_charsets[2] = curr->w_FontL = curr->w_FontR = ASCII; IMHO should be curr->w_charsets[0] = curr->w_charsets[1] = curr->w_charsets[2] = curr->w_charsets[3] = curr->w_FontL = curr->w_FontR = ASCII; 2. mark.c / nextchar() local variable 'step' isn't initialized for case 't' and 'T'. this could lead from infinite loop to random behaviour. 3. window.c / RemakeWindow() the local variable 'f' isn't initialized if BUILDIN_TELNET is defined. this could result in read from / write into a random file descriptor. 4. list_display.c / gl_Display_footer() the function does not have a return statement, resulting in always returning 0. this prevents gl_Display_rebuild(ldata) being called. 5. list_window.c / gl_Window_input() return should return a value here: if (display && AclCheckPermWin(D_user, ACL_READ, win)) return; /* Not allowed to switch to this window. */ Thanks for listening. Tim Ruehsen _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?35277> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/