]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
[Sec 2935] use L_SUB instead of L_ISGT. Juergen Perlinger
authorHarlan Stenn <stenn@ntp.org>
Tue, 12 Jan 2016 09:53:06 +0000 (09:53 +0000)
committerHarlan Stenn <stenn@ntp.org>
Tue, 12 Jan 2016 09:53:06 +0000 (09:53 +0000)
bk: 5694cd02avDkTElfVb45RwCgT1Q3Rg

ntpd/ntp_proto.c

index e45d48e2170f648c18cac197e6ec62d805f9e864..5a7f4eab211ff8675c2e7698ca4bc89a2249d6e4 100644 (file)
@@ -1292,6 +1292,7 @@ receive(
                if (MODE_BROADCAST == hismode) {
                        u_char poll;
                        int bail = 0;
+                       l_fp tdiff;
 
                        DPRINTF(2, ("receive: PROCPKT/BROADCAST: prev pkt %ld seconds ago, ppoll: %d, %d secs\n",
                                    (current_time - peer->timelastrec),
@@ -1334,7 +1335,9 @@ receive(
                                ++bail;
                        }
 
-                       if (L_ISGT(&peer->bxmt, &p_xmt)) {
+                       tdiff = p_xmt;
+                       L_SUB(&tdiff, &peer->bxmt);
+                       if (tdiff.l_i < 0) {
                                msyslog(LOG_INFO, "receive: broadcast packet from %s contains non-monotonic timestamp: %#010x.%08x -> %#010x.%08x",
                                        stoa(&rbufp->recv_srcadr),
                                        peer->bxmt.l_ui, peer->bxmt.l_uf,