Hi, Lukas Javorsky wrote: > From my analysis, I believe that if the `GCC_LINT` or `lint` macros > are not defined, the elements `i`, `j`, and `count` from the > `gl_map_iterator_t` struct are not initialized
Correct. They are not initialized because they are not used. Look at the gl_tree_iterator_next and gl_tree_iterator_free functions in the same file. > > I'm analyzing the results of SAST reports (combination of > coverity,snyk,cppcheck,gcc,clang,shellcheck,unicontrol) And you got no report from valgrind. Because valgrind, being a dynamic tool, does a better job at avoiding false positives than the static analysis tools. > (which could cause an undefined behavior). No, it can't. Copying and then discarding an uninitialized value of integer or pointer type (i.e. not a signalling NaN (*)) is not undefined behaviour. > and from 20 > findings I identified a few that might be a true positive. The fact that it's marked with #if defined GCC_LINT || defined lint should have made it clear to you that we, the upstream developers, know about this false positive. Bruno (*) Maybe the same holds for signalling NaNs as well. I don't know. It's irrelevant here.