git log: don't do merge diffs by default
[gitweb.git] / upload-pack.c
index 3cdf4288b838c045b4524c7dd906525a39f0e67d..47560c9527b9c17db34f10e78d7c1f0d99b746e1 100644 (file)
@@ -46,7 +46,7 @@ static void create_pack_file(void)
        if (!pid) {
                int i;
                int args;
-               char **argv;
+               const char **argv;
                char *buf;
                char **p;
 
@@ -56,9 +56,9 @@ static void create_pack_file(void)
                }
                else
                        args = nr_has + nr_needs + 5;
-               argv = xmalloc(args * sizeof(char *));
+               p = xmalloc(args * sizeof(char *));
+               argv = (const char **) p;
                buf = xmalloc(args * 45);
-               p = argv;
 
                dup2(fd[1], 1);
                close(0);
@@ -221,6 +221,9 @@ static int send_ref(const char *refname, const unsigned char *sha1)
        static char *capabilities = "multi_ack thin-pack";
        struct object *o = parse_object(sha1);
 
+       if (!o)
+               die("git-upload-pack: cannot find object %s:", sha1_to_hex(sha1));
+
        if (capabilities)
                packet_write(1, "%s %s%c%s\n", sha1_to_hex(sha1), refname,
                        0, capabilities);