Problem: If the datasize of tlp_publish is bigger than TRDP_MAX_PD_DATA_SIZE, the function returns TRDP_PARAM_ERR. But if the marshaller is used, the data will be reduced by the marhsaller and the sended data send is smaller than datasize of tlp_publish.
--> Actually the unmarshalled data size is checked instead of the marshalled data size
Solution: The check of datasize must be after the marshaller call with the size of the marshalled data.
Put the checks after the marshalling calls.