Don't let user specify lower flags bits, as they depend on the path name length.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 19 May 2009 18:26:29 +0000 (20:26 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 19 May 2009 18:26:29 +0000 (20:26 +0200)
dulwich/index.py

index 94786a44aca2b130acdb561d93a127950b45017a..377bccbcdadb94535eb9dac87bd47d6b246631a2 100644 (file)
@@ -80,7 +80,7 @@ def write_cache_entry(f, entry):
     (name, ctime, mtime, dev, ino, mode, uid, gid, size, sha, flags) = entry
     write_cache_time(f, ctime)
     write_cache_time(f, mtime)
-    flags = len(name) | flags
+    flags = len(name) | (flags &~ 0x0fff)
     f.write(struct.pack(">LLLLLL20sH", dev, ino, mode, uid, gid, size, hex_to_sha(sha), flags))
     f.write(name)
     real_size = ((f.tell() - beginoffset + 8) & ~7)