From: Johannes Sixt Date: Mon, 21 Dec 2009 08:52:02 GMT Subject: Re: possible code error at run_command.c Message-ID: <4B2F3732.6030903@viscovery.net> In-Reply-To: <40aa078e0912210041g1fd94c77g6cf9f1b236b6ecd7@mail.gmail.com> Erik Faye-Lund schrieb: > On Mon, Dec 21, 2009 at 9:30 AM, Johannes Sixt 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