expire = MS_TO_TICKS(table->expire);
- if (p->learnstate != PEER_LR_ST_PROCESSING) {
- if (updt) {
- if (msg_len < sizeof(update)) {
- TRACE_ERROR("malformed update message: message too small", PEERS_EV_SESS_IO|PEERS_EV_RX_MSG|PEERS_EV_PROTO_ERR, appctx, p, st);
- goto malformed_exit;
- }
-
- memcpy(&update, *msg_cur, sizeof(update));
- *msg_cur += sizeof(update);
- st->last_get = htonl(update);
- }
- else {
- st->last_get++;
+ if (updt) {
+ if (msg_len < sizeof(update)) {
+ TRACE_ERROR("malformed update message: message too small", PEERS_EV_SESS_IO|PEERS_EV_RX_MSG|PEERS_EV_PROTO_ERR, appctx, p, st);
+ goto malformed_exit;
}
+
+ memcpy(&update, *msg_cur, sizeof(update));
+ *msg_cur += sizeof(update);
}
+ else
+ update = st->last_get + 1;
+
+ if (p->learnstate != PEER_LR_ST_PROCESSING)
+ st->last_get = htonl(update);
if (exp) {
size_t expire_sz = sizeof expire;