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_ */ -