• src/syncterm/ripper.c

    From Deucе@VERT 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.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT 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.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT 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.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT 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.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wed Oct 30 09:54:01 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9b3aa58cf998d1c1015560b3
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix up previous commit

    RIPtel reset to the font configured by the user, not the current
    font. Do the same here.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Mon Dec 30 23:50:22 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d48528a74ff6605ef1f7aee0
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Just because we're *compiled* with graphics support doesn't mean
    we support them in the current mode.

    Fixes issue 175

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wed Jan 1 22:35:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/ea4f8b4efe0a8e5e837398c5
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Eliminate a couple more Coverity issues via temporary variables.

    This gets the assignment to the rip.* members out of the lock so
    Coverity doesn't assume they need to be protected by the lock.

    It should compile to the same thing.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Fri Jan 3 10:47:30 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6f8678eb9e0d40dd72a0897e
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    "Range check" RIP ICN width/height to untaint them.

    This is purely to shut up Coverity since there's no way the value
    could be outside the range.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Jan 11 22:00:28 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a98f8a44c3429b19fbef6803
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix a memory leak and an allowed out-of-bounds access.

    Thanks Coverity!

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Jan 11 22:47:06 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/444fecaf4af203b773ca5833
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Add unreachable code

    Coverity thinks it can do the default case.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Jan 18 13:08:33 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a64e68143b0c192a44a840ff
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Do the lock assertion thing in ripper.c too.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sat Jan 18 16:30:06 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f41de9a1f41359c845de5371
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Now that vstat.vmem has more stuff, ripper needs to hack up more.

    Fixes assertion/crash in 91-column mode (used in LORD intro screens)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sun Jan 19 08:38:42 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2aac6ec016aa3629c643e019
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Initialize the *new* memory, not the old stuff.

    Fixes various memory corruptions with RIP

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sun Jan 19 10:13:59 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c464596b33610cc1683b69fd
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Work around what appears to be an integer promotion issue

    On an aarch64 Chromebook running gcc 12.2.0, these would wrap in
    weird ways causing vector fonts to be positioned incorrectly.

    It managed to say that (25 - -7) * 4 / 3 == -168
    This casting dance appears to resolve the issue.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wed Jan 22 15:06:23 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a97b1adad05bc8aec50278bf
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Fix possibly undefined value in ellipse.

    Top-right quadrant doesn't need a quadrant angle, the angle is what
    we want already.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Wed Jan 22 15:33:34 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/09b2157307bcfb080f0357a8
    Modified Files:
    src/syncterm/ripper.c
    Log Message:
    Attempt to silence false positive warning.

    The warning suggests that x1 and y1 may be uninitialized in the i > 0
    block, but that's not really possible...

    It's too bad the warning doesn't clarify. It's also weird that the
    warning was in the draw_line() call and not in the lines above that (incorrectly) compared them with -1.

    Fix that check while we're here.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net