Subject: Re: sctp use-uninitialized warning in net-2.6.25

From: Vlad Yasevich <[email-masked]>
Date: Fri, 18 Jan 2008 21:17:56 -0500

David Miller wrote:
> From: Vlad Yasevich <[email-masked]>
> Date: Fri, 18 Jan 2008 11:03:20 -0500
> 
>> We can do that, or move the declaration to the only block that uses it.
>> Like this:
>  ...
>> @@ -466,6 +465,7 @@ sctp_disposition_t sctp_sf_do_5_1C_ack(const struct sctp_endpoint *ep,
>>  	if (!sctp_verify_init(asoc, chunk->chunk_hdr->type,
>>  			      (sctp_init_chunk_t *)chunk->chunk_hdr, chunk,
>>  			      &err_chunk)) {
>> +		sctp_error_t error;
>>  
>>  		SCTP_INC_STATS(SCTP_MIB_ABORTEDS);
>>
> 
> It's still potentially used uninitialized.
> 
> It will only get set if err_chunk is non-zero.
> 
> But even if err_chunk is zero, we try to use this
> variable.
> 
> That's the whole problem, simply moving the variable to
> a different scope is not going to fix anything.
> 

Hmm... in the code I am looking at, it's set in both zero and
non-zero cases so it does solve the issue.

So does initializing it to NO_ERROR like you did.

-vlad