diff --git a/Checks/PWR083/README.md b/Checks/PWR083/README.md index c7f421b..7e98b10 100644 --- a/Checks/PWR083/README.md +++ b/Checks/PWR083/README.md @@ -1,4 +1,4 @@ -# PWR083: Match dummy and actual argument types in procedure calls +# PWR083: Match the types of dummy and actual arguments in procedure calls ### Issue diff --git a/Checks/PWR083/benchmark/example.f90 b/Checks/PWR083/benchmark/example.f90 index 68bf0a9..3b57f68 100644 --- a/Checks/PWR083/benchmark/example.f90 +++ b/Checks/PWR083/benchmark/example.f90 @@ -1,4 +1,4 @@ -! PWR083: Match dummy and actual argument types in procedure calls +! PWR083: Match the types of dummy and actual arguments in procedure calls ! NOT-PWR068: External procedure used to demonstrate how compilers can't catch ! the type mismatch diff --git a/Checks/PWR083/benchmark/simulation.f90 b/Checks/PWR083/benchmark/simulation.f90 index 2ea4301..f07a61e 100644 --- a/Checks/PWR083/benchmark/simulation.f90 +++ b/Checks/PWR083/benchmark/simulation.f90 @@ -1,4 +1,4 @@ -! PWR083: Match dummy and actual argument types in procedure calls +! PWR083: Match the types of dummy and actual arguments in procedure calls ! NOT-PWR070: Explicit-shape arrays used for C-interoperability pure subroutine update_simulation_state(numberSteps, n, state) diff --git a/Checks/PWR083/benchmark/solution.f90 b/Checks/PWR083/benchmark/solution.f90 index 481a65c..988762e 100644 --- a/Checks/PWR083/benchmark/solution.f90 +++ b/Checks/PWR083/benchmark/solution.f90 @@ -1,4 +1,4 @@ -! PWR083: Match dummy and actual argument types in procedure calls +! PWR083: Match the types of dummy and actual arguments in procedure calls ! NOT-PWR068: External procedure used to demonstrate how compilers can't catch ! the type mismatch diff --git a/Checks/PWR083/example.f90 b/Checks/PWR083/example.f90 index 9815b7d..b9c4d3e 100644 --- a/Checks/PWR083/example.f90 +++ b/Checks/PWR083/example.f90 @@ -1,4 +1,4 @@ -! PWR083: Match dummy and actual argument types in procedure calls +! PWR083: Match the types of dummy and actual arguments in procedure calls ! NOT-PWR068: External procedure used to demonstrate how compilers can't catch ! the type mismatch diff --git a/Checks/PWR083/simulation.f90 b/Checks/PWR083/simulation.f90 index c8199b3..2b0db28 100644 --- a/Checks/PWR083/simulation.f90 +++ b/Checks/PWR083/simulation.f90 @@ -1,4 +1,4 @@ -! PWR083: Match dummy and actual argument types in procedure calls +! PWR083: Match the types of dummy and actual arguments in procedure calls pure subroutine updateSimulationTime(numberSteps, prevTime, newTime) use iso_fortran_env, only: real32 diff --git a/Checks/PWR083/solution.f90 b/Checks/PWR083/solution.f90 index a2691d7..6c18f3e 100644 --- a/Checks/PWR083/solution.f90 +++ b/Checks/PWR083/solution.f90 @@ -1,4 +1,4 @@ -! PWR083: Match dummy and actual argument types in procedure calls +! PWR083: Match the types of dummy and actual arguments in procedure calls ! NOT-PWR068: External procedure used to demonstrate how compilers can't catch ! the type mismatch diff --git a/README.md b/README.md index 550bbcc..27ee794 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ designed to demonstrate: | [PWR079](Checks/PWR079/) | Avoid undefined behavior due to uninitialized variables | correctness, portability, security | [CWE-758](https://cwe.mitre.org/data/definitions/758.html), [CWE-908](https://cwe.mitre.org/data/definitions/908.html), [CWE-909](https://cwe.mitre.org/data/definitions/909.html) | [6.13](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.22](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.56](https://j3-fortran.org/doc/year/23/23-241.pdf) | [EXP33-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP33-C.+Do+not+read+uninitialized+memory), [EXP34-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP34-C.+Do+not+dereference+null+pointers), [MSC15-C](https://wiki.sei.cmu.edu/confluence/display/c/MSC15-C.+Do+not+depend+on+undefined+behavior) | [EXP53-CPP](https://wiki.sei.cmu.edu/confluence/spaces/cplusplus/pages/88046609/EXP53-CPP.+Do+not+read+uninitialized+memory) | ✓ | ✓ | ✓ | | | [PWR080](Checks/PWR080/) | Conditionally initialized variables can lead to undefined behavior | correctness, portability, security | [CWE-758](https://cwe.mitre.org/data/definitions/758.html), [CWE-908](https://cwe.mitre.org/data/definitions/908.html), [CWE-909](https://cwe.mitre.org/data/definitions/909.html) | [6.13](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.22](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.56](https://j3-fortran.org/doc/year/23/23-241.pdf) | [EXP33-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP33-C.+Do+not+read+uninitialized+memory), [EXP34-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP34-C.+Do+not+dereference+null+pointers), [MSC15-C](https://wiki.sei.cmu.edu/confluence/display/c/MSC15-C.+Do+not+depend+on+undefined+behavior) | [EXP53-CPP](https://wiki.sei.cmu.edu/confluence/spaces/cplusplus/pages/88046609/EXP53-CPP.+Do+not+read+uninitialized+memory) | ✓ | ✓ | ✓ | | | [PWR081](Checks/PWR081/) | Uninitialized output arguments can lead to undefined behavior | correctness, portability, security | [CWE-758](https://cwe.mitre.org/data/definitions/758.html), [CWE-908](https://cwe.mitre.org/data/definitions/908.html), [CWE-909](https://cwe.mitre.org/data/definitions/909.html) | [6.13](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.22](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.56](https://j3-fortran.org/doc/year/23/23-241.pdf) | [EXP33-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP33-C.+Do+not+read+uninitialized+memory), [EXP34-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP34-C.+Do+not+dereference+null+pointers), [MSC15-C](https://wiki.sei.cmu.edu/confluence/display/c/MSC15-C.+Do+not+depend+on+undefined+behavior) | | | ✓ | | | -| [PWR083](Checks/PWR083/) | Match dummy and actual argument types in procedure calls | correctness, security | [CWE-628](https://cwe.mitre.org/data/definitions/628.html) | [6.11](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.32](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.53](https://j3-fortran.org/doc/year/23/23-241.pdf) | [EXP37-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP37-C.+Call+functions+with+the+correct+number+and+type+of+arguments) | | | ✓ | | | +| [PWR083](Checks/PWR083/) | Match the types of dummy and actual arguments in procedure calls | correctness, security | [CWE-628](https://cwe.mitre.org/data/definitions/628.html) | [6.11](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.32](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.53](https://j3-fortran.org/doc/year/23/23-241.pdf) | [EXP37-C](https://wiki.sei.cmu.edu/confluence/display/c/EXP37-C.+Call+functions+with+the+correct+number+and+type+of+arguments) | | | ✓ | | | | [PWD002](Checks/PWD002/) | Unprotected multithreading reduction operation | correctness, security | [CWE-366](https://cwe.mitre.org/data/definitions/366.html), [CWE-820](https://cwe.mitre.org/data/definitions/820.html) | [6.61](https://j3-fortran.org/doc/year/23/23-241.pdf) | [CON07-C](https://wiki.sei.cmu.edu/confluence/display/c/CON07-C.+Ensure+that+compound+operations+on+shared+variables+are+atomic), [CON43-C](https://wiki.sei.cmu.edu/confluence/display/c/CON43-C.+Do+not+allow+data+races+in+multithreaded+code) | | ✓ | ✓ | ✓ | | | [PWD003](Checks/PWD003/) | Missing array range in data copy to the GPU | correctness, security | [CWE-131](https://cwe.mitre.org/data/definitions/131.html), [CWE-758](https://cwe.mitre.org/data/definitions/758.html) | [6.56](https://j3-fortran.org/doc/year/23/23-241.pdf) | [MSC15-C](https://wiki.sei.cmu.edu/confluence/display/c/MSC15-C.+Do+not+depend+on+undefined+behavior) | | ✓ | ✓ | ✓ | | | [PWD004](Checks/PWD004/) | Out-of-memory-bounds array access | correctness, security | [CWE-125](https://cwe.mitre.org/data/definitions/125.html), [CWE-787](https://cwe.mitre.org/data/definitions/787.html) | [6.8](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.9](https://j3-fortran.org/doc/year/23/23-241.pdf), [6.10](https://j3-fortran.org/doc/year/23/23-241.pdf) | [ARR30-C](https://wiki.sei.cmu.edu/confluence/display/c/ARR30-C.+Do+not+form+or+use+out-of-bounds+pointers+or+array+subscripts) | | ✓ | ✓ | ✓ | |