From: Junio C Hamano Date: Thu, 5 Oct 2017 04:48:19 +0000 (+0900) Subject: Merge branch 'rs/tag-null-pointer-arith-fix' X-Git-Tag: v2.15.0-rc0~5 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/1d4a1f6452dee50576e1511e07d208da418b2c6b?ds=inline;hp=-c Merge branch 'rs/tag-null-pointer-arith-fix' Code clean-up. * rs/tag-null-pointer-arith-fix: tag: avoid NULL pointer arithmetic --- 1d4a1f6452dee50576e1511e07d208da418b2c6b diff --combined tag.c index 7e10acfb6e,a3ffffdbfa..fcbe012f7a --- a/tag.c +++ b/tag.c @@@ -33,7 -33,7 +33,7 @@@ static int run_gpg_verify(const char *b return ret; } -int gpg_verify_tag(const unsigned char *sha1, const char *name_to_report, +int gpg_verify_tag(const struct object_id *oid, const char *name_to_report, unsigned flags) { enum object_type type; @@@ -41,20 -41,20 +41,20 @@@ unsigned long size; int ret; - type = sha1_object_info(sha1, NULL); + type = sha1_object_info(oid->hash, NULL); if (type != OBJ_TAG) return error("%s: cannot verify a non-tag object of type %s.", name_to_report ? name_to_report : - find_unique_abbrev(sha1, DEFAULT_ABBREV), + find_unique_abbrev(oid->hash, DEFAULT_ABBREV), typename(type)); - buf = read_sha1_file(sha1, &type, &size); + buf = read_sha1_file(oid->hash, &type, &size); if (!buf) return error("%s: unable to read file.", name_to_report ? name_to_report : - find_unique_abbrev(sha1, DEFAULT_ABBREV)); + find_unique_abbrev(oid->hash, DEFAULT_ABBREV)); ret = run_gpg_verify(buf, size, flags); @@@ -142,13 -142,13 +142,13 @@@ int parse_tag_buffer(struct tag *item, bufptr = nl + 1; if (!strcmp(type, blob_type)) { - item->tagged = &lookup_blob(&oid)->object; + item->tagged = (struct object *)lookup_blob(&oid); } else if (!strcmp(type, tree_type)) { - item->tagged = &lookup_tree(&oid)->object; + item->tagged = (struct object *)lookup_tree(&oid); } else if (!strcmp(type, commit_type)) { - item->tagged = &lookup_commit(&oid)->object; + item->tagged = (struct object *)lookup_commit(&oid); } else if (!strcmp(type, tag_type)) { - item->tagged = &lookup_tag(&oid)->object; + item->tagged = (struct object *)lookup_tag(&oid); } else { error("Unknown type %s", type); item->tagged = NULL;