home bbs files messages ]

Just a sample of the Echomail archive

<< oldest | < older | list | newer > | newest >> ]

 Message 2364 
 Niels Haedecke to All 
 Fixed Segfault bug in internal editor 
 31 Jan 24 07:37:50 
 
CHRS: CP437 2
MSGID: 2:240/8002@fidonet 5a68b866
PID: MBSE-BBS 1.0.8.4 (Linux-aarch64)
TZUTC: 0000
TID: MBSE-FIDO 1.0.8.4 (Linux-aarch64)

Hello, MBSE Developer Team,

I have found and fixed an error with the 'HelP' window shown in the internal
editor, which causes the editor to crash:

1.) Steps to reproduce:
    - Enter a message in the internal editor
- In the editor, press  and then  to display the help text window
- Press a key to close the help text window
- Try to continue to edit the message text
  -> an error message appears, then the BBS disconnects
  
2.) Root cause analysis:
    - The function "void Full_Help(void)" in fsedit.c utilizes several helper
  functions to draw the help-text window. These helper functions access and
  manipulate the gobal variables "int Col" and "int Row" causing an overflow
  of the "Row" variable. This overflow will lead to a Segfault when 
"Refresh()"
  function is called before resuming editing of the text.
  
3.) Solution:
    - i've added tow local variables "int hc" and "int hr" to the function 
  "void Full_Help(void)" which are being used to temporary store the original 
  values if "int Col" and "int Row" at the beginning of the function before 
  drawing the help-text window. Once this is drawn, "int Col" and "int Row" 
are
  being assigned the original values temporarily stored in "int hc" and 
  "int hr". That way, the call to "Refresh()" after drawing the help-text
  window will no longer crash and operate as intended.
  
Do you want me to create a MR for this fix?

Kind regards,
Niels 

    Greetings, Niels Haedecke

--- MBSE BBS v1.0.8.4 (Linux-aarch64)
 * Origin: Wintermute BBS - Duesseldorf, Germany (2:240/8002)
SEEN-BY: 15/0 18/200 90/1 103/705 105/81 106/201 124/5016 128/260
SEEN-BY: 129/305 135/225 153/757 7715 154/10 30 203/0 218/700 221/0
SEEN-BY: 226/30 227/114 229/110 112 113 206 307 317 400 426 428 470
SEEN-BY: 229/550 664 700 240/1120 1254 1634 4075 5832 8001 8002 8005
SEEN-BY: 266/512 280/464 5003 282/1038 291/111 292/854 8125 301/1
SEEN-BY: 313/41 320/219 322/757 335/364 341/66 234 342/200 371/0 396/45
SEEN-BY: 423/120 460/58 256 1124 467/888 633/280 712/848 770/1 3634/12
SEEN-BY: 5020/400 5054/30 5075/35
PATH: 240/8002 1120 280/464 460/58 229/426


<< oldest | < older | list | newer > | newest >> ]

(c) 1994,  bbs@darkrealms.ca