Re: [PATCH 8/4] match-trees: drop "x = x" initializations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano <gitster@xxxxxxxxx> writes:

> These three are all updated by the same tree_entry_extract() call,
> and whenever we use mode[12] we use path[12], so if it decides path1
> is used or assigned, it should be able to tell mode1 is, too.
>
> Unsatisfactory, it surely is...

And immediately after I wrote the above, I am greeted by this:

    gcc (Debian 4.4.5-8) 4.4.5
    match-trees.c:75: error: 'elem1' may be used uninitialized in this function
    match-trees.c:77: error: 'path1' may be used uninitialized in this function

and this crazy one on top squelches it.

If you flip the order of four lines that extracts only when size is
non-zero to extract first from two into elem2, then the warning is
given for elem2/path2 but not for elem1/path1.

I'll initialize all of them to nonsense values for now.

diff --git a/match-trees.c b/match-trees.c
index 4360f10..88981e8 100644
--- a/match-trees.c
+++ b/match-trees.c
@@ -72,9 +72,9 @@ static int score_trees(const unsigned char *hash1, const unsigned char *hash2)
 		die("%s is not a tree", sha1_to_hex(hash2));
 	init_tree_desc(&two, two_buf, size);
 	while (one.size || two.size) {
-		const unsigned char *elem1;
+		const unsigned char *elem1 = NULL;
 		const unsigned char *elem2;
-		const char *path1;
+		const char *path1 = NULL;
 		const char *path2;
 		unsigned mode1 = 0; /* make gcc happy */
 		unsigned mode2 = 0; /* make gcc happy */
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]