Module Name: src
Committed By: christos
Date: Fri Aug 28 12:43:24 UTC 2020
Modified Files:
src/sys/sys: systm.h
Log Message:
Fix uninitialized, caught by llvm. Tuck variables in blocks where they are
needed.
To generate a diff of this commit:
cvs rdiff -u -r1.297 -r1.298 src/sys/sys/systm.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/sys/systm.h
diff -u src/sys/sys/systm.h:1.297 src/sys/sys/systm.h:1.298
--- src/sys/sys/systm.h:1.297 Thu Aug 27 10:11:57 2020
+++ src/sys/sys/systm.h Fri Aug 28 08:43:24 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: systm.h,v 1.297 2020/08/27 14:11:57 riastradh Exp $ */
+/* $NetBSD: systm.h,v 1.298 2020/08/28 12:43:24 christos Exp $ */
/*-
* Copyright (c) 1982, 1988, 1991, 1993
@@ -201,12 +201,13 @@ enum hashtype {
#define COND_SET_CPTR(dst, src, allow) \
do { \
- void *__v; \
if (allow) \
dst = src; \
- else \
+ else { \
+ void *__v; \
hash_value(&__v, sizeof(__v), &src, sizeof(src)); \
- dst = __v; \
+ dst = __v; \
+ } \
} while (/*CONSTCOND*/0)
#define COND_SET_PTR(dst, src, allow) \
@@ -219,11 +220,12 @@ enum hashtype {
#define COND_SET_VALUE(dst, src, allow) \
do { \
- uint64_t __v = src; \
if (allow) \
dst = src; \
- else \
+ else { \
+ uint64_t __v = src; \
hash_value(&dst, sizeof(dst), &__v, sizeof(__v)); \
+ } \
} while (/*CONSTCOND*/0)
void hash_value(void *, size_t, const void *, size_t);