Adjust checks of logMessageInterval in received packet to prevent 1 of type int being shifted by values >= 31.
Signed-off-by: Miroslav Lichvar <[email protected]> --- port.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/port.c b/port.c index 428326e..ad9554f 100644 --- a/port.c +++ b/port.c @@ -140,9 +140,9 @@ static int msg_current(struct ptp_message *m, struct timespec now) t1 = m->ts.host.tv_sec * NSEC2SEC + m->ts.host.tv_nsec; t2 = now.tv_sec * NSEC2SEC + now.tv_nsec; - if (m->header.logMessageInterval < -63) { + if (m->header.logMessageInterval <= -31) { tmo = 0; - } else if (m->header.logMessageInterval > 31) { + } else if (m->header.logMessageInterval >= 31) { tmo = INT64_MAX; } else if (m->header.logMessageInterval < 0) { tmo = 4LL * NSEC2SEC / (1 << -m->header.logMessageInterval); -- 2.17.2 _______________________________________________ Linuxptp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxptp-devel
