screen-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[screen-devel] [bug #35277] gcc -Wall found some serious bugs in the sou


From: anonymous
Subject: [screen-devel] [bug #35277] gcc -Wall found some serious bugs in the source code
Date: Tue, 10 Jan 2012 13:20:40 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) konqueror/4.6.5 Safari/534.34

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]