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

[Coverity CID :219547] Improper use of negative value in tests/drivers/timer/nrf_rtc_timer/src/main.c #32902

Closed
zephyrbot opened this issue Mar 5, 2021 · 2 comments
Assignees
Labels
bug The issue is a bug, or the PR is fixing a bug Coverity A Coverity detected issue or its fix priority: low Low impact/importance bug

Comments

@zephyrbot
Copy link
Collaborator

Static code scan issues found in file:

https:/zephyrproject-rtos/zephyr/tree/bd97359a5338b2542d19011b6d6aa1d8d1b9cc3f/tests/drivers/timer/nrf_rtc_timer/src/main.c#L102

Category: Integer handling issues
Function: test_basic
Component: Tests
CID: 219547

Details:

test_timeout(chan, t0, false);

96    
97         zassert_true(chan >= 0, "Failed to allocate RTC channel (%d).", chan);
98    
99         k_timeout_t t0 =
100             Z_TIMEOUT_TICKS(Z_TICK_ABS(z_tick_get() + K_MSEC(1).ticks));
101    
>>>     CID 219547:  Integer handling issues  (NEGATIVE_RETURNS)
>>>     "chan" is passed to a parameter that cannot be negative.
102         test_timeout(chan, t0, false);
103    
104         k_timeout_t t1 = K_MSEC(4);
105    
106         test_timeout(chan, t1, false);
107    

Please fix or provide comments in coverity using the link:

https://scan9.coverity.com/reports.htm#v32951/p12996.

Note: This issue was created automatically. Priority was set based on classification
of the file affected and the impact field in coverity. Assignees were set using the CODEOWNERS file.

@zephyrbot zephyrbot added bug The issue is a bug, or the PR is fixing a bug Coverity A Coverity detected issue or its fix priority: low Low impact/importance bug labels Mar 5, 2021
@nashif nashif removed their assignment Mar 5, 2021
@gudnimg
Copy link
Contributor

gudnimg commented Mar 5, 2021

Would a cast be an OK solution?

test_timeout((uint32_t)chan, t0, false);

It would need to be repeated a few times... Or perhaps define

uint32_t channel = chan;

after the assert to not repeatedly use a cast.

I would think the zassert_true make this a false alarm.

@nordic-krch
Copy link
Contributor

Fixed by #33408

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The issue is a bug, or the PR is fixing a bug Coverity A Coverity detected issue or its fix priority: low Low impact/importance bug
Projects
None yet
Development

No branches or pull requests

4 participants