On Fri, Apr 25, 2014 at 02:21:47PM -0700, Ronald F. Guilmette wrote:
> 
> In message 
> <CAG5KPzw_cOfFLX_kn=5dwax+z+9vexuzo3q8yekdjg37tdq...@mail.gmail.com>
> Ben Laurie <[email protected]> wrote:
> 
> >But that would then hide the error condition of it being not set to a
> >new value after initialisation.
> 
> The (modified/quieted) code example under discussion is as follows:
> 
>       variable = value0;  /* initialization */
>       if (condition) variable = value1;
>       if (!condition) variable = value2;
>       use (variable);
> 
> Please note that variable *is* *always* set to some value (either value1
> or value2) after initialization.  The "error condition" that you seem
> concerned about having explicitly flagged does not in fact exist in the
> example code snippet under discussion.
> 
> >One better answer would be to have a way to annotate that after the
> >two conditionals you assert that |variable| is initialised. Then a
> >future, smarter static analyzer can attempt to prove you wrong.
> 
> Sir, is there any sense in which the final line of the above example
> _does not_ already and standing all by itself constitute an implicit
> assertion that "variable" has been initialized by that point in the
> code?

I do believe you are right . . . at least until the code needs to be
edited for some reason.

-- 
Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-security
To unsubscribe, send any mail to "[email protected]"

Reply via email to