From 4cf9ff071730deb76aa8ce3e1663d75092b286a2 Mon Sep 17 00:00:00 2001 From: Juergen Perlinger Date: Sun, 11 Nov 2018 11:07:23 +0100 Subject: [PATCH] [Bug 3548] Signature not verified on windows system bk: 5be7ff5bnU4Mh0lZvApBqdMQrAL3MA --- ChangeLog | 4 ++++ ntpd/ntp_crypto.c | 3 ++- sntp/networking.c | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f381a093c..d71945d94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +--- +* [Bug 3548] Signature not verified on windows system + - finding by Chen Jiabin, plus another one by me + --- (4.2.8p12) 2018/08/14 Released by Harlan Stenn diff --git a/ntpd/ntp_crypto.c b/ntpd/ntp_crypto.c index f2df4da8f..d9580779c 100644 --- a/ntpd/ntp_crypto.c +++ b/ntpd/ntp_crypto.c @@ -1486,7 +1486,8 @@ crypto_verify( return (XEVNT_LEN); i = (vallen + 3) / 4; - siglen = ntohl(ep->pkt[i++]); + siglen = ntohl(ep->pkt[i]); + ++i; if ( siglen > MAX_VALLEN || len - VALUE_LEN < ((vallen + 3) / 4) * 4 || len - VALUE_LEN - ((vallen + 3) / 4) * 4 diff --git a/sntp/networking.c b/sntp/networking.c index ecac15c26..040395e17 100644 --- a/sntp/networking.c +++ b/sntp/networking.c @@ -78,7 +78,8 @@ skip_efields( u_int nlen; /* next extension length */ while ((tail - head) > 6) { - nlen = ntohl(*head++) & 0xffff; + nlen = ntohl(*head) & 0xffff; + ++head; nlen = (nlen + 3) >> 2; if (nlen > (u_int)(tail - head) || nlen < 4) return NULL; /* Blooper! Inconsistent! */ -- 2.47.3