diff options
Diffstat (limited to 'lib/constate.c')
-rw-r--r-- | lib/constate.c | 10 |
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) |