From: Robert Schulze Date: Tue, 18 Jun 2024 20:31:14 +0000 (+0000) Subject: Incorporate review feedback X-Git-Tag: openssl-3.3.2~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35224ef906462d85cadce19094eee2ac2a4ba84c;p=thirdparty%2Fopenssl.git Incorporate review feedback Reviewed-by: Neil Horman Reviewed-by: Tomas Mraz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/24673) (cherry picked from commit 8d934a75929d058bbc4566a6ebc9f804e1dd081f) --- diff --git a/ssl/ssl_local.h b/ssl/ssl_local.h index f448cfdbc94..a5f1e169002 100644 --- a/ssl/ssl_local.h +++ b/ssl/ssl_local.h @@ -542,11 +542,6 @@ struct ssl_session_st { * load the 'cipher' structure */ unsigned int kex_group; /* TLS group from key exchange */ CRYPTO_EX_DATA ex_data; /* application specific data */ - /* - * These are used to make removal of session-ids more efficient and to - * implement a maximum cache size. - */ - struct ssl_session_st *prev, *next; struct { char *hostname; @@ -576,6 +571,12 @@ struct ssl_session_st { size_t ticket_appdata_len; uint32_t flags; SSL_CTX *owner; + + /* + * These are used to make removal of session-ids more efficient and to + * implement a maximum cache size. + */ + struct ssl_session_st *prev, *next; }; /* Extended master secret support */ diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 3b571991e46..646cf1c52a6 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -141,13 +141,10 @@ static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket) return NULL; /* - * Copy until prev ptr, because it's a part of sessons cache which can be modified - * concurrently. Other fields filled in the code bellow. + * src is logically read-only but the prev/next pointers are not, they are + * part of the session cache and can be modified concurrently. */ memcpy(dest, src, offsetof(SSL_SESSION, prev)); - dest->ext = src->ext; - dest->ticket_appdata_len = src->ticket_appdata_len; - dest->flags = src->flags; /* * Set the various pointers to NULL so that we can call SSL_SESSION_free in