tc6-regs: fix narrowing conversion warnings in PLCA config (sync branch)#71
Open
tkummermehr wants to merge 18 commits intomainfrom
Open
tc6-regs: fix narrowing conversion warnings in PLCA config (sync branch)#71tkummermehr wants to merge 18 commits intomainfrom
tkummermehr wants to merge 18 commits intomainfrom
Conversation
TC6Regs_CheckTimers iterates all TC6_MAX_INSTANCES entries of m_reg[] and calls DoInitialization on each. Slots that no caller has yet bound via TC6Regs_Init still have pReg->pTC6 == NULL, so the existing !pReg->initialized guard lets the init sequence run against a NULL MAC-PHY handle, dereferencing NULL in TC6_Reset / TC6_WriteRegister on every tick until a real Init arrives. Masked at the default TC6_MAX_INSTANCES == 1, triggers as soon as a project configures more. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…sync branch) (#61) Co-authored-by: Sven Semmler <Sven@SvenSemmler.org>
…ync branch) (#59) Co-authored-by: Sven Semmler <Sven@SvenSemmler.org>
Move type cast to wrap entire addition expression to avoid implicit promotion to int during addition of int8_t offset to int16_t constant. The cast was applied only to the constant literal, allowing integer promotion rules to widen the result back to int before assignment to int16_t, triggering narrowing conversion warnings. Parenthesizing the addition ensures the result stays int16_t. Affected: CONFIG PARAMETER 3-7 initialization in TC6Regs_Reinit where register values are calculated as int16_t constant + int8_t offset. All values remain within int16_t range (register bit-field constraints). Finding: clang-tidy/bugprone-narrowing-conversions at libtc6/src/tc6-regs.c:531,534,541,548,551,558,561,569,572
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes 9 clang-tidy
bugprone-narrowing-conversionswarnings inTC6Regs_Reinit(CONFIG PARAMETER 3–7 initialization).Problem
Type cast applied only to constant literal:
(int16_t)9 + initOffset1. Integer promotion rules widen the addition result back tointbefore assignment toint16_ttarget, triggering narrowing conversion warnings.Solution
Parenthesize the entire addition:
(int16_t)(9 + initOffset1). The cast now applies to the result of the addition, keeping the value inint16_ttype.Verification
All register offset values remain within
int16_trange (register bit-field constraints guarantee this). Changes are mechanical and preserve behavior — no performance impact.Closes findings from static-analysis scan.