mirror of https://github.com/openssl/openssl.git
				
				
				
			Clear ownership when duplicating sessions
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20848)
This commit is contained in:
		
							parent
							
								
									13069d0144
								
							
						
					
					
						commit
						9fdf9a44bb
					
				|  | @ -169,9 +169,10 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) | |||
|     dest->ticket_appdata = NULL; | ||||
|     memset(&dest->ex_data, 0, sizeof(dest->ex_data)); | ||||
| 
 | ||||
|     /* We deliberately don't copy the prev and next pointers */ | ||||
|     /* As the copy is not in the cache, we remove the associated pointers */ | ||||
|     dest->prev = NULL; | ||||
|     dest->next = NULL; | ||||
|     dest->owner = NULL; | ||||
| 
 | ||||
|     dest->references = 1; | ||||
| 
 | ||||
|  |  | |||
|  | @ -2285,7 +2285,9 @@ static int execute_test_session(int maxprot, int use_int_cache, | |||
|          */ | ||||
|         if (use_int_cache && maxprot != TLS1_3_VERSION) { | ||||
|             if (!TEST_ptr(tmp = SSL_SESSION_dup(sess2)) | ||||
|                     || !TEST_true(SSL_CTX_remove_session(sctx, sess2))) | ||||
|                 || !TEST_true(sess2->owner != NULL) | ||||
|                 || !TEST_true(tmp->owner == NULL) | ||||
|                 || !TEST_true(SSL_CTX_remove_session(sctx, sess2))) | ||||
|                 goto end; | ||||
|             SSL_SESSION_free(sess2); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue