From e1e09f9103d4266bd2a5fc63d7c1ce9064b91922 Mon Sep 17 00:00:00 2001 From: ValdikSS Date: Sat, 25 Dec 2021 13:47:13 +0300 Subject: [PATCH] Add safekeeping TTL value for Auto TTL --- src/ttltrack.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ttltrack.c b/src/ttltrack.c index 97aeb82..e27610a 100644 --- a/src/ttltrack.c +++ b/src/ttltrack.c @@ -222,10 +222,16 @@ int tcp_get_auto_ttl(const uint8_t ttl, const uint8_t decrease_for) { uint8_t ttl_of_fake_packet = 0; if (ttl > 64 && ttl < 128) { - ttl_of_fake_packet = 128 - ttl - decrease_for; + /* Safekeeping */ + if (128 - ttl > decrease_for + 1) { + ttl_of_fake_packet = 128 - ttl - decrease_for; + } } else if (ttl > 34 && ttl < 64) { - ttl_of_fake_packet = 64 - ttl - decrease_for; + /* Safekeeping */ + if (64 - ttl > decrease_for + 1) { + ttl_of_fake_packet = 64 - ttl - decrease_for; + } } else { ttl_of_fake_packet = 0;