Is this patch necessary? The elements of the structure are initialized
prior to the return statement.

Since the `i`, `j`, and `count` are not really used, I feel like the SAST
report I've sent can be marked as a false positive.

Do you agree?

On Sat, Aug 17, 2024 at 7:17 AM Paul Eggert <egg...@cs.ucla.edu> wrote:

> On 2024-08-16 07:30, Bruno Haible wrote:
> > Copying and then discarding an uninitialized value of integer
> > or pointer type (i.e. not a signalling NaN (*)) is not undefined
> behaviour.
>
> Although that's how typical implementations behave, the C standard says
> that copying from a source variable has undefined behavior if the source
> could have been declared with 'register' (i.e., it's auto and never has
> its address taken). See C23 §6.3.2.1 paragraph 2. Since the code in
> question is copying from such a source, its behavior is technically
> undefined.
>
> I recall running into a similar problem myself, when writing the mcel
> code, though I don't recall the details.
>
> Proposed patch attached. I daresay there's lots of other places that
> would need a similar fix, assuming this one is acceptable.



-- 
S pozdravom/ Best regards

Lukáš Javorský

Senior Software Engineer, Core service - Databases

Red Hat <https://www.redhat.com>

Purkyňova 115 (TPB-C)

612 00 Brno - Královo Pole

ljavo...@redhat.com
<https://www.redhat.com>

Reply via email to