Commit 0fbff82b579ae4bb764a293e9f4ef543c549ba2b

Edward Thomson 2017-01-22T00:30:02

submodule: don't double free during load failure When we fail to load submodules, don't free the list; it is later freed unconditionally.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/submodule.c b/src/submodule.c
index e1f59b8..9e007df 100644
--- a/src/submodule.c
+++ b/src/submodule.c
@@ -188,8 +188,7 @@ static int load_submodule_names(git_strmap *out, git_config *cfg)
 		git_buf_put(&buf, fdot + 1, ldot - fdot - 1);
 		git_strmap_insert(out, entry->value, git_buf_detach(&buf), rval);
 		if (rval < 0) {
-			giterr_set(GITERR_NOMEMORY, "Error inserting submodule into hash table");
-			free_submodule_names(out);
+			giterr_set(GITERR_NOMEMORY, "error inserting submodule into hash table");
 			return -1;
 		}
 	}