Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
Bug in get_exp_worth( )
Oct 10, 2017, 1:26 am
By GatewaySysop
Bug in do_drag( )
Oct 8, 2017, 12:40 am
By GatewaySysop
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Beastmaster 6D sound files
Author: Vladaar
Submitted by: Vladaar
Users Online
CommonCrawl, Yandex, Bing, Yahoo!, DotBot, Sogou

Members: 0
Guests: 4
Stats
Files
Topics
Posts
Members
Newest Member
476
3,704
19,231
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » AFKMud Bugfix List » [Bug] Line editor crashes whe...
Forum Rules | Mark all | Recent Posts

[Bug] Line editor crashes when overfilled
< Newer Topic :: Older Topic > AFKMud 2.01

Pages:<< prev 1 next >>
Post is unread #1 Oct 14, 2007, 10:13 am
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Bug: Line editor crashes when overfilled
Danger: Critical - Buffer overrun crash
Discovered in: AFKMud 2.01
Found by: John
Fixed by: Samson

---

editor.cpp, in struct editor_data

Locate:
   char line[49][81];


Change to:
   char line[max_buf_lines][81];


editor.cpp, char_data::start_editing

Locate:
         if( lines >= 49 || size > 4096 )


Change to:
         if( lines >= max_buf_lines || size > MSL )


Locate:
   if( lpos > 0 && lpos < 78 && lines < 49 )


Change to:
   if( lpos > 0 && lpos < 78 && lines < max_buf_lines )


editor.cpp, start_editing

Locate:
         if( lines >= 49 || size > 4096 )


Change to:
         if( lines >= max_buf_lines || size > MSL )


Locate:
   if( lpos > 0 && lpos < 78 && lines < 49 )


Change to:
   if( lpos > 0 && lpos < 78 && lines < max_buf_lines )


Classic case of not catching everything that needed to get changed. At some point along the way we decided to make it easier for us to change the number of lines a line editor can hold from 49 to 60. Don't remember exactly why, but we did. In doing so I decided to make the number of lines easily changed from one spot but forgot about other places the original 49 was used. So the code was trying to treat a 49 line buffer as though it had 60 lines, which is a Bad Thing(tm).
       
Pages:<< prev 1 next >>