summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-09-15 09:53:01 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-09-25 07:46:21 +0200
commit0ad717cf20fa2ac4c1c293ff6662707704da10f7 (patch)
treed01a994b7285b98cc8faf73e8d7f7accbfcca7f5
parentd161a6323fe83ab4213643bfa838deb46caf3d27 (diff)
downloadgnutls-0ad717cf20fa2ac4c1c293ff6662707704da10f7.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.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/constate.c b/lib/constate.c
index 45a4d2eea3..81a83dcc28 100644
--- a/lib/constate.c
+++ b/lib/constate.c
@@ -601,9 +601,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)