diff options
Diffstat (limited to 'update-ref.c')
| -rw-r--r-- | update-ref.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/update-ref.c b/update-ref.c index d79dc52fd7..e6fbddbab6 100644 --- a/update-ref.c +++ b/update-ref.c @@ -19,7 +19,8 @@ static int re_verify(const char *path, unsigned char *oldsha1, unsigned char *cu  int main(int argc, char **argv)  {  	char *hex; -	const char *refname, *value, *oldval, *path, *lockpath; +	const char *refname, *value, *oldval, *path; +	char *lockpath;  	unsigned char sha1[20], oldsha1[20], currsha1[20];  	int fd, written; @@ -49,6 +50,8 @@ int main(int argc, char **argv)  	}  	path = strdup(path);  	lockpath = mkpath("%s.lock", path); +	if (safe_create_leading_directories(lockpath) < 0) +		die("Unable to create all of %s", lockpath);  	fd = open(lockpath, O_CREAT | O_EXCL | O_WRONLY, 0666);  	if (fd < 0)  | 
