Index: cipher-chachapoly.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/cipher-chachapoly.c,v
retrieving revision 1.4
diff -u -p -r1.4 cipher-chachapoly.c
--- cipher-chachapoly.c	31 Jan 2014 16:39:19 -0000	1.4
+++ cipher-chachapoly.c	15 Mar 2014 22:31:37 -0000
@@ -22,6 +22,7 @@
 #include <stdio.h>  /* needed for misc.h */
 
 #include "log.h"
+#include "xmalloc.h"
 #include "misc.h"
 #include "cipher-chachapoly.h"
 
Index: digest-libc.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/digest-libc.c,v
retrieving revision 1.2
diff -u -p -r1.2 digest-libc.c
--- digest-libc.c	2 Feb 2014 03:44:31 -0000	1.2
+++ digest-libc.c	15 Mar 2014 22:31:37 -0000
@@ -28,6 +28,7 @@
 
 #include "buffer.h"
 #include "digest.h"
+#include "xmalloc.h"
 
 typedef void md_init_fn(void *mdctx);
 typedef void md_update_fn(void *mdctx, const u_int8_t *m, size_t mlen);
Index: digest-openssl.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/digest-openssl.c,v
retrieving revision 1.2
diff -u -p -r1.2 digest-openssl.c
--- digest-openssl.c	2 Feb 2014 03:44:31 -0000	1.2
+++ digest-openssl.c	15 Mar 2014 22:31:37 -0000
@@ -24,6 +24,7 @@
 
 #include "buffer.h"
 #include "digest.h"
+#include "xmalloc.h"
 
 struct ssh_digest_ctx {
 	int alg;
Index: hmac.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/hmac.c,v
retrieving revision 1.10
diff -u -p -r1.10 hmac.c
--- hmac.c	31 Jan 2014 16:39:19 -0000	1.10
+++ hmac.c	15 Mar 2014 22:31:37 -0000
@@ -21,6 +21,7 @@
 #include "buffer.h"
 #include "digest.h"
 #include "hmac.h"
+#include "xmalloc.h"
 
 struct ssh_hmac_ctx {
 	int			 alg;
Index: kexc25519.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/kexc25519.c,v
retrieving revision 1.5
diff -u -p -r1.5 kexc25519.c
--- kexc25519.c	31 Jan 2014 16:39:19 -0000	1.5
+++ kexc25519.c	15 Mar 2014 22:31:37 -0000
@@ -40,6 +40,7 @@
 #include "kex.h"
 #include "log.h"
 #include "digest.h"
+#include "xmalloc.h"
 
 extern int crypto_scalarmult_curve25519(u_char a[CURVE25519_SIZE],
     const u_char b[CURVE25519_SIZE], const u_char c[CURVE25519_SIZE])
Index: xmalloc.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/xmalloc.c,v
retrieving revision 1.29
diff -u -p -r1.29 xmalloc.c
--- xmalloc.c	4 Jan 2014 17:50:55 -0000	1.29
+++ xmalloc.c	15 Mar 2014 22:31:37 -0000
@@ -98,3 +98,9 @@ xasprintf(char **ret, const char *fmt, .
 
 	return (i);
 }
+
+void
+explicit_bzero(void *b, size_t len)
+{
+	memset(b, 0, len);
+}
Index: xmalloc.h
===================================================================
RCS file: /cvs/src/usr.bin/ssh/xmalloc.h,v
retrieving revision 1.14
diff -u -p -r1.14 xmalloc.h
--- xmalloc.h	17 May 2013 00:13:14 -0000	1.14
+++ xmalloc.h	15 Mar 2014 22:31:37 -0000
@@ -23,3 +23,4 @@ char	*xstrdup(const char *);
 int	 xasprintf(char **, const char *, ...)
                 __attribute__((__format__ (printf, 2, 3)))
                 __attribute__((__nonnull__ (2)));
+void	 explicit_bzero(void *b, size_t len);