diff options
author | 2015-03-13 00:18:45 +0000 | |
---|---|---|
committer | 2015-03-13 00:18:45 +0000 | |
commit | a42eec62e21a23e7e9ae7deb45bffdb510d8acc9 (patch) | |
tree | 417ebb9cee187028100f9e39626d05e31da4dc22 | |
parent | we're tagged for release; turn POOL_DEBUG back on. ok deraadt@ (diff) | |
download | wireguard-openbsd-a42eec62e21a23e7e9ae7deb45bffdb510d8acc9.tar.xz wireguard-openbsd-a42eec62e21a23e7e9ae7deb45bffdb510d8acc9.zip |
Fix hardlink detection on platforms having padding in struct inodev,
typically 64bit platforms. This was basically broken since forever.
Not only is the padding used, but it was used uninitialized.
Problem reported by jmc@.
-rw-r--r-- | usr.bin/mandoc/mandocdb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.bin/mandoc/mandocdb.c b/usr.bin/mandoc/mandocdb.c index 807938292fd..bb9b418c65a 100644 --- a/usr.bin/mandoc/mandocdb.c +++ b/usr.bin/mandoc/mandocdb.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mandocdb.c,v 1.138 2015/02/27 16:21:42 schwarze Exp $ */ +/* $OpenBSD: mandocdb.c,v 1.139 2015/03/13 00:18:45 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011-2015 Ingo Schwarze <schwarze@openbsd.org> @@ -924,6 +924,7 @@ mlink_add(struct mlink *mlink, const struct stat *st) assert(NULL == ohash_find(&mlinks, slot)); ohash_insert(&mlinks, slot, mlink); + memset(&inodev, 0, sizeof(inodev)); /* Clear padding. */ inodev.st_ino = st->st_ino; inodev.st_dev = st->st_dev; slot = ohash_lookup_memory(&mpages, (char *)&inodev, |