• src/smblib/smbfile.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 12 21:07:14 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/cfee914fed60488a51a62dc5
    Modified Files:
    src/smblib/smbfile.c
    Log Message:
    Fix crash in smb_addfile_withlist() when passed a non-NULL empty list

    Don't allocate and memset a buffer of -1:
    #1 0x0000559222bc167f in strListCombine (list=0x559224220720, buf=0x559224226550 "", maxlen=18446744073709551615,
    delimit=0x559222bcce0a "\r\n") at str_list.c:447
    447 memset(buf, 0, maxlen);
    (gdb) print maxlen
    $1 = 18446744073709551615
    (gdb) up
    #2 0x0000559222ba3841 in smb_addfile_withlist (smb=0x7ffce63a7e90, file=0x7ffce63a5bc0, storage=1, extdesc=0x0,
    list=0x559224220720, path=0x7ffce63a6e80 "/xfer/loons/manhater.mp3") at smbfile.c:365
    365 strListCombine(list, content, size - 1, "\r\n");
    (gdb) print list
    $2 = (str_list_t) 0x559224220720
    (gdb) print list[0]
    $3 = 0x0

    Found/reported by plt via irc. Thanks!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu May 13 18:57:59 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/34aeeb6d4b688a168058707a
    Modified Files:
    src/smblib/smbfile.c
    Log Message:
    smb_removefile() failed if filename length was > 64 chars

    And the "name not found" error text was wrong.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tue Sep 17 12:06:15 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/45363fee6f6d688671faeee0
    Modified Files:
    src/smblib/smbfile.c
    Log Message:
    NUL-terminate the SMB fileidxrec_t.name field, just in case

    The terminating NUL is actually part of the index record, but with file corruption, it's technically possible the NUL could be missing.
    Fixes CID 509552

    Use strnicmp() insted of stricmp() in smb_removefile()
    Fixes CID 509551

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