From cac4b8e22ee39e52341d718450f8e4055c4dc16f Mon Sep 17 00:00:00 2001 From: Taylor Blau Date: Thu, 30 Apr 2020 13:48:57 -0600 Subject: shallow: use struct 'shallow_lock' for additional safety In previous patches, the functions 'commit_shallow_file' and 'rollback_shallow_file' were introduced to reset the shallowness validity checks on a repository after potentially modifying '.git/shallow'. These functions can be made safer by wrapping the 'struct lockfile *' in a new type, 'shallow_lock', so that they cannot be called with a raw lock (and potentially misused by other code that happens to possess a lockfile, but has nothing to do with shallowness). This patch introduces that type as a thin wrapper around 'struct lockfile', and updates the two aforementioned functions and their callers to use it. Suggested-by: Junio C Hamano Helped-by: Jonathan Nieder Signed-off-by: Taylor Blau Signed-off-by: Junio C Hamano --- fetch-pack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'fetch-pack.c') diff --git a/fetch-pack.c b/fetch-pack.c index 401d028e41..27d2d08cc0 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -35,7 +35,7 @@ static int fetch_fsck_objects = -1; static int transfer_fsck_objects = -1; static int agent_supported; static int server_supports_filtering; -static struct lock_file shallow_lock; +static struct shallow_lock shallow_lock; static const char *alternate_shallow_file; static struct strbuf fsck_msg_types = STRBUF_INIT; -- cgit v1.2.3