diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-09-15 09:53:01 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-09-18 09:15:09 +0200 |
commit | 7b6881b0626421daee1256e5e86938b57e418832 (patch) | |
tree | 06814fcf95e6aed3789eb8dd602c2a649c1e5f53 | |
parent | 1ae2432581c2ab5ec5fe53280601bb5cb8aea545 (diff) | |
download | gnutls-7b6881b0626421daee1256e5e86938b57e418832.tar.gz |
_gnutls_epoch_gc: ensure there are no stray epochs after gc
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
-rw-r--r-- | lib/constate.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/constate.c b/lib/constate.c index 8a63fe1d32..e34038ad8f 100644 --- a/lib/constate.c +++ b/lib/constate.c @@ -602,9 +602,13 @@ void _gnutls_epoch_gc(gnutls_session_t session) min_index = i; /* Pick up the slack in the epoch window. */ - for (i = 0, j = min_index; j < MAX_EPOCH_INDEX; i++, j++) - session->record_parameters[i] = - session->record_parameters[j]; + if (min_index != 0) { + for (i = 0, j = min_index; j < MAX_EPOCH_INDEX; i++, j++) { + session->record_parameters[i] = + session->record_parameters[j]; + session->record_parameters[j] = NULL; + } + } /* Set the new epoch_min */ if (session->record_parameters[0] != NULL) |