Thu Oct 28 20:32:45 2010 UTC ()
Zero entire stat structure before filling in contents to avoid
leaking kernel memory -- the elements are no longer packed now that
dev_t is 64bit.

from pgoyette


(pooka)
diff -r1.178 -r1.179 src/sys/kern/vfs_vnops.c

cvs diff -r1.178 -r1.179 src/sys/kern/vfs_vnops.c (expand / switch to context diff)
--- src/sys/kern/vfs_vnops.c 2010/09/21 19:26:19 1.178
+++ src/sys/kern/vfs_vnops.c 2010/10/28 20:32:45 1.179
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_vnops.c,v 1.178 2010/09/21 19:26:19 chs Exp $	*/
+/*	$NetBSD: vfs_vnops.c,v 1.179 2010/10/28 20:32:45 pooka Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.178 2010/09/21 19:26:19 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_vnops.c,v 1.179 2010/10/28 20:32:45 pooka Exp $");
 
 #include "veriexec.h"
 
@@ -611,6 +611,7 @@
 	/*
 	 * Copy from vattr table
 	 */
+	memset(sb, 0, sizeof(*sb));
 	sb->st_dev = va.va_fsid;
 	sb->st_ino = va.va_fileid;
 	mode = va.va_mode;
@@ -653,7 +654,6 @@
 	sb->st_flags = va.va_flags;
 	sb->st_gen = 0;
 	sb->st_blocks = va.va_bytes / S_BLKSIZE;
-	memset(sb->st_spare, 0, sizeof(sb->st_spare));
 	return (0);
 }