Hello!

> This adds a program to download a commit, the trees, and the blobs in them
> from a remote repository using HTTP. It skips anything you already have.

Is it really necessary to write your own HTTP downloader? If so, is it
necessary to forget basic stuff like the "Host:" header? ;-)

If you feel that it should be optimized for speed, then at least use
persistent connections.

> +     if (memcmp(target, "http://";, 7))
> +             return -1;

Can crash if the string is too short.

> +     entry = gethostbyname(name);
> +     memcpy(&sockad.sin_addr.s_addr,
> +            &((struct in_addr *)entry->h_addr)->s_addr, 4);

Can crash if the host doesn't exist or if you feed it with an URL containing
port number.

> +static int get_connection()

(void)

> +     local = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0666);

What if it fails?

                                Have a nice fortnight
-- 
Martin `MJ' Mares   <[EMAIL PROTECTED]>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
A student who changes the course of history is probably taking an exam.
-
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