[CI] Issue: HPCINFRA-3898 coverity agressiveness
Change --aggressiveness-level to medium
Description
Please provide a summary of the change.
What
Subject: what this PR is doing in one line.
Why ?
Justification for the PR. If there is existing issue/bug please reference.
How ?
It is optional but for complex PRs please provide information about the design, architecture, approach, etc.
Change type
What kind of change does this PR introduce?
- [ ] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] CI related changes
- [ ] Documentation content changes
- [ ] Tests
- [ ] Other
Check list
- [ ] Code follows the style de facto guidelines of this project
- [ ] Comments have been inserted in hard to understand places
- [ ] Documentation has been updated (if necessary)
- [ ] Test has been added (if possible)
bot:retest
Greptile Overview
Greptile Summary
This PR increases Coverity static analysis aggressiveness from low to medium and addresses the newly detected issues across 36 files. The changes include null pointer checks, variable initialization, Coverity suppression annotations, and improved error handling.
Key Changes:
- Changed Coverity
--aggressiveness-levelfrom low to medium in CI configuration - Added null pointer checks before dereferencing in socket handling, ring management, and JSON parsing code
- Initialized local variables to prevent undefined behavior (utils.cpp, schema_analyzer.cpp)
- Added Coverity suppression pragmas and comments for false positives
- Improved error handling for return values (rfs.cpp, sockinfo_tcp.cpp)
- Refactored SYSCALL macro to use GNU statement expression with Coverity pragma
Critical Issue Found:
-
src/core/sock/sockinfo.cpp:1881- Inverted logic bug: The condition checksif (detach_receiver(detach_key))and logs "Failed", butdetach_receiverreturnstrueon SUCCESS, causing incorrect failure logging when operations succeed
Other Issues:
-
src/core/dev/ring_simple.cpp:210-213- Unreachable duplicate null check after exception-throwing check
Confidence Score: 2/5
- This PR contains a critical inverted logic bug that will cause incorrect logging behavior in production
- Score of 2 reflects a critical logic error in sockinfo.cpp:1881 where success is logged as failure. While most Coverity fixes are sound (null checks, initialization, annotations), this inverted condition will cause operational confusion by logging failures when detach operations succeed. The unreachable code in ring_simple.cpp is a style issue but doesn't affect runtime behavior. The logic bug must be fixed before merge.
- Critical:
src/core/sock/sockinfo.cpp(inverted logic at line 1881 must be fixed). Minor:src/core/dev/ring_simple.cpp(cleanup unreachable code)
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| contrib/jenkins_tests/cov.sh | 5/5 | changed Coverity aggressiveness level from low to medium - straightforward configuration change |
| src/core/sock/sockinfo.cpp | 2/5 | added null checks and Coverity annotations for pointer operations; contains inverted logic bug at line 1881 where success is treated as failure |
| src/core/sock/sockinfo_tcp.cpp | 4/5 | added null pointer checks for parent_listen_context and Coverity annotations; includes proper error handling for tcp_bind failure |
| src/core/sock/sock-redirect.h | 4/5 | refactored SYSCALL macro to use GNU statement expression and added Coverity pragma for intentional pointer dereferences |
| src/core/dev/ring_simple.cpp | 3/5 | added p_slave null checks, removed uninitialized variable, added Coverity annotations; contains unreachable duplicate null check at lines 210-213 |
| src/core/config/descriptor_providers/schema_analyzer.cpp | 4/5 | added null checks for json_object_get_string return values to prevent dereferencing null pointers from JSON parsing |
Sequence Diagram
sequenceDiagram
participant CI as CI Pipeline
participant Cov as Coverity Analysis
participant Code as XLIO Codebase
Note over CI,Code: Coverity Aggressiveness Change
CI->>Cov: Run cov-analyze with aggressiveness=medium
Note over Cov: Detects more potential issues:<br/>- Null pointer dereferences<br/>- Uninitialized variables<br/>- Resource leaks<br/>- Logic errors
Note over Code: Developer Response: Add Fixes
Code->>Code: Add null pointer checks<br/>(sockinfo.cpp, ring_simple.cpp)
Code->>Code: Initialize variables<br/>(utils.cpp, schema_analyzer.cpp)
Code->>Code: Add Coverity annotations<br/>(chunk_list.h, sockinfo_tcp.cpp)
Code->>Code: Fix return value handling<br/>(rfs.cpp, sockinfo_tcp.cpp)
Code->>Code: Refactor SYSCALL macro<br/>(sock-redirect.h)
Note over Code: Issue: Inverted logic in<br/>sockinfo.cpp:1881
Code--xCode: Bug introduced: success<br/>logged as failure
Cov->>Code: Re-analyze with medium level
Note over Cov: Validates fixes suppress<br/>previous warnings
bot:retest