Re: [PATCH 21/41] http: eliminate hard-coded constants

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 24 April 2018 at 01:39, brian m. carlson
<sandals@xxxxxxxxxxxxxxxxxxxx> wrote:
> Use the_hash_algo to find the right size for parsing pack names.
>
> Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx>
> ---
>  http.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/http.c b/http.c
> index 3034d10b68..ec70676748 100644
> --- a/http.c
> +++ b/http.c
> @@ -2047,7 +2047,8 @@ int http_get_info_packs(const char *base_url, struct packed_git **packs_head)
>         int ret = 0, i = 0;
>         char *url, *data;
>         struct strbuf buf = STRBUF_INIT;
> -       unsigned char sha1[20];
> +       unsigned char hash[GIT_MAX_RAWSZ];
> +       const unsigned hexsz = the_hash_algo->hexsz;
>
>         end_url_with_slash(&buf, base_url);
>         strbuf_addstr(&buf, "objects/info/packs");
> @@ -2063,11 +2064,11 @@ int http_get_info_packs(const char *base_url, struct packed_git **packs_head)
>                 switch (data[i]) {
>                 case 'P':
>                         i++;
> -                       if (i + 52 <= buf.len &&
> +                       if (i + hexsz + 12 <= buf.len &&
>                             starts_with(data + i, " pack-") &&
> -                           starts_with(data + i + 46, ".pack\n")) {
> -                               get_sha1_hex(data + i + 6, sha1);
> -                               fetch_and_setup_pack_index(packs_head, sha1,
> +                           starts_with(data + i + hexsz + 6, ".pack\n")) {
> +                               get_sha1_hex(data + i + 6, hash);
> +                               fetch_and_setup_pack_index(packs_head, hash,
>                                                       base_url);
>                                 i += 51;

s/51/hexsz + 11/ ?



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux