this patch renames read_sha1_file() to malloc_read_sha1_file().

There were a handful of memory-leaks related to read_sha1_file(), and 
some of those could possibly have been found sooner if the name 
indicated that an implicit malloc() is occurs within read_sha1_file().  
This patch is ontop of the previous patches i sent.

        Ingo

Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>

--- cat-file.c.orig
+++ cat-file.c
@@ -14,7 +14,7 @@ int main(int argc, char **argv)
 
        if (argc != 3 || get_sha1_hex(argv[2], sha1))
                usage("cat-file [-t | tagname] <sha1>");
-       buf = read_sha1_file(sha1, type, &size);
+       buf = malloc_read_sha1_file(sha1, type, &size);
        if (!buf)
                die("cat-file %s: bad file", argv[2]);
        if (!strcmp("-t", argv[1])) {
--- merge-tree.c.orig
+++ merge-tree.c
@@ -11,7 +11,7 @@ static struct tree_entry *read_tree(unsi
 {
        char type[20];
        unsigned long size;
-       void *buf = read_sha1_file(sha1, type, &size);
+       void *buf = malloc_read_sha1_file(sha1, type, &size);
        struct tree_entry *ret = NULL, **tp = &ret;
 
        if (!buf || strcmp(type, "tree"))
--- diff-tree.c.orig
+++ diff-tree.c
@@ -62,7 +62,7 @@ static void show_file(const char *prefix
                char *newbase = malloc_base(base, path, strlen(path));
                void *tree;
 
-               tree = read_sha1_file(sha1, type, &size);
+               tree = malloc_read_sha1_file(sha1, type, &size);
                if (!tree || strcmp(type, "tree"))
                        die("corrupt tree sha %s", sha1_to_hex(sha1));
 
@@ -164,10 +164,10 @@ static int diff_tree_sha1(const unsigned
        char type[20];
        int retval;
 
-       tree1 = read_sha1_file(old, type, &size1);
+       tree1 = malloc_read_sha1_file(old, type, &size1);
        if (!tree1 || strcmp(type, "tree"))
                die("unable to read source tree (%s)", sha1_to_hex(old));
-       tree2 = read_sha1_file(new, type, &size2);
+       tree2 = malloc_read_sha1_file(new, type, &size2);
        if (!tree2 || strcmp(type, "tree"))
                die("unable to read destination tree (%s)", sha1_to_hex(new));
        retval = diff_tree(tree1, size1, tree2, size2, base);
--- show-diff.c.orig
+++ show-diff.c
@@ -25,7 +25,7 @@ static void show_diff_empty(struct cache
        int lines=0;
        unsigned char type[20], *p, *end;
 
-       old = read_sha1_file(ce->sha1, type, &size);
+       old = malloc_read_sha1_file(ce->sha1, type, &size);
        if (size > 0) {
                int startline = 1;
                int c = 0;
@@ -99,7 +99,7 @@ int main(int argc, char **argv)
                if (silent)
                        continue;
 
-               new = read_sha1_file(ce->sha1, type, &size);
+               new = malloc_read_sha1_file(ce->sha1, type, &size);
                show_differences(ce->name, new, size);
                free(new);
        }
--- read-cache.c.orig
+++ read-cache.c
@@ -183,7 +183,7 @@ void * unpack_sha1_file(void *map, unsig
        return buf;
 }
 
-void * read_sha1_file(const unsigned char *sha1, char *type, unsigned long 
*size)
+void * malloc_read_sha1_file(const unsigned char *sha1, char *type, unsigned 
long *size)
 {
        unsigned long mapsize;
        void *map, *buf;
--- update-cache.c.orig
+++ update-cache.c
@@ -141,7 +141,7 @@ static int compare_data(struct cache_ent
                unsigned long size;
                char type[20];
 
-               buffer = read_sha1_file(ce->sha1, type, &size);
+               buffer = malloc_read_sha1_file(ce->sha1, type, &size);
                if (buffer) {
                        if (size == expected_size && !strcmp(type, "blob"))
                                match = match_data(fd, buffer, size);
--- ls-tree.c.orig
+++ ls-tree.c
@@ -11,7 +11,7 @@ static int list(unsigned char *sha1)
        unsigned long size;
        char type[20];
 
-       buffer = read_sha1_file(sha1, type, &size);
+       buffer = malloc_read_sha1_file(sha1, type, &size);
        if (!buffer)
                die("unable to read sha1 file");
        if (strcmp(type, "tree"))
--- checkout-cache.c.orig
+++ checkout-cache.c
@@ -72,7 +72,7 @@ static int write_entry(struct cache_entr
        long wrote;
        char type[20];
 
-       new = read_sha1_file(ce->sha1, type, &size);
+       new = malloc_read_sha1_file(ce->sha1, type, &size);
        if (!new || strcmp(type, "blob")) {
                if (new)
                        free(new);
--- cache.h.orig
+++ cache.h
@@ -95,7 +95,7 @@ extern int write_sha1_buffer(const unsig
 /* Read and unpack a sha1 file into memory, write memory to a sha1 file */
 extern void * map_sha1_file(const unsigned char *sha1, unsigned long *size);
 extern void * unpack_sha1_file(void *map, unsigned long mapsize, char *type, 
unsigned long *size);
-extern void * read_sha1_file(const unsigned char *sha1, char *type, unsigned 
long *size);
+extern void * malloc_read_sha1_file(const unsigned char *sha1, char *type, 
unsigned long *size);
 extern int write_sha1_file(char *buf, unsigned len, unsigned char 
*return_sha1);
 extern int check_sha1_signature(unsigned char *sha1, void *buf, unsigned long 
size);
 
--- rev-tree.c.orig
+++ rev-tree.c
@@ -73,7 +73,7 @@ static int parse_commit(unsigned char *s
                unsigned char parent[20];
 
                rev->flags |= SEEN;
-               buffer = bufptr = read_sha1_file(sha1, type, &size);
+               buffer = bufptr = malloc_read_sha1_file(sha1, type, &size);
                if (!buffer || strcmp(type, "commit")) {
                        if (buffer)
                                free(buffer);
--- read-tree.c.orig
+++ read-tree.c
@@ -27,7 +27,7 @@ static int read_tree(unsigned char *sha1
        unsigned long size;
        char type[20];
 
-       buffer0 = buffer = read_sha1_file(sha1, type, &size);
+       buffer0 = buffer = malloc_read_sha1_file(sha1, type, &size);
        if (!buffer)
                return -1;
        if (strcmp(type, "tree")) {

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to