Catch invalid --depth option passed to clone or fetch

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed Jan 4, 2012 at 17:01 UTC e7622ce8c4c3d5c0a596ace7fb34afe0d1e273ef
1 file changed +6 -2
transport.c
+6 -2
@@ -472,8 +472,12 @@ static int set_git_option(struct git_transport_options *opts,
472 } else if (!strcmp(name, TRANS_OPT_DEPTH)) {
473 if (!value)
474 opts->depth = 0;
475 - else
476 - opts->depth = atoi(value);
475 + else {
476 + char *end;
477 + opts->depth = strtol(value, &end, 0);
478 + if (*end)
479 + die("transport: invalid depth option '%s'", value);
480 + }
481 return 0;
482 }
483 return 1;