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.