Fix #903, Add CFE_SB_GetUserData padding check #905
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the contribution
Fix #903 - this adds checks to see that CFE_SB_GetUserData works with all payload data types.
Illustrates the issue in #488 - As expected it fails for 64 bit payload in a telemetry packet because of implicit padding added between the header (12 bytes) and the 64bit payload (requires 64bit alignment.. so pads to 16 bytes).
Cmds are only OK because the default header is 8 bytes.
Also note - I expect these tests would also throw cast-align errors for an alignment sensitive build, since there's a cast from a structure with 64bit alignment to 32bit alignment.
Testing performed
Build and run unit tests... currently failing due to implicit padding.
Expected behavior changes
None, except shows the current issue with our header definitions.
System(s) tested on
Additional context
Depends on nasa/osal#605 (address equal assert)
Third party code
None
Contributor Info - All information REQUIRED for consideration of pull request
Jacob Hageman - NASA/GSFC