break;
case TCP_OPT_TFO:
SCLogDebug("TFO option, len %u", olen);
- if ((olen != 2) &&
- (olen < TCP_OPT_TFO_MIN_LEN ||
- olen > TCP_OPT_TFO_MAX_LEN ||
- !((olen - 2) % 8 == 0)))
- {
+ if ((olen != 2) && (olen < TCP_OPT_TFO_MIN_LEN || olen > TCP_OPT_TFO_MAX_LEN ||
+ !(((olen - 2) & 0x1) == 0))) {
ENGINE_SET_EVENT(p,TCP_OPT_INVALID_LEN);
} else {
if (p->tcpvars.tfo.type != 0) {
#define TCP_OPT_SACK_MIN_LEN 10 /* hdr 2, 1 pair 8 = 10 */
#define TCP_OPT_SACK_MAX_LEN 34 /* hdr 2, 4 pair 32= 34 */
#define TCP_OPT_TFO_MIN_LEN 6 /* kind, len, 6 */
-#define TCP_OPT_TFO_MAX_LEN 20 /* kind, len, 18 */
+#define TCP_OPT_TFO_MAX_LEN 18 /* kind, len, 18 */
/** Max valid wscale value. */
#define TCP_WSCALE_MAX 14