Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/bsd/nvi/dist/common Do not cause Undefined Behavior...
details: https://anonhg.NetBSD.org/src/rev/2fcd02e59005
branches: trunk
changeset: 319954:2fcd02e59005
user: kamil <kamil%NetBSD.org@localhost>
date: Sat Jun 16 18:54:52 2018 +0000
description:
Do not cause Undefined Behavior in vi(1)
Replace unportable manual calculation of alignof() that causes UB, with
a GCC extension __alignof__.
This fixes a problem reported by UBSan with the MKSANITIZER distribution.
diffstat:
external/bsd/nvi/dist/common/log.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diffs (27 lines):
diff -r 8751d9a4c389 -r 2fcd02e59005 external/bsd/nvi/dist/common/log.c
--- a/external/bsd/nvi/dist/common/log.c Sat Jun 16 18:51:36 2018 +0000
+++ b/external/bsd/nvi/dist/common/log.c Sat Jun 16 18:54:52 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: log.c,v 1.3 2014/01/26 21:43:45 christos Exp $ */
+/* $NetBSD: log.c,v 1.4 2018/06/16 18:54:52 kamil Exp $ */
/*-
* Copyright (c) 1992, 1993, 1994
* The Regents of the University of California. All rights reserved.
@@ -16,7 +16,7 @@
static const char sccsid[] = "Id: log.c,v 10.26 2002/03/02 23:12:13 skimo Exp (Berkeley) Date: 2002/03/02 23:12:13 ";
#endif /* not lint */
#else
-__RCSID("$NetBSD: log.c,v 1.3 2014/01/26 21:43:45 christos Exp $");
+__RCSID("$NetBSD: log.c,v 1.4 2018/06/16 18:54:52 kamil Exp $");
#endif
#include <sys/types.h>
@@ -90,7 +90,7 @@
char data[sizeof(u_char) /* type */ + sizeof(db_recno_t)];
CHAR_T str[1];
} log_t;
-#define CHAR_T_OFFSET ((char *)(((log_t*)0)->str) - (char *)0)
+#define CHAR_T_OFFSET (__alignof__(log_t))
/*
* log_init --
Home |
Main Index |
Thread Index |
Old Index