diff --git a/libnetutil/IPv4Header.cc b/libnetutil/IPv4Header.cc index 292232029..64628b557 100644 --- a/libnetutil/IPv4Header.cc +++ b/libnetutil/IPv4Header.cc @@ -234,12 +234,14 @@ u8 IPv4Header::getVersion() const { int IPv4Header::setHeaderLength(){ + assert(ipoptlen <= 40); h.ip_hl = 5 + (ipoptlen/4); return OP_SUCCESS; } /* End of setHeaderLength() */ int IPv4Header::setHeaderLength(u8 l){ + assert(l <= 0x0f); h.ip_hl = l; return OP_SUCCESS; } /* End of setHeaderLength() */ diff --git a/libnetutil/TCPHeader.cc b/libnetutil/TCPHeader.cc index 94c0f8fdb..b5d1f3279 100644 --- a/libnetutil/TCPHeader.cc +++ b/libnetutil/TCPHeader.cc @@ -260,17 +260,15 @@ u32 TCPHeader::getAck() const { } /* End of getAck() */ -/* TODO: Test this method. It may not work becuasse th_off is supposed to - * be 4 bits long and arg o is 8. - * UPDATE: It seems to work just fine. However, let's keep this note just - * in case problems arise. */ int TCPHeader::setOffset(u8 o){ + assert(o <= 0x0f); h.th_off = o; return OP_SUCCESS; } /* End of setOffset() */ int TCPHeader::setOffset(){ + assert(tcpoptlen <= 40); h.th_off = 5 + tcpoptlen/4; return OP_SUCCESS; } /* End of setOffset() */