Module Name: src
Committed By: kamil
Date: Wed Jul 25 19:56:56 UTC 2018
Modified Files:
src/sys/fs/udf: ecma167-udf.h
Log Message:
Avoid undefined behavior in ecma167-udf.h
Define the UDF_EXT_* symbols as unsigned values.
This prevents undefined behavior of altering the signedness bit in a part
of them. Swap the remaining symbols to unsigned values to keep the
consistency.
Required by GCC when building with Undefined Behavior Sanitizer.
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/fs/udf/ecma167-udf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/fs/udf/ecma167-udf.h
diff -u src/sys/fs/udf/ecma167-udf.h:1.14 src/sys/fs/udf/ecma167-udf.h:1.15
--- src/sys/fs/udf/ecma167-udf.h:1.14 Thu Jul 7 17:45:38 2011
+++ src/sys/fs/udf/ecma167-udf.h Wed Jul 25 19:56:56 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: ecma167-udf.h,v 1.14 2011/07/07 17:45:38 reinoud Exp $ */
+/* $NetBSD: ecma167-udf.h,v 1.15 2018/07/25 19:56:56 kamil Exp $ */
/*-
* Copyright (c) 2003, 2004, 2005, 2006, 2008, 2009
@@ -203,14 +203,14 @@ union icb {
/* short/long/ext extent have flags encoded in length */
-#define UDF_EXT_ALLOCATED (0<<30)
-#define UDF_EXT_FREED (1<<30)
-#define UDF_EXT_ALLOCATED_BUT_NOT_USED (1<<30)
-#define UDF_EXT_FREE (2<<30)
-#define UDF_EXT_REDIRECT (3<<30)
-#define UDF_EXT_FLAGS(len) ((len) & (3<<30))
-#define UDF_EXT_LEN(len) ((len) & ((1<<30)-1))
-#define UDF_EXT_MAXLEN ((1<<30)-1)
+#define UDF_EXT_ALLOCATED (0U<<30)
+#define UDF_EXT_FREED (1U<<30)
+#define UDF_EXT_ALLOCATED_BUT_NOT_USED (1U<<30)
+#define UDF_EXT_FREE (2U<<30)
+#define UDF_EXT_REDIRECT (3U<<30)
+#define UDF_EXT_FLAGS(len) ((len) & (3U<<30))
+#define UDF_EXT_LEN(len) ((len) & ((1U<<30)-1))
+#define UDF_EXT_MAXLEN ((1U<<30)-1)
/* Character set spec [1/7.2.1] */
@@ -832,4 +832,3 @@ union dscrptr {
#endif /* !_FS_UDF_ECMA167_UDF_H_ */
-