• src/sbbs3/filedat.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 4 15:13:57 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/613d4f56a66bb8caac6aa213
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    If error is NULL, insure maxerrlen is 0.

    Hopefully this will eliminate the "Dereference after null check" warnings by Coverity (e.g. CID 330993).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Apr 7 20:33:48 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4391ca758f32b9af128c87b8
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Sorted loadfiles() results were corrupted when detail was < normal

    When only reading the index (detail = file_detail_index), smb_getfile() just sets the file->name convenience pointer to point to the name in the index. Then when loadfiles() would sort the list, these pointers would not be adjusted (so they would point to the wrong names) resulting in a corrupted file list (e.g. name/size mismatches and no logical sort order).

    The solution is to call smb_getfile() on each file *after* the read index records have been sorted.

    This also means that the sort-by-name routines needed to always sort using the index name and not the convenience pointer (which is NULL in this case).

    While fixing this, I noticed there was no bounds checking in the loadfiles() and loadfilenames() read-loops, so if the indexes happened to be longer than the total_files value from the status header, a buffer under-alloc/overflow would occur and a likely crash as a result. So stop reading the index when the expected maximum number of index records have been read.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Apr 20 21:59:28 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/64a903eb179981ba0cf6fb2c
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Fail on "disallowed filename" after filtering for filename/pattern

    Extracting a file_id.diz would fail if the file contained any disallowed filenames before the DIZ, e.g.:
    Error: disallowed filename '_blockmen_res[v]olution.ans' (after extracting 0 items successfully)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Apr 24 20:23:32 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/18af43a4ca8901b0d760b104
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Address Coverity defects.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue May 4 22:21:44 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4ebe38f5c7ad7f7ac884ace3
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Don't sort the keys in the content sections of a file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 12 20:41:10 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/024319d68e4a95a33297492b
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Speed up list_archive_contents()

    Don't use iniSet* since we know we're not updating existing ini entries. Use strListAppendFormat() instead.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 15 23:09:55 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/83b8f43a4e95b481dd21abc1
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Fix typo that caused updatefile() to return false on success

    This may have contributed to plt's file editing woes.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun May 16 00:16:37 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/ed3fb8cc83a90671ea3ecce3
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Check return value of fseek() and fstat()

    CID 330960, 330967, 330988

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 22 17:10:09 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/92fa411c3bc19ac6bed11a12
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Use int64_t instead of la_int64_t

    Resolve error reported on irc with Ubuntu (don't know what version):
    <rjwboys> ok now i get filedat.c:896:3: error: unknown type name ‘la_int64_t’

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jun 8 22:39:27 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/04a41e14f817b95731ceda27
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Remove tbz (tarred bzip) files from supported archive list

    Not supported by default on Windows and perhaps not on all *nix systems.
    You can still support creation of tbz files if you like, but you'll need to setup an external "Compressible File Type" in SCFG to do it.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jun 8 23:02:32 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/a2110bfca79e1f4dfb584517
    Modified Files:
    src/sbbs3/filedat.c
    Log Message:
    Include archive_error_string() in archive_write_header failure msg

    Hopefully this helps get to the bottom of Ragnarok's reported problem creating ZIP QWK files with libarchive.

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