threads / patch / 22227

patch, 2 partsFix variable initialization in insert_packed_refs().

Subject: [PATCH 2/2] Fix variable initialization in insert_packed_refs().

## tl;dr

3 messages between Jan 14, 2010 and Jan 15, 2010. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Richard Weinberger· Jan 14, 2010, 23:29 UTC · lore
Signed-off-by: Richard Weinberger <richard@nod.at>
---
 transport.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to transport.c +1 −1
diff --git a/transport.c b/transport.c
index 3b489b3..ecc20a1 100644
--- a/transport.c
+++ b/transport.c
@@ -102,7 +102,7 @@ static void insert_packed_refs(const char *packed_refs, 
struct ref **list)
 		return;
 
 	for (;;) {
-		int cmp = cmp, len;
+		int cmp, len;
 
 		if (!fgets(buffer, sizeof(buffer), f)) {
 			fclose(f);
-- 
1.6.5.7
Johannes Sixt· Jan 15, 2010, 07:34 UTC · re: Richard Weinberger · lore

Re: [PATCH 2/2] Fix variable initialization in insert_packed_refs().

Richard Weinberger schrieb:
> -		int cmp = cmp, len;
> +		int cmp, len;

If you look around in the code, you'll find more *cough* initializations *cough* like this. They are written this way for a reason: they avoid unwarranted compiler warnings "'foo' may be used uninitialized". Are you saying that this warning is not triggered anymore after your change?

-- Hannes
Richard Weinberger· Jan 15, 2010, 11:02 UTC · re: Johannes Sixt · lore

Re: [PATCH 2/2] Fix variable initialization in insert_packed_refs().

Am Freitag 15 Januar 2010 08:34:53 schrieb Johannes Sixt:
Show 5 quoted lines
> If you look around in the code, you'll find more *cough* initializations
> *cough* like this. They are written this way for a reason: they avoid
> unwarranted compiler warnings "'foo' may be used uninitialized". Are you
> saying that this warning is not triggered anymore after your change?
> 

I don't get a warning after my change. But I'm using on this system a quite old gcc (4.3.1). I'll recompile git with a more recent gcc and see what happens.

Just for clarification: "int cmp = cmp;" *suppresses* only the warning but "cmp" is still uninitialized? (I did'nt know this trick before.)

//richard

← back to recent threads