We should add length checking off the input buffers for the _offset version of the marshall and unmarshall trait operations. Currently these methods don't do any checking as to whether the input buffer is shorter than what would be needed to read or write from them.
The checks should be performed before any (un)marshalling calls are made, and should return WrongParamSize if the buffer is not long enough. This return code should also be documented on the trait methods.