Termcap issue in cygwin

Christopher Faylor cygwin@cygwin.com
Wed Apr 3 07:12:00 GMT 2002

On Wed, Apr 03, 2002 at 04:38:01AM -0800, Eduardo Chappa wrote:
> This message has two parts, the long story, and the short story. First
>the short story.
>   As far as I understand, the function tgetent, has two parameters, which
>are documented in the manual for termcap(3) and tgetent, the first one is
>of type (char *). According to the manual of the unix system I am using
>the length of this string is supposed to be 1024. I have found that the
>entries for the linux and cygwin terminal are over 1024 characters long,
>which causes this function to corrupt the stack and the program dump core.
>A classical buffer overflow bug. I believe this is an issue with the
>termcap database, which I believe should be shortened to satisfy the 1024
>characters length requirement in (it seems) most (if not all) Unix


>Now the long story (which puts the short story in context).  My real
>goal was to compile Pine for cygwin, which I did, and you are welcome
>to give it a try by downloading it from my web page (address below).
>The problem that I had was that every time that I started Pine in the
>cygwin terminal, it would dump core, due to the problem described
>above.  Pine needed to be executed under rxvt, for example, in order to
>not to make it dump core.  Although I believed for some time that rxvt
>was a requirement in order to execute Pine, now I realize that it is
>not, but my request instead is to make the work around of giving more
>space to the first argument of tgetent disappear.
>Is there any chance that both the linux and the cygwin entries will be
>shortened to less than 1024 characters?, or should I just have to
>accept this as a given?

Bottom line: If you want to submit a patch which accomplishes this
shortening without eliminating functionality, please do.

Otherwise, increasing the size of your buffer is the correct solution.


Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list