diff --git a/builtin-fetch-pack.c b/builtin-fetch-pack.c
index fa3c936493cc0b139edf3e4e8154569f453afc02..67fb80ec48d6d8f0327628afd86fb366d8f97617 100644 (file)
--- a/builtin-fetch-pack.c
+++ b/builtin-fetch-pack.c
struct ref *ref_cpy;
fetch_pack_setup();
- memcpy(&args, my_args, sizeof(args));
+ if (&args != my_args)
+ memcpy(&args, my_args, sizeof(args));
if (args.depth > 0) {
if (stat(git_path("shallow"), &st))
st.st_mtime = 0;
)
die("shallow file was changed during fetch");
- fd = hold_lock_file_for_update(&lock, shallow, 1);
+ fd = hold_lock_file_for_update(&lock, shallow,
+ LOCK_DIE_ON_ERROR);
if (!write_shallow_commits(fd, 0)) {
unlink(shallow);
rollback_lock_file(&lock);