On Wed, Apr 03, 2002 at 04:38:01AM -0800, Eduardo Chappa wrote: >Hello, > > 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 >systems.
http://cygwin.com/lists.html#see-above http://cygwin.com/cgi-bin/htsearch?method=and&sort=thread&restrict=%2Fml%2Fcygwin%2F&words=termcap+1024 >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. cgf -- 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/