The type of m_pkthdr.len is int. In case it is negative, say bugs from
driver ( although that should be rare ), the comparing to size_t will
promote the negative int to size_t to a large value, and the result
is likely to be the opposite which is obviously not expected.
While here, free the mbuf chain and return immediately if the frame is
invalid.
MFC after: 1 week