diff --git a/libi2pd/Garlic.cpp b/libi2pd/Garlic.cpp index f9c297f6..de038e1e 100644 --- a/libi2pd/Garlic.cpp +++ b/libi2pd/Garlic.cpp @@ -548,8 +548,8 @@ namespace garlic case eGarlicDeliveryTypeDestination: LogPrint (eLogDebug, "Garlic: type destination"); buf += 32; // destination. check it later or for multiple destinations - offset = buf1 - buf; - if (offset > (int)len || offset <= 0) + offset = buf - buf1; + if (offset > (int)len) { LogPrint (eLogError, "Garlic: message is too short"); break; @@ -562,8 +562,8 @@ namespace garlic // gwHash and gwTunnel sequence is reverted uint8_t * gwHash = buf; buf += 32; - offset = buf1 - buf; - if (offset + 4 > (int)len || offset <= 0) + offset = buf - buf1; + if (offset + 4 > (int)len) { LogPrint (eLogError, "Garlic: message is too short"); break; @@ -591,7 +591,7 @@ namespace garlic { uint8_t * ident = buf; buf += 32; - offset = buf1 - buf; + offset = buf - buf1; if (!from) // received directly { if (offset > (int)len || offset <= 0) @@ -618,8 +618,8 @@ namespace garlic buf += 4; // CloveID buf += 8; // Date buf += 3; // Certificate - offset = buf1 - buf; - if (offset > (int)len || offset <= 0) + offset = buf - buf1; + if (offset > (int)len) { LogPrint (eLogError, "Garlic: clove is too long"); break;