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);