• src/syncterm/ripper.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Sep 27 23:15:55 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/75008b3055306224ca0272cc
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix a couple use-after-free bugs in RIP

    This likely is the cause of bug 140.

    The first one, the LCF flag is copied out of the cterm struct
    after cterm_end() is called (which frees the struct). Copy moved
    to before cterm_end().

    The second one is trickier... it's executing the commands in a mouse
    button, and one of the commands is to delete all the mouse button
    commands. This ends up free()ing the string that's currently being
    parsed while it's being parsed. We now use a strdup() of the string
    which we free at the end of the function.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Sep 27 23:40:23 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9fefe60690d8c378c13ccd96
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix builds that don't support any graphics.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Oct 28 09:47:57 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1a74630f9654033b92b0fe28
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    When RIP changes the vstat mode, also change the cursor

    When changing between 8 and 16 row fonts in RIP mode, the cursor
    start and end was left for the old font size... 16 -> 8 would leave
    the cursor one line below the current position, and 8 -> 16 would
    leave the cursor in the middle of the cell.

    This hacks the vstat deeper to fix up the cursor as well.

    Reported by skipperdoodle1947.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Oct 29 12:11:28 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0a78d39dd2e3389140dff826
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix handling of broken CRLF pairs in RIP mode

    If telnet binary mode is enabled (the new default), and a CR and LF
    come in on separate recv() calls, the RIP parser would stop at the
    CR, and pass the LF back to the ANSI parser.

    Ah, dura-bbs.net, always pushing the limits.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)