summaryrefslogtreecommitdiff
path: root/lib/constate.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/constate.c')
-rw-r--r--lib/constate.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/constate.c b/lib/constate.c
index fc307debc3..51943ede69 100644
--- a/lib/constate.c
+++ b/lib/constate.c
@@ -981,10 +981,12 @@ _gnutls_epoch_setup_next(gnutls_session_t session, unsigned null_epoch, record_p
(*slot)->mac = NULL;
}
- if (IS_DTLS(session))
- _gnutls_write_uint16(session->security_parameters.epoch_next,
- UINT64DATA((*slot)->write.
- sequence_number));
+ if (IS_DTLS(session)) {
+ uint64_t seq = (*slot)->write.sequence_number;
+ seq &= UINT64_C(0xffffffffffff);
+ seq |= ((uint64_t)session->security_parameters.epoch_next) << 48;
+ (*slot)->write.sequence_number = seq;
+ }
finish:
if (newp != NULL)