Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #1346, error if alignment size not a power of two #1372

Merged
merged 1 commit into from
Apr 28, 2021

Conversation

jphickey
Copy link
Contributor

Describe the contribution
Instead of "fixing" the alignment mask, return an error if the passed-in value is not actually a power of two.

Fixes #1346

Testing performed
Build and sanity test CFE, run all unit tests

Expected behavior changes
Function will return CFE_ES_BAD_ARGUMENT if the passed in parameter is not a power of two.

System(s) tested on
Ubuntu 20.04

Additional context
This is an internal functions, and in ES this only gets passed from two possible sources: one is CDS, hardcoded as 4, and the other is sourced from the ALIGN_OF macro for generic memory pools.

The latter is platform-dependent but I've never seen a platform that aligns data on something other than a power of two boundary.

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

Instead of "fixing" the alignment mask, return an error if the
passed-in value is not actually a power of two.

In ES this only gets passed from two possible sources: one is
hardcoded (4) and the other is sourced from the ALIGN_OF macro.
@jphickey jphickey added the CCB:Ready Ready for discussion at the Configuration Control Board (CCB) label Apr 16, 2021
@astrogeco
Copy link
Contributor

CCB:2021-04-21 APPROVED

@astrogeco astrogeco added CCB:Approved Indicates code review and approval by community CCB CFS-40 labels Apr 21, 2021
@astrogeco astrogeco changed the base branch from main to integration-candidate April 28, 2021 01:22
@astrogeco astrogeco added IC:2021-04-27 and removed CCB:Ready Ready for discussion at the Configuration Control Board (CCB) labels Apr 28, 2021
@astrogeco astrogeco merged commit c84feec into nasa:integration-candidate Apr 28, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request Apr 28, 2021
nasa/cFE#1385, exception logic when app/task is not found
nasa/cFE#1372, error if alignment size not a power of two
nasa/cFE#1368, remove unneeded CFE_ES_SYSLOG_APPEND macro
nasa/cFE#1382, improve documentation for resourceID patterns
nasa/cFE#1371, assert `CFE_RESOURCEID_MAX` is a bitmask
astrogeco added a commit to nasa/cFS that referenced this pull request Apr 29, 2021
Combines:

nasa/cFE#1431
nasa/osal#975
nasa/sample_lib#61

Includes:

nasa/cFE#1379, memory pool pointer type
nasa/cFE#1289, ES child task functional test
nasa/cFE#1289, typo in macro name
nasa/cFE#1286, Remove broken BUILDDIR reference
nasa/cFE#1305, remove option for "osal_compatible"
nasa/cFE#1374, CFE_SUCCESS constant type
nasa/cFE#1316, Remove Unused Error Codes
nasa/cFE#1370, better warning about malformed startup line
nasa/cFE#1373, check status of call to `CFE_ES_CDS_CachePreload`
nasa/cFE#1384, update documentation for `CFE_ES_DeleteCDS`
nasa/cFE#1385, exception logic when app/task is not found
nasa/cFE#1372, error if alignment size not a power of two
nasa/cFE#1368, remove unneeded CFE_ES_SYSLOG_APPEND macro
nasa/cFE#1382, improve documentation for resourceID patterns
nasa/cFE#1371, assert `CFE_RESOURCEID_MAX` is a bitmask

nasa/osal#972, update documentation for read/write
nasa/osal#966, add "handler" feature to utassert stub API
nasa/osal#953, Adds local makefile and bundle/local unit test actions with coverage verification
nasa/osal#971, socket accept using incorrect record
nasa/osal#959, move async console option

nasa/sample_lib#60, replace direct ref to ArgPtr with macro
@jphickey jphickey deleted the fix-1346-alignsize branch May 14, 2021 14:23
@skliper skliper added this to the 7.0.0 milestone Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB CFS-40
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CFE_ES_GenPoolInitialize: Error if AlignSize is not a power of 2
3 participants