Re: possible code error at run_command.c
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Dec 21, 2009, 08:52 UTC
- Message-ID
- <4B2F3732.6030903@viscovery.net>
- In-Reply-To
- <40aa078e0912210041g1fd94c77g6cf9f1b236b6ecd7@mail.gmail.com>
Erik Faye-Lund schrieb:
Show 8 quoted lines
> On Mon, Dec 21, 2009 at 9:30 AM, Johannes Sixt <j.sixt@viscovery.net> wrote: >> Frank Li schrieb: >>> Maybe some excute path miss initialized it. Otherwise compiler will >>> not report warning. >> LOOK AT THE CODE. There is no such code path. >> > > That's odd.
Only if Frank did the homework and removed the initialization from
int failed_errno = failed_errno;
> I agree, there isn't such a code path. But this is the > first time I've ever seen this MSVC-feature turn up false positives, > which puzzles me.
This line will trigger the check. It initializes failed_errno with itself, which is still uninitialized at this time.
Note that we have more definitions of this kind:
$ git grep -E ' ([a-zA-Z_][a-zA-Z_0-9]*) = \1[;,]' *.c builtin-rev-list.c: int reaches = reaches, all = all; match-trees.c: unsigned mode1 = mode1; match-trees.c: unsigned mode2 = mode2; run-command.c: int failed_errno = failed_errno; transport.c: int cmp = cmp, len; wt-status.c: int status = status;
-- Hannes