]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Bug 3548] Signature not verified on windows system
authorJuergen Perlinger <perlinger@ntp.org>
Sun, 11 Nov 2018 10:07:23 +0000 (11:07 +0100)
committerJuergen Perlinger <perlinger@ntp.org>
Sun, 11 Nov 2018 10:07:23 +0000 (11:07 +0100)
bk: 5be7ff5bnU4Mh0lZvApBqdMQrAL3MA

ChangeLog
ntpd/ntp_crypto.c
sntp/networking.c

index f381a093cf948c1202162000eaf2d8abbf1a1dcf..d71945d94dde3659f850b674c0ac79c622aed7a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+---
+* [Bug 3548] Signature not verified on windows system <perlinger@ntp.org>
+  - finding by Chen Jiabin, plus another one by me
+
 ---
 (4.2.8p12) 2018/08/14 Released by Harlan Stenn <stenn@ntp.org>
 
index f2df4da8fcf417e96c38bcb3306e79b11dd13b4e..d9580779c1570628b63d6e6249f7a809a87247ff 100644 (file)
@@ -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
index ecac15c262a5116a4b50bd9a059768af8acda04b..040395e175b2a2879f2b44963eba0e5a4987d9ea 100644 (file)
@@ -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! */