diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2017-08-26 10:28:07 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-08-26 09:21:01 -0700 |
commit | 404321879585b392118c9f4c3c4c9e4ccd6ba09f (patch) | |
tree | d2d54656704bcf41d197f543bbea5b095c4ee136 | |
parent | load_subtree(): check earlier whether an internal node is a tree entry (diff) | |
download | tgif-404321879585b392118c9f4c3c4c9e4ccd6ba09f.tar.xz |
load_subtree(): only consider blobs to be potential notes
The old code converted any entry whose path constituted a full SHA-1
as a leaf node, without regard for the type of the entry. But only
blobs can be notes. So treat entries whose paths *look like* notes
paths but that are not blobs as non-notes.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | notes.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -437,6 +437,11 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree, if (path_len == 2 * (GIT_SHA1_RAWSZ - prefix_len)) { /* This is potentially the remainder of the SHA-1 */ + + if (!S_ISREG(entry.mode)) + /* notes must be blobs */ + goto handle_non_note; + if (get_oid_hex_segment(entry.path, path_len, object_oid.hash + prefix_len, GIT_SHA1_RAWSZ - prefix_len) < 0) |