X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fsptps.c;h=e9ce94aef85ef361a706de4322a1117d5475160e;hb=ddd0cd47bc0bb3478b7d250192248a1e3aa2a243;hp=3fbd8540e88dccc27256718dfc5c539cb6841aaa;hpb=7bf61575fe1009ecb93b3f6b8f5145525874e470;p=tinc diff --git a/src/sptps.c b/src/sptps.c index 3fbd8540..e9ce94ae 100644 --- a/src/sptps.c +++ b/src/sptps.c @@ -431,13 +431,12 @@ bool sptps_verify_datagram(sptps_t *s, const char *data, size_t len) { uint32_t seqno; memcpy(&seqno, data, 4); seqno = ntohl(seqno); + if (!sptps_check_seqno(s, seqno, false)) + return false; char buffer[len]; size_t outlen; - if(!chacha_poly1305_decrypt(s->incipher, seqno, data + 4, len - 4, buffer, &outlen)) - return false; - - return sptps_check_seqno(s, seqno, false); + return chacha_poly1305_decrypt(s->incipher, seqno, data + 4, len - 4, buffer, &outlen); } // Receive incoming data, datagram version.