The same length check also applies within each call.  It would be safest to keep track of the remaining length, and make sure enough bytes are present for a minimum call struct, otherwise, the reply should be treated as invalid.