Want query to detect mutual assignment
Open
question
- Dominant language
- CodeQL
- Stars
- 10.1k
- Forks
- 2.1k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 141
Description
**Description of the issue**
Here is a minimal test case showing mutual assignment where we do `b = a;` followed by `a = b;`:
```
int main(void) {
int a = 0;
int b = a;
int c = 1;
a = b;
return a*b*c;
}
```
The statement `a = b;` is redundant. Unless the variables are marked volatile, there should be no legitimate reason for code to do this. We just found an instance of this in OpenZFS:
https://github.com/openzfs/zfs/pull/14565/files#r1124115812
A quick search revealed that PVS Studio has a check for this:
https://pvs-studio.com/en/docs/warnings/v587/
Contributor guide
Assessment
This issue has not been assessed yet.