bash: Add space after unique command name is completed.
[gitweb.git] / refs.c
diff --git a/refs.c b/refs.c
index 0840b3bab8b404f9480df89447a497963b7117fb..3db444cad2b24a1b44ff8a2dae1aa6818b61cbea 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -331,7 +331,11 @@ int create_symref(const char *ref_target, const char *refs_heads_master)
                return -1;
        }
        lockpath = mkpath("%s.lock", git_HEAD);
-       fd = open(lockpath, O_CREAT | O_EXCL | O_WRONLY, 0666); 
+       fd = open(lockpath, O_CREAT | O_EXCL | O_WRONLY, 0666);
+       if (fd < 0) {
+               error("Unable to open %s for writing", lockpath);
+               return -5;
+       }
        written = write_in_full(fd, ref, len);
        close(fd);
        if (written != len) {
@@ -706,6 +710,8 @@ struct ref_lock *lock_ref_sha1(const char *ref, const unsigned char *old_sha1)
 
 struct ref_lock *lock_any_ref_for_update(const char *ref, const unsigned char *old_sha1)
 {
+       if (check_ref_format(ref) == -1)
+               return NULL;
        return lock_ref_sha1_basic(ref, old_sha1, NULL);
 }