diff options
author | jsing <> | 2016-12-07 13:17:33 +0000 |
---|---|---|
committer | jsing <> | 2016-12-07 13:17:33 +0000 |
commit | e34b1bb692b0e74b2b72218705509b1c7ece2a12 (patch) | |
tree | 5c9d04088eaa18a75178dc34c7c1b6acb764d332 /src/lib | |
parent | 22c2a591d6e8fb9e7f604a5254992d30f7035838 (diff) | |
download | openbsd-e34b1bb692b0e74b2b72218705509b1c7ece2a12.tar.gz openbsd-e34b1bb692b0e74b2b72218705509b1c7ece2a12.tar.bz2 openbsd-e34b1bb692b0e74b2b72218705509b1c7ece2a12.zip |
Ensure that we zero memory used to hold the ASN.1 encoded session, since
this contains the session master key.
ok deraadt@ doug@
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/ssl_asn1.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_asn1.c b/src/lib/libssl/ssl_asn1.c index 1b93886868..a27858c955 100644 --- a/src/lib/libssl/ssl_asn1.c +++ b/src/lib/libssl/ssl_asn1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_asn1.c,v 1.44 2016/12/03 12:34:35 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_asn1.c,v 1.45 2016/12/07 13:17:33 jsing Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2016 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2016 Joel Sing <jsing@openbsd.org> |
@@ -206,6 +206,9 @@ i2d_SSL_SESSION(SSL_SESSION *s, unsigned char **pp) | |||
206 | rv = (int)data_len; | 206 | rv = (int)data_len; |
207 | 207 | ||
208 | err: | 208 | err: |
209 | if (data != NULL) | ||
210 | explicit_bzero(data, data_len); | ||
211 | |||
209 | CBB_cleanup(&session); | 212 | CBB_cleanup(&session); |
210 | free(peer_cert_bytes); | 213 | free(peer_cert_bytes); |
211 | free(data); | 214 | free(data); |