• src/xpdev/ini_file.c

    From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sunday, April 30, 2023 11:38:05
    https://gitlab.synchro.net/main/sbbs/-/commit/b9e5efacac9390d5af47c56e
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix memory leak in iniFreeParsedSections(), wasn't freeing the list member

    The 'list' member was allocated by iniParseSections() but never freed.

    Caught be Nelgin's recent valgrind report, e.g.:

    ==2725235== 56 bytes in 1 blocks are indirectly lost in loss record 82 of 191 ==2725235== at 0x484DCD3: realloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==2725235== by 0x4FA351C: strListAnnex (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)
    ==2725235== by 0x4F9ADDE: iniParseSections (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)
    ==2725235== by 0x49F1F0A: read_chat_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)
    ==2725235== by 0x49E8BF1: load_cfg (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libsbbs.so)
    ==2725235== by 0x5C14C75: ftp_server (in /home/bbs/sbbs/repo/src/sbbs3/gcc.linux.x64.lib.release/libftpsrvr.so)
    ==2725235== by 0x5D5AB42: start_thread (pthread_create.c:442)
    ==2725235== by 0x5DEBBB3: clone (clone.S:100)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 07, 2024 10:17:48
    https://gitlab.synchro.net/main/sbbs/-/commit/d2f5d55133310a6c03b91057
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    No strtoull() for Borland

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 07, 2024 10:21:35
    https://gitlab.synchro.net/main/sbbs/-/commit/cea188d03b824bafaf7b4622
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix reversed logic of previous commit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, February 20, 2024 15:56:44
    https://gitlab.synchro.net/main/sbbs/-/commit/4fd02c4efa228d777db94785
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Partial fix of iniGetSString() and iniReadSString()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, February 20, 2024 16:06:14
    https://gitlab.synchro.net/main/sbbs/-/commit/b29d43752c47abff892b5083
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Finish fixing ini*SString().

    The first fix was to copy the right value, the second fix was to
    ensure zero-length strings are terminated.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, February 20, 2024 16:20:01
    https://gitlab.synchro.net/main/sbbs/-/commit/ddcb536755e002a0985a8f48
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix (incorrect) warning from gcc12

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 21, 2024 05:43:42
    https://gitlab.synchro.net/main/sbbs/-/commit/fbd2315bd2647948b18e26ae
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    And now Coverity gets into the false warning game.

    Fix incorrect Coverity issue that speculates this may return fval.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 21, 2024 06:30:32
    https://gitlab.synchro.net/main/sbbs/-/commit/fd41db08baa65e68618163f9
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Cast away warning...

    This is why I returned ret. :D

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 21, 2024 09:59:19
    https://gitlab.synchro.net/main/sbbs/-/commit/2995f851439e440f60587b87
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Bugfix and more paranoia in ini*SString() functions.

    Bugfis: Be sure to terminate value if returning deflt.
    Paranoia: Terminate value if iniGetString() returns NULL

    I think the only way to trigger the paranoia is to pass NULL as the
    default when reading a key that's not present.

    ---
    þ 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 Monday, March 04, 2024 18:23:44
    https://gitlab.synchro.net/main/sbbs/-/commit/92088f9983ef38fc376208c2
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    For name ints/enums, allow the value to be longer than the name

    This allows me to shorten "Informational" to "Info" and "Debugging" to "Debug" and be backward compatible with existing .ini files. I think "Info" and
    "Debug" are universally known and take up less space (e.g. in SCFG).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, December 31, 2025 20:37:36
    https://gitlab.synchro.net/main/sbbs/-/commit/b2381a0c2312d171a0b15e4c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix issue with default connection settings on Windows

    Apparently, strnicmp() will return a non-zero value when comparing
    zero bytes.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, January 01, 2026 10:20:19
    https://gitlab.synchro.net/main/sbbs/-/commit/1297cc9a30762aa0488cf9b7
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Some more strnicmp() paranoia

    Avoid subtle platform differences in strnicmp()

    ---
    þ 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 Tuesday, January 13, 2026 22:16:37
    https://gitlab.synchro.net/main/sbbs/-/commit/340de5d8c9102eb27bc13ba6
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix apparent mem leaks in iniRemoveSections()

    Found during code review:
    - strListPop() doesn't free the popped item, needs to be freed
    - could return (on error) without freeing the list of sections

    ---
    þ 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 Thursday, February 12, 2026 16:18:58
    https://gitlab.synchro.net/main/sbbs/-/commit/4b6d4ca95546878fd97be4e4
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Key names for string literals may contain C-escape sequences now

    This allows us to include control characters in the key names, so we can support this in text.ini [substr]:
    \1g: \1m

    ---
    þ 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 Monday, February 16, 2026 15:03:14
    https://gitlab.synchro.net/main/sbbs/-/commit/d4c6ff4dbf44128b3340d44c
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    iniRemoveSection() now removes preceding blank lines

    Fix issue #991

    ---
    þ 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 Monday, February 16, 2026 16:26:06
    https://gitlab.synchro.net/main/sbbs/-/commit/4d125bc2c63daeb9119a1f98
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    A cleaner implementation of the last commit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, March 13, 2026 17:57:07
    https://gitlab.synchro.net/main/sbbs/-/commit/aef6cf1bab6a2a46ff1d5bfe
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    For an empty file, return an empty list.

    Returning NULL causes SyncTERM to report a failure decrypting the
    list.

    Fixes ticket 225
    Actually found due to PhotonTERM triggering it for me when I tested
    that.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, March 13, 2026 18:39:29
    https://gitlab.synchro.net/main/sbbs/-/commit/a99386a10c2feb321a22af70
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Also fix the !CRYPTLIB version

    This is actually where PhotonTERM is broken.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Sunday, March 15, 2026 16:01:53
    https://gitlab.synchro.net/main/sbbs/-/commit/1aa979f77807a9dc45affa36
    Modified Files:
    src/xpdev/ini_file.c
    Log Message:
    Fix inverted include_dupes check in ini_get_section_list()

    The list-based variant used (include_dupes && ...) to skip duplicates,
    which is inverted Ä it filters when it should include and vice versa.
    The file-based variant ini_read_section_list() correctly uses
    (!include_dupes && ...). Bug introduced in 7046272ee4 when the
    include_dupes parameter was added.

    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

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