summaryrefslogtreecommitdiffstats
path: root/ssl/ssl_sess.c
diff options
context:
space:
mode:
authorRoberto Guimaraes <rguimaraes@fastly.com>2017-03-08 09:54:04 -0500
committerRich Salz <rsalz@openssl.org>2017-03-08 09:55:39 -0500
commit178b9be8eccffca66434299bf986494c449b10ee (patch)
treeea02929eb64084b01ddddd96d0c34261516f80e5 /ssl/ssl_sess.c
parent5c09502be4821a36e7023f74223386f77c2b2d14 (diff)
Prevent undefined behavior in memcpy call.
CLA: trivial Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2750) (cherry picked from commit 6aad9393680ccde591905c8d71da92a241756394)
Diffstat (limited to 'ssl/ssl_sess.c')
-rw-r--r--ssl/ssl_sess.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index c3369a44ae..f50f514212 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -1006,7 +1006,8 @@ int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx,
return 0;
}
s->sid_ctx_length = sid_ctx_len;
- memcpy(s->sid_ctx, sid_ctx, sid_ctx_len);
+ if (s->sid_ctx != sid_ctx)
+ memcpy(s->sid_ctx, sid_ctx, sid_ctx_len);
return 1;
}