Commit b200a813c090c2ccf12ee4b5a99b45300fead2e8

Carlos Martín Nieto 2012-09-14T20:43:47

config: fix Unicode BOM detection Defining the BOM as a string makes the array include the NUL-terminator, which means that the memcpy is going to check for that as well and thus never match for a nonempty file. Define the array as three chars, which makes the size correct.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/config_file.c b/src/config_file.c
index c575649..4ba83d1 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -820,7 +820,7 @@ fail_parse:
 
 static int skip_bom(diskfile_backend *cfg)
 {
-	static const char utf8_bom[] = "\xef\xbb\xbf";
+	static const char utf8_bom[] = { '\xef', '\xbb', '\xbf' };
 
 	if (cfg->reader.buffer.size < sizeof(utf8_bom))
 		return 0;