FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
codeql/cpp/ql/src/Microsoft/CallWithNullSAL.ql at codeql-cli/v2.19.0 · github/codeql · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
github
/
codeql
Public
Notifications
You must be signed in to change notification settings
Fork
2.1k
Star
10k
Code
Issues
997
Pull requests
467
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
codeql
/
cpp
/
ql
/
src
/
Microsoft
/
CallWithNullSAL.ql
Copy path
More file actions
More file actions
Latest commit
History
History
History
22 lines (20 loc) · 663 Bytes
Breadcrumbs
codeql
/
cpp
/
ql
/
src
/
Microsoft
/
CallWithNullSAL.ql
Copy path
File metadata and controls
22 lines (20 loc) · 663 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* @name SAL requires non-null argument
* @description When null is passed to a function that is SAL-annotated to
* forbid this, undefined behavior may result.
* @kind problem
* @id cpp/call-with-null-sal
* @problem.severity warning
* @tags reliability
*/
import
cpp
import
SAL
from
Parameter
p
,
Call
c
,
Expr
arg
where
any
(
SalNotNull
a
)
.
getDeclaration
(
)
=
p
and
c
.
getTarget
(
)
=
p
.
getFunction
(
)
and
arg
=
c
.
getArgument
(
p
.
getIndex
(
)
)
and
nullValue
(
arg
)
select
arg
,
"Argument ("
+
arg
.
toString
(
)
+
") for parameter $@ in call to "
+
c
.
getTarget
(
)
.
getName
(
)
+
" may be null, but a SAL annotation forbids this."
,
p
,
p
.
getName
(
)
Back
|
FazBrowse Home
|
New Git URL