[PATCH 6/5] NUL hack to create_file()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is not meant for application to the mainline.  It allows your git to
refuse to create a blob whose name is "nul".

---
 entry.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/entry.c b/entry.c
index 222aaa3..d24b803 100644
--- a/entry.c
+++ b/entry.c
@@ -81,6 +81,14 @@ static void remove_subtree(const char *path)
 
 static int create_file(const char *path, unsigned int mode)
 {
+	if (1) {
+		size_t len = strlen(path);
+		if (3 <= len && !strcmp(path + len - 3, "nul") &&
+		    (3 == len || path[len - 4] == '/')) {
+			errno = EPERM;
+			return -1;
+		}
+	}
 	mode = (mode & 0100) ? 0777 : 0666;
 	return open(path, O_WRONLY | O_CREAT | O_EXCL, mode);
 }
-- 
1.5.6.rc0.43.g823ea

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux