BBS: TELESC.NET.BR
Assunto: src/xpdev/ini_file.c
De: Rob Swindell (on Windows 11)
Data: Wed, 27 May 2026 22:24:10 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/e3a18a8eeac56fb1577f60dc
Modified Files:
src/xpdev/ini_file.c
Log Message:
xpdev: initialize p in iniParseSections() to silence /sdl C4703
CI job 1507910 (windows-x86 [sbbs], commit 311ed074) failed with a hard
C4703 ("potentially uninitialized local pointer variable 'p' used") at
ini_file.c:1709 from sbbsexec.vcxproj, which uses the VS2017 toolset
(MSVC 14.16) and /sdl (which elevates C4703 to error). The use is
actually safe the preceding `for (i = 0; list[i] != NULL; ++i)`
loop runs at least once (list[0] != NULL was just checked) and sets
p on every iteration but the older toolset's per-TU data-flow can't
see that proof. Whole-program optimization could; 311ed074 disabled
WPO for Release|Win32, removing the cover.
The faulty data-flow chain (early return + extended use of p outside
the discovery loop) was introduced in 48edf261f0; initializing p at
its declaration silences the warning and makes the invariant explicit
at zero runtime cost.
n
---
mSynchronetn hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net
-----------------------------------------------------------
[Voltar]