Compare commits

..

32 Commits

Author SHA1 Message Date
Fredrik Dahlgren
a50a92673c Updated Bouncy Castle signer unit tests 2025-07-04 10:20:02 +02:00
Fredrik Dahlgren
2098a64c2a Fixed QL for QL recommendation 2025-07-04 10:18:57 +02:00
Fredrik Dahlgren
bcbd29b8e3 Updated unit tests to list graph nodes, edges, and properties 2025-07-02 16:36:53 +02:00
Fredrik Dahlgren
cdb8f91c86 Removed transient output artifact instances 2025-06-27 16:36:38 +02:00
Fredrik Dahlgren
357ae9206a Updated Bouncy Castle algorithm instances
- Signature operations are now handled by a single algorithm instance
- All key generation operations except generic EC key generation
  operations are now handled by a single algorithm instance
- Ed25519 and Ed448 key generation have the algorithm set to Ed25519 and
  Ed448 respectively
- For generic EC key generation operations the algorithm is given by the
  corresponding curve (since these could be used for either ECDSA or ECDH)
2025-06-19 10:27:51 +02:00
Fredrik Dahlgren
1e5bb5ff14 Updated tests to pass with new key generation modeling 2025-06-16 11:34:01 +02:00
Fredrik Dahlgren
80a29f91d3 Fixed QL for QL findings 2025-06-12 17:05:22 +02:00
Fredrik Dahlgren
7969bdf8ae Added test cases for Bouncy Castle block cipher modes
This commit also reorganizes the Bouncy Castle test cases into separate
sub-directories for signature and cipher modes.
2025-06-12 13:44:57 +02:00
Fredrik Dahlgren
f97be14fe7 Fixed argument to block cipher mode method being tagged as input 2025-06-12 13:44:56 +02:00
Fredrik Dahlgren
192bb7f9a9 Added support for block cipher modes 2025-06-12 13:44:56 +02:00
Fredrik Dahlgren
2eecda3501 Removed duplicate condition in Model.qll
Co-authored-by: Arthur Baars <aibaars@github.com>
2025-06-12 13:44:56 +02:00
Fredrik Dahlgren
99b4cb1b7d Fixed QL for QL findings 2025-06-12 13:44:56 +02:00
Fredrik Dahlgren
1a445b2c7e Fixed merge conflict resolution issues 2025-06-12 13:44:56 +02:00
Fredrik Dahlgren
3840e93445 Added support for HSS 2025-06-12 13:44:55 +02:00
Fredrik Dahlgren
b64fdc0418 Added BouncyCastle license file to stubs 2025-06-12 13:44:55 +02:00
Fredrik Dahlgren
eb89ee1a36 Updated BouncyCastle tests and corresponding stubs 2025-06-12 13:44:55 +02:00
Fredrik Dahlgren
653ef24f74 Added LMS and ML-DSA names to Model.qll 2025-06-12 13:44:55 +02:00
Fredrik Dahlgren
8b06c3284e Added support for EllipticCurveConsumingAlgorithm 2025-06-12 13:44:54 +02:00
Fredrik Dahlgren
0406d5c45d Added documentation for the isConsumedEllipticCurve workaround 2025-06-12 13:44:54 +02:00
Fredrik Dahlgren
f17bc7e995 Added EllipticCurveConsumingAlgorithmInstance to Model.qll
This commit adds EllipticCurveConsumingAlgorithmInstance to the shared
model, allowing us to model and graph elliptic curve algorithms.
2025-06-12 13:44:54 +02:00
Fredrik Dahlgren
4a34a5c176 Created additional stubs for ECDSA 2025-06-12 13:44:54 +02:00
Fredrik Dahlgren
b57bf9ad20 Updated signature operations test query 2025-06-12 13:44:54 +02:00
Fredrik Dahlgren
efd3266b1c Added signature input nodes to signature verify operation nodes 2025-06-12 13:44:53 +02:00
Fredrik Dahlgren
fca90b3292 Added support for BouncyCast ECDSA
This commit adds support for ECDSA. This includes tracking the
instantiated curve parameters using data flow.

It also adds SignatureArtifactInstance and SignatureOperationInstance
types to the shared model.
2025-06-12 13:44:53 +02:00
Fredrik Dahlgren
d7f1c701b2 Added unit tests for BouncyCastle EdDSA signatures and key generators 2025-06-12 13:44:53 +02:00
Fredrik Dahlgren
4aecf8b667 Added stubs for BouncyCastle EdDSA signature algorithms and key generators 2025-06-12 13:44:53 +02:00
Fredrik Dahlgren
9c602f8e38 Updated returned key sizes to be integers 2025-06-12 13:44:53 +02:00
Fredrik Dahlgren
45416d28cb Refactored algorithm instances
This commit also adds associated elliptic curves to the key generation
and key nodes.
2025-06-12 13:44:52 +02:00
Fredrik Dahlgren
d8cdd3c2d1 Added support for BouncyCastle key generation algorithms
This commit adds the `KeyGenerationOperationInstance` and
`KeyGenerationAlgorithmInstance` types to the BouncyCastle model.

It also adds data flow support from key pairs to the corresponding
public and private components.
2025-06-12 13:44:52 +02:00
Fredrik Dahlgren
e9c6c3350a Multiple bug fixes in BouncyCastle signature model 2025-06-12 13:44:52 +02:00
Fredrik Dahlgren
c588d11297 Removed unused getIntermediateUse function 2025-06-12 13:44:52 +02:00
Fredrik Dahlgren
43e5e40823 Added initial support for BouncyCastle signers 2025-06-12 13:44:51 +02:00
2101 changed files with 35081 additions and 161241 deletions

View File

@@ -16,6 +16,7 @@ on:
- "shared/**/*.qll"
- "!**/experimental/**"
- "!ql/**"
- "!rust/**"
- ".github/workflows/check-change-note.yml"
jobs:

View File

@@ -1,11 +1,10 @@
name: Python tooling
name: Codegen
on:
pull_request:
paths:
- "misc/bazel/**"
- "misc/codegen/**"
- "misc/scripts/models-as-data/bulk_generate_mad.py"
- "*.bazel*"
- .github/workflows/codegen.yml
- .pre-commit-config.yaml
@@ -18,17 +17,17 @@ permissions:
contents: read
jobs:
check-python-tooling:
codegen:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- uses: actions/setup-python@v4
with:
python-version: '3.12'
python-version-file: 'misc/codegen/.python-version'
- uses: pre-commit/action@646c83fcd040023954eafda54b4db0192ce70507
name: Check that python code is properly formatted
with:
extra_args: black --all-files
extra_args: autopep8 --all-files
- name: Run codegen tests
shell: bash
run: |

View File

@@ -1,7 +1,5 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_language_version:
python: python3.12
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
@@ -9,18 +7,18 @@ repos:
- id: trailing-whitespace
exclude: /test/.*$(?<!\.qlref)|.*\.patch$|.*\.qll?$
- id: end-of-file-fixer
exclude: Cargo.lock$|/test/.*$(?<!\.qlref)|.*\.patch$|.*\.qll?$
exclude: /test/.*$(?<!\.qlref)|.*\.patch$|.*\.qll?$
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v17.0.6
hooks:
- id: clang-format
- repo: https://github.com/psf/black
rev: 25.1.0
- repo: https://github.com/pre-commit/mirrors-autopep8
rev: v2.0.4
hooks:
- id: black
files: ^(misc/codegen/.*|misc/scripts/models-as-data/.*)\.py$
- id: autopep8
files: ^misc/codegen/.*\.py
- repo: local
hooks:

913
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -11,3 +11,8 @@ members = [
"rust/autobuild",
]
exclude = ["mad-generation-build"]
[patch.crates-io]
# patch for build script bug preventing bazel build
# see https://github.com/rust-lang/rustc_apfloat/pull/17
rustc_apfloat = { git = "https://github.com/redsun82/rustc_apfloat.git", rev = "32968f16ef1b082243f9bf43a3fbd65c381b3e27" }

View File

@@ -37,7 +37,7 @@ bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True
# the versions there are canonical, the versions here are used for CI in github/codeql, as well as for the vendoring of dependencies.
RUST_EDITION = "2024"
RUST_VERSION = "1.86.0"
RUST_VERSION = "1.85.0"
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
rust.toolchain(
@@ -71,11 +71,11 @@ use_repo(
tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r")
use_repo(
tree_sitter_extractors_deps,
"vendor_ts__anyhow-1.0.98",
"vendor_ts__anyhow-1.0.97",
"vendor_ts__argfile-0.2.1",
"vendor_ts__chalk-ir-0.103.0",
"vendor_ts__chrono-0.4.41",
"vendor_ts__clap-4.5.40",
"vendor_ts__chalk-ir-0.100.0",
"vendor_ts__chrono-0.4.40",
"vendor_ts__clap-4.5.35",
"vendor_ts__dunce-1.0.5",
"vendor_ts__either-1.15.0",
"vendor_ts__encoding-0.2.33",
@@ -87,33 +87,33 @@ use_repo(
"vendor_ts__lazy_static-1.5.0",
"vendor_ts__mustache-0.9.0",
"vendor_ts__num-traits-0.2.19",
"vendor_ts__num_cpus-1.17.0",
"vendor_ts__proc-macro2-1.0.95",
"vendor_ts__num_cpus-1.16.0",
"vendor_ts__proc-macro2-1.0.94",
"vendor_ts__quote-1.0.40",
"vendor_ts__ra_ap_base_db-0.0.288",
"vendor_ts__ra_ap_cfg-0.0.288",
"vendor_ts__ra_ap_hir-0.0.288",
"vendor_ts__ra_ap_hir_def-0.0.288",
"vendor_ts__ra_ap_hir_expand-0.0.288",
"vendor_ts__ra_ap_hir_ty-0.0.288",
"vendor_ts__ra_ap_ide_db-0.0.288",
"vendor_ts__ra_ap_intern-0.0.288",
"vendor_ts__ra_ap_load-cargo-0.0.288",
"vendor_ts__ra_ap_parser-0.0.288",
"vendor_ts__ra_ap_paths-0.0.288",
"vendor_ts__ra_ap_project_model-0.0.288",
"vendor_ts__ra_ap_span-0.0.288",
"vendor_ts__ra_ap_stdx-0.0.288",
"vendor_ts__ra_ap_syntax-0.0.288",
"vendor_ts__ra_ap_vfs-0.0.288",
"vendor_ts__rand-0.9.1",
"vendor_ts__ra_ap_base_db-0.0.273",
"vendor_ts__ra_ap_cfg-0.0.273",
"vendor_ts__ra_ap_hir-0.0.273",
"vendor_ts__ra_ap_hir_def-0.0.273",
"vendor_ts__ra_ap_hir_expand-0.0.273",
"vendor_ts__ra_ap_hir_ty-0.0.273",
"vendor_ts__ra_ap_ide_db-0.0.273",
"vendor_ts__ra_ap_intern-0.0.273",
"vendor_ts__ra_ap_load-cargo-0.0.273",
"vendor_ts__ra_ap_parser-0.0.273",
"vendor_ts__ra_ap_paths-0.0.273",
"vendor_ts__ra_ap_project_model-0.0.273",
"vendor_ts__ra_ap_span-0.0.273",
"vendor_ts__ra_ap_stdx-0.0.273",
"vendor_ts__ra_ap_syntax-0.0.273",
"vendor_ts__ra_ap_vfs-0.0.273",
"vendor_ts__rand-0.9.0",
"vendor_ts__rayon-1.10.0",
"vendor_ts__regex-1.11.1",
"vendor_ts__serde-1.0.219",
"vendor_ts__serde_json-1.0.140",
"vendor_ts__serde_with-3.13.0",
"vendor_ts__syn-2.0.103",
"vendor_ts__toml-0.8.23",
"vendor_ts__serde_with-3.12.0",
"vendor_ts__syn-2.0.100",
"vendor_ts__toml-0.8.20",
"vendor_ts__tracing-0.1.41",
"vendor_ts__tracing-flame-0.2.0",
"vendor_ts__tracing-subscriber-0.3.19",

View File

@@ -2,7 +2,7 @@ import runs_on
import pytest
from query_suites import *
well_known_query_suites = ['actions-code-quality.qls', 'actions-code-quality-extended.qls', 'actions-security-and-quality.qls', 'actions-security-extended.qls', 'actions-code-scanning.qls']
well_known_query_suites = ['actions-code-quality.qls', 'actions-security-and-quality.qls', 'actions-security-extended.qls', 'actions-code-scanning.qls']
@runs_on.posix
@pytest.mark.parametrize("query_suite", well_known_query_suites)

View File

@@ -1,11 +1,3 @@
## 0.4.12
### Minor Analysis Improvements
* Fixed performance issues in the parsing of Bash scripts in workflow files,
which led to out-of-disk errors when analysing certain workflow files with
complex interpolations of shell commands or quoted strings.
## 0.4.11
No user-facing changes.

View File

@@ -1,7 +1,6 @@
## 0.4.12
### Minor Analysis Improvements
---
category: minorAnalysis
---
* Fixed performance issues in the parsing of Bash scripts in workflow files,
which led to out-of-disk errors when analysing certain workflow files with
complex interpolations of shell commands or quoted strings.
complex interpolations of shell commands or quoted strings.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.4.12
lastReleaseVersion: 0.4.11

View File

@@ -214,10 +214,6 @@ private module OutputClobberingConfig implements DataFlow::ConfigSig {
)
)
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
/** Tracks flow of unsafe user input that is used to construct and evaluate an environment variable. */

View File

@@ -16,10 +16,6 @@ private module RequestForgeryConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sink instanceof RequestForgerySink }
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
/** Tracks flow of unsafe user input that is used to construct and evaluate a system command. */

View File

@@ -15,10 +15,6 @@ private module SecretExfiltrationConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource }
predicate isSink(DataFlow::Node sink) { sink instanceof SecretExfiltrationSink }
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
/** Tracks flow of unsafe user input that is used in a context where it may lead to a secret exfiltration. */

View File

@@ -1,5 +1,5 @@
name: codeql/actions-all
version: 0.4.13-dev
version: 0.4.12-dev
library: true
warnOnImplicitThis: true
dependencies:

View File

@@ -1,7 +1,3 @@
## 0.6.4
No user-facing changes.
## 0.6.3
No user-facing changes.

View File

@@ -24,10 +24,6 @@ private module MyConfig implements DataFlow::ConfigSig {
predicate isSink(DataFlow::Node sink) {
sink instanceof CodeInjectionSink and not madSink(sink, "code-injection")
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
module MyFlow = TaintTracking::Global<MyConfig>;

View File

@@ -34,10 +34,6 @@ private module MyConfig implements DataFlow::ConfigSig {
isSink(node) and
set instanceof DataFlow::FieldContent
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
module MyFlow = TaintTracking::Global<MyConfig>;

View File

@@ -25,10 +25,6 @@ private module MyConfig implements DataFlow::ConfigSig {
predicate isSink(DataFlow::Node sink) {
exists(CompositeAction c | c.getAnOutputExpr() = sink.asExpr())
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
module MyFlow = TaintTracking::Global<MyConfig>;

View File

@@ -24,10 +24,6 @@ private module MyConfig implements DataFlow::ConfigSig {
predicate isSink(DataFlow::Node sink) {
sink instanceof CodeInjectionSink and not madSink(sink, "code-injection")
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
module MyFlow = TaintTracking::Global<MyConfig>;

View File

@@ -34,10 +34,6 @@ private module MyConfig implements DataFlow::ConfigSig {
isSink(node) and
set instanceof DataFlow::FieldContent
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
module MyFlow = TaintTracking::Global<MyConfig>;

View File

@@ -25,10 +25,6 @@ private module MyConfig implements DataFlow::ConfigSig {
predicate isSink(DataFlow::Node sink) {
exists(ReusableWorkflow w | w.getAnOutputExpr() = sink.asExpr())
}
predicate observeDiffInformedIncrementalMode() { any() }
Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}
module MyFlow = TaintTracking::Global<MyConfig>;

View File

@@ -1,3 +0,0 @@
## 0.6.4
No user-facing changes.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.4
lastReleaseVersion: 0.6.3

View File

@@ -1,3 +0,0 @@
- queries: .
- apply: code-quality-extended-selectors.yml
from: codeql/suite-helpers

View File

@@ -1,5 +1,5 @@
name: codeql/actions-queries
version: 0.6.5-dev
version: 0.6.4-dev
library: false
warnOnImplicitThis: true
groups: [actions, queries]

View File

@@ -1,274 +0,0 @@
# This script is used to annotate .qll files without any existing overlay annotations
# with overlay[local?] and overlay[caller?] annotations. Maintenance of overlay annotations
# in annotated files will be handled by QL-for-QL queries.
# It will walk the directory tree and annotate most .qll files, skipping only
# some specific cases (e.g., empty files, files that configure dataflow for queries).
# The script takes a list of languages and processes the corresponding directories.
# If the optional --check argument is provided, the script checks for missing annotations,
# but does not modify any files.
# Usage: python3 add-overlay-annotations.py [--check] <language1> <language2> ...
# The script will modify the files in place and print the changes made.
# The script is designed to be run from the root of the repository.
#!/usr/bin/python3
import sys
import os
from difflib import context_diff
def has_overlay_annotations(lines):
'''
Check whether the given lines contain any overlay[...] annotations.
'''
overlays = ["local", "local?", "global", "caller", "caller?"]
annotations = [f"overlay[{t}]" for t in overlays]
return any(ann in line for ann in annotations for line in lines)
def is_line_comment(line):
return line.startswith("//") or (line.startswith("/*") and line.endswith("*/"))
def find_file_level_module_declaration(lines):
'''
Returns the index of the existing file-level module declaration if one
exists. Returns None otherwise.
'''
comment = False
for i, line in enumerate(lines):
trimmed = line.strip()
if is_line_comment(trimmed):
continue
elif trimmed.startswith("/*"):
comment = True
elif comment and trimmed.endswith("*/"):
comment = False
elif not comment and trimmed.endswith("module;"):
return i
return None
def is_file_module_qldoc(i, lines):
'''
Assuming a qldoc ended on line i, determine if it belongs to the implicit
file-level module. If it is followed by another qldoc or imports, then it
does and if it is followed by any other non-empty, non-comment lines, then
we assume that is a declaration of some kind and the qldoc is attached to
that declaration.
'''
comment = False
for line in lines[i+1:]:
trimmed = line.strip()
if trimmed.startswith("import ") or trimmed.startswith("private import ") or trimmed.startswith("/**"):
return True
elif is_line_comment(trimmed) or not trimmed:
continue
elif trimmed.startswith("/*"):
comment = True
elif comment and trimmed.endswith("*/"):
comment = False
elif not comment and trimmed:
return False
return True
def find_file_module_qldoc_declaration(lines):
'''
Returns the index of last line of the implicit file module qldoc if one
exists. Returns None otherwise.
'''
qldoc = False
comment = False
for i, line in enumerate(lines):
trimmed = line.strip()
if trimmed.startswith("//"):
continue
elif (qldoc or trimmed.startswith("/**")) and trimmed.endswith("*/"):
# a qldoc just ended; determine if it belongs to the implicit file module
if is_file_module_qldoc(i, lines):
return i
else:
return None
elif trimmed.startswith("/**"):
qldoc = True
elif trimmed.startswith("/*"):
comment = True
elif comment and trimmed.endswith("*/"):
comment = False
elif (not qldoc and not comment) and trimmed:
return None
return None
def only_comments(lines):
'''
Returns true if the lines contain only comments and empty lines.
'''
comment = False
for line in lines:
trimmed = line.strip()
if not trimmed or is_line_comment(trimmed):
continue
elif trimmed.startswith("/*"):
comment = True
elif comment and trimmed.endswith("*/"):
comment = False
elif comment:
continue
elif trimmed:
return False
return True
def insert_toplevel_maybe_local_annotation(filename, lines):
'''
Find a suitable place to insert an overlay[local?] annotation at the top of the file.
Returns a pair consisting of description and the modified lines or None if no overlay
annotation is necessary (e.g., for files that only contain comments).
'''
if only_comments(lines):
return None
i = find_file_level_module_declaration(lines)
if not i == None:
out_lines = lines[:i]
out_lines.append("overlay[local?]\n")
out_lines.extend(lines[i:])
return (f"Annotating \"{filename}\" via existing file-level module statement", out_lines)
i = find_file_module_qldoc_declaration(lines)
if not i == None:
out_lines = lines[:i+1]
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
out_lines.extend(lines[i+1:])
return (f"Annotating \"{filename}\" which has a file-level module qldoc", out_lines)
out_lines = ["overlay[local?]\n", "module;\n", "\n"] + lines
return (f"Annotating \"{filename}\" without file-level module qldoc", out_lines)
def insert_overlay_caller_annotations(lines):
'''
Mark pragma[inline] predicates as overlay[caller?] if they are not declared private.
'''
out_lines = []
for i, line in enumerate(lines):
trimmed = line.strip()
if trimmed == "pragma[inline]":
if i + 1 < len(lines) and not "private" in lines[i+1]:
whitespace = line[0: line.find(trimmed)]
out_lines.append(f"{whitespace}overlay[caller?]\n")
out_lines.append(line)
return out_lines
def annotate_as_appropriate(filename, lines):
'''
Insert new overlay[...] annotations according to heuristics in files without existing
overlay annotations.
Returns None if no annotations are needed. Otherwise, returns a pair consisting of a
string describing the action taken and the modified content as a list of lines.
'''
if has_overlay_annotations(lines):
return None
# These simple heuristics filter out those .qll files that we no _not_ want to annotate
# as overlay[local?]. It is not clear that these heuristics are exactly what we want,
# but they seem to work well enough for now (as determined by speed and accuracy numbers).
if (filename.endswith("Test.qll") or
((filename.endswith("Query.qll") or filename.endswith("Config.qll")) and
any("implements DataFlow::ConfigSig" in line for line in lines))):
return None
elif not any(line for line in lines if line.strip()):
return None
lines = insert_overlay_caller_annotations(lines)
return insert_toplevel_maybe_local_annotation(filename, lines)
def process_single_file(write, filename):
'''
Process a single file, annotating it as appropriate.
If write is set, the changes are written back to the file.
Returns True if the file requires changes.
'''
with open(filename) as f:
old = [line for line in f]
annotate_result = annotate_as_appropriate(filename, old)
if annotate_result is None:
return False
if not write:
return True
new = annotate_result[1]
diff = context_diff(old, new, fromfile=filename, tofile=filename)
diff = [line for line in diff]
if diff:
print(annotate_result[0])
for line in diff:
print(line.rstrip())
with open(filename, "w") as out_file:
for line in new:
out_file.write(line)
return True
if len(sys.argv) > 1 and sys.argv[1] == "--check":
check = True
langs = sys.argv[2:]
else:
check = False
langs = sys.argv[1:]
dirs = []
for lang in langs:
if lang in ["cpp", "go", "csharp", "java", "javascript", "python", "ruby", "rust", "swift"]:
dirs.append(f"{lang}/ql/lib")
else:
raise Exception(f"Unknown language \"{lang}\".")
if dirs:
dirs.append("shared")
missingAnnotations = []
for roots in dirs:
for dirpath, dirnames, filenames in os.walk(roots):
for filename in filenames:
if filename.endswith(".qll") and not dirpath.endswith("tutorial"):
path = os.path.join(dirpath, filename)
res = process_single_file(not check, path)
if check and res:
missingAnnotations.append(path)
if len(missingAnnotations) > 0:
print("The following files have no overlay annotations:")
for path in missingAnnotations[:10]:
print("- " + path)
if len(missingAnnotations) > 10:
print("and " + str(len(missingAnnotations) - 10) + " additional files.")
print()
print("Please manually add overlay annotations or use the config/add-overlay-annotations.py script to automatically add sensible default overlay annotations.")
exit(1)

View File

@@ -1,175 +0,0 @@
# This script is used to annotate .qll files with overlay[local?] annotations.
# It will walk the directory tree and annotate most .qll files, skipping only
# some specific cases (e.g., empty files, files that configure dataflow for queries).
# It will also add overlay[caller] annotations to predicates that are pragma[inline]
# and either not private or in a hardcoded list of predicates.
# The script takes a list of languages and processes the corresponding directories.
# Usage: python3 annotate-overlay-local.py <language1> <language2> ...
# The script will modify the files in place and print the changes made.
# The script is designed to be run from the root of the repository.
#!/usr/bin/python3
import sys
import os
from difflib import *
# These are the only two predicates that are pragma[inline], private, and must be
# overlay[caller] in order to successfully compile our internal java queries.
hardcoded_overlay_caller_preds = [
"fwdFlowInCand", "fwdFlowInCandTypeFlowDisabled"]
def filter_out_annotations(filename):
'''
Read the file and strip all existing overlay[...] annotations from the contents.
Return the file modified file content as a list of lines.
'''
overlays = ["local?", "caller"]
annotations = [f"overlay[{t}]" for t in overlays]
with open(filename, 'r') as file_in:
lines = [l for l in file_in if not l.strip() in annotations]
for ann in annotations:
if any(line for line in lines if ann in line):
raise Exception(f"Failed to filter out {ann} from {filename}.")
return lines
def insert_toplevel_maybe_local_anntotation(filename, lines):
'''
Find a suitable place to insert an overlay[local?] annotation at the top of the file.
Return a pair: (string describing action taken, modified content as list of lines).
'''
out_lines = []
status = 0
for line in lines:
if status == 0 and line.rstrip().endswith("module;"):
out_lines.append("overlay[local?]\n")
status = 1
out_lines.append(line)
if status == 1:
return (f"Annotating \"{filename}\" via existing file-level module statement", out_lines)
out_lines = []
empty_line_buffer = []
status = 0
for line in lines:
trimmed = line.strip()
if not trimmed:
empty_line_buffer.append(line)
continue
if status <= 1 and trimmed.endswith("*/"):
status = 2
elif status == 0 and trimmed.startswith("/**"):
status = 1
elif status == 0 and not trimmed.startswith("/*"):
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
out_lines.append("\n")
status = 3
elif status == 2 and (trimmed.startswith("import ") or trimmed.startswith("private import ")):
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
status = 3
elif status == 2 and (trimmed.startswith("class ") or trimmed.startswith("predicate ")
or trimmed.startswith("module ") or trimmed.startswith("signature ")):
out_lines = ["overlay[local?]\n", "module;\n", "\n"] + out_lines
status = 3
elif status == 2 and trimmed.startswith("/*"):
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
status = 3
elif status == 2:
status = 4
if empty_line_buffer:
out_lines += empty_line_buffer
empty_line_buffer = []
out_lines.append(line)
if status == 3:
out_lines += empty_line_buffer
if status == 3:
return (f"Annotating \"{filename}\" after file-level module qldoc", out_lines)
raise Exception(f"Failed to annotate \"{filename}\" as overlay[local?].")
def insert_overlay_caller_annotations(lines):
'''
Mark pragma[inline] predicates as overlay[caller] if they are not declared private
or if they are private but are in the list of hardcoded_overlay_caller_preds.
'''
out_lines = []
for i, line in enumerate(lines):
trimmed = line.strip()
if trimmed == "pragma[inline]":
if (not "private" in lines[i+1] or
any(pred in lines[i+1] for pred in hardcoded_overlay_caller_preds)):
whitespace = line[0: line.find(trimmed)]
out_lines.append(f"{whitespace}overlay[caller]\n")
out_lines.append(line)
return out_lines
def annotate_as_appropriate(filename):
'''
Read file and strip all existing overlay[...] annotations from the contents;
then insert new overlay[...] annotations according to heuristics.
Return a pair: (string describing action taken, modified content as list of lines).
'''
lines = filter_out_annotations(filename)
lines = insert_overlay_caller_annotations(lines)
# These simple heuristics filter out those .qll files that we no _not_ want to annotate
# as overlay[local?]. It is not clear that these heuristics are exactly what we want,
# but they seem to work well enough for now (as determined by speed and accuracy numbers).
if (filename.endswith("Test.qll") or
((filename.endswith("Query.qll") or filename.endswith("Config.qll")) and
any("implements DataFlow::ConfigSig" in line for line in lines))):
return (f"Keeping \"{filename}\" global because it configures dataflow for a query", lines)
elif not any(line for line in lines if line.strip()):
return (f"Keeping \"{filename}\" global because it is empty", lines)
return insert_toplevel_maybe_local_anntotation(filename, lines)
def process_single_file(filename):
'''
Process a single file, annotating it as appropriate and writing the changes back to the file.
'''
annotate_result = annotate_as_appropriate(filename)
old = [line for line in open(filename)]
new = annotate_result[1]
if old != new:
diff = context_diff(old, new, fromfile=filename, tofile=filename)
diff = [line for line in diff]
if diff:
print(annotate_result[0])
for line in diff:
print(line.rstrip())
with open(filename, "w") as out_file:
for line in new:
out_file.write(line)
dirs = []
for lang in sys.argv[1:]:
if lang in ["cpp", "go", "csharp", "java", "javascript", "python", "ruby", "rust", "swift"]:
dirs.append(f"{lang}/ql/lib")
else:
raise Exception(f"Unknown language \"{lang}\".")
if dirs:
dirs.append("shared")
for roots in dirs:
for dirpath, dirnames, filenames in os.walk(roots):
for filename in filenames:
if filename.endswith(".qll") and not dirpath.endswith("tutorial"):
process_single_file(os.path.join(dirpath, filename))

View File

@@ -8,9 +8,9 @@ needs_an_re = re.compile(r'^(?!Unary)[AEIOU]') # Name requiring "an" instead of
start_qldoc_re = re.compile(r'^\s*/\*\*') # Start of a QLDoc comment
end_qldoc_re = re.compile(r'\*/\s*$') # End of a QLDoc comment
blank_qldoc_line_re = re.compile(r'^\s*\*\s*$') # A line in a QLDoc comment with only the '*'
instruction_class_re = re.compile(r'^class (?P<name>[A-Za-z0-9]+)Instruction\s') # Declaration of an `Instruction` class
opcode_base_class_re = re.compile(r'^abstract class (?P<name>[A-Za-z0-9]+)Opcode\s') # Declaration of an `Opcode` base class
opcode_class_re = re.compile(r'^ class (?P<name>[A-Za-z0-9]+)\s') # Declaration of an `Opcode` class
instruction_class_re = re.compile(r'^class (?P<name>[A-aa-z0-9]+)Instruction\s') # Declaration of an `Instruction` class
opcode_base_class_re = re.compile(r'^abstract class (?P<name>[A-aa-z0-9]+)Opcode\s') # Declaration of an `Opcode` base class
opcode_class_re = re.compile(r'^ class (?P<name>[A-aa-z0-9]+)\s') # Declaration of an `Opcode` class
script_dir = path.realpath(path.dirname(__file__))
instruction_path = path.realpath(path.join(script_dir, '../cpp/ql/src/semmle/code/cpp/ir/implementation/raw/Instruction.qll'))

View File

@@ -2,30 +2,9 @@ language: cpp
strategy: dca
destination: cpp/ql/lib/ext/generated
targets:
- name: zlib
with-sinks: false
with-sources: false
- name: brotli
with-sinks: false
with-sources: false
- name: libidn2
with-sinks: false
with-sources: false
- name: libssh2
- name: openssl
with-sinks: false
with-sources: false
- name: sqlite
with-sinks: false
with-sources: false
- name: openssl
with-sinks: false
with-sources: false
- name: nghttp2
with-sinks: false
with-sources: false
- name: libuv
with-sinks: false
with-sources: false
- name: curl
with-sinks: false
with-sources: false

View File

@@ -1,14 +0,0 @@
class BuiltinType extends @builtintype {
string toString() { none() }
}
from BuiltinType type, string name, int kind, int kind_new, int size, int sign, int alignment
where
builtintypes(type, name, kind, size, sign, alignment) and
if
type instanceof @complex_fp16 or
type instanceof @complex_std_bfloat16 or
type instanceof @complex_std_float16
then kind_new = 2
else kind_new = kind
select type, name, kind_new, size, sign, alignment

View File

@@ -1,3 +0,0 @@
description: Introduce new complex 16-bit floating-point types
compatibility: backwards
builtintypes.rel: run builtintypes.qlo

View File

@@ -1,3 +0,0 @@
description: Add a predicate `getAnAttribute` to `Namespace`
compatibility: full
namespaceattributes.rel: delete

View File

@@ -1,13 +0,0 @@
class Stmt extends @stmt {
string toString() { none() }
}
class Location extends @location_stmt {
string toString() { none() }
}
from Stmt id, int kind, Location loc, int new_kind
where
stmts(id, kind, loc) and
if kind = 40 then new_kind = 4 else new_kind = kind
select id, new_kind, loc

View File

@@ -1,3 +0,0 @@
description: Support `__leave` statement
compatibility: full
stmts.rel: run stmts.qlo

View File

@@ -1,9 +0,0 @@
class BuiltinType extends @builtintype {
string toString() { none() }
}
from BuiltinType id, string name, int kind, int new_kind, int size, int sign, int alignment
where
builtintypes(id, name, kind, size, sign, alignment) and
if kind = 63 then /* @errortype */ new_kind = 1 else new_kind = kind
select id, name, new_kind, size, sign, alignment

View File

@@ -1,9 +0,0 @@
class Type extends @type {
string toString() { none() }
}
from Type type, string name, int kind, int new_kind, Type type_id
where
derivedtypes(type, name, kind, type_id) and
if kind = 11 then /* @gnu_vector */ new_kind = 5 else new_kind = kind
select type, name, new_kind, type_id

View File

@@ -1,5 +0,0 @@
description: Arm scalable vector type support
compatibility: backwards
builtintypes.rel: run builtintypes.qlo
derivedtypes.rel: run derivedtypes.qlo
tupleelements.rel: delete

View File

@@ -2,7 +2,7 @@ import runs_on
import pytest
from query_suites import *
well_known_query_suites = ['cpp-code-quality.qls', 'cpp-code-quality-extended.qls', 'cpp-security-and-quality.qls', 'cpp-security-extended.qls', 'cpp-code-scanning.qls']
well_known_query_suites = ['cpp-code-quality.qls', 'cpp-security-and-quality.qls', 'cpp-security-extended.qls', 'cpp-code-scanning.qls']
@runs_on.posix
@pytest.mark.parametrize("query_suite", well_known_query_suites)

View File

@@ -1,20 +1,3 @@
## 5.2.0
### Deprecated APIs
* The `ThrowingFunction` class (`semmle.code.cpp.models.interfaces.Throwing`) has been deprecated. Please use the `AlwaysSehThrowingFunction` class instead.
### New Features
* Added a predicate `getAnAttribute` to `Namespace` to retrieve a namespace attribute.
* The Microsoft-specific `__leave` statement is now supported.
* A new class `LeaveStmt` extending `JumpStmt` was added to represent `__leave` statements.
* Added a predicate `hasParameterList` to `LambdaExpression` to capture whether a lambda has an explicitly specified parameter list.
### Bug Fixes
* `resolveTypedefs` now properly resolves typedefs for `ArrayType`s.
## 5.1.0
### New Features

View File

@@ -0,0 +1,4 @@
---
category: feature
---
* Added a predicate `hasParameterList` to `LambdaExpression` to capture whether a lambda has an explicitly specified parameter list.

View File

@@ -1,4 +0,0 @@
---
category: minorAnalysis
---
* Added support for `__fp16 _Complex` and `__bf16 _Complex` types

View File

@@ -1,16 +0,0 @@
## 5.2.0
### Deprecated APIs
* The `ThrowingFunction` class (`semmle.code.cpp.models.interfaces.Throwing`) has been deprecated. Please use the `AlwaysSehThrowingFunction` class instead.
### New Features
* Added a predicate `getAnAttribute` to `Namespace` to retrieve a namespace attribute.
* The Microsoft-specific `__leave` statement is now supported.
* A new class `LeaveStmt` extending `JumpStmt` was added to represent `__leave` statements.
* Added a predicate `hasParameterList` to `LambdaExpression` to capture whether a lambda has an explicitly specified parameter list.
### Bug Fixes
* `resolveTypedefs` now properly resolves typedefs for `ArrayType`s.

View File

@@ -1,2 +1,2 @@
---
lastReleaseVersion: 5.2.0
lastReleaseVersion: 5.1.0

View File

@@ -13,9 +13,7 @@ module CryptoInput implements InputSig<Language::Location> {
LocatableElement dfn_to_element(DataFlow::Node node) {
result = node.asExpr() or
result = node.asParameter() or
result = node.asVariable() or
result = node.asDefiningArgument()
// TODO: do we need asIndirectExpr()?
result = node.asVariable()
}
string locationToFileBaseNameAndLineNumberString(Location location) {
@@ -92,7 +90,7 @@ module GenericDataSourceFlowConfig implements DataFlow::ConfigSig {
module GenericDataSourceFlow = TaintTracking::Global<GenericDataSourceFlowConfig>;
private class ConstantDataSource extends Crypto::GenericConstantSourceInstance instanceof Literal {
ConstantDataSource() { this instanceof OpenSslGenericSourceCandidateLiteral }
ConstantDataSource() { this instanceof OpenSSLGenericSourceCandidateLiteral }
override DataFlow::Node getOutputNode() { result.asExpr() = this }

View File

@@ -12,15 +12,13 @@ private import PaddingAlgorithmInstance
* overlap with the known algorithm constants.
* Padding consumers (specific padding consumers) are excluded from the set of sinks.
*/
module KnownOpenSslAlgorithmToAlgorithmValueConsumerConfig implements DataFlow::ConfigSig {
module KnownOpenSSLAlgorithmToAlgorithmValueConsumerConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) {
source.asExpr() instanceof KnownOpenSslAlgorithmExpr and
// No need to flow direct operations to AVCs
not source.asExpr() instanceof OpenSslDirectAlgorithmOperationCall
source.asExpr() instanceof KnownOpenSSLAlgorithmConstant
}
predicate isSink(DataFlow::Node sink) {
exists(OpenSslAlgorithmValueConsumer c |
exists(OpenSSLAlgorithmValueConsumer c |
c.getInputNode() = sink and
// exclude padding algorithm consumers, since
// these consumers take in different constant values
@@ -45,11 +43,11 @@ module KnownOpenSslAlgorithmToAlgorithmValueConsumerConfig implements DataFlow::
}
}
module KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow =
DataFlow::Global<KnownOpenSslAlgorithmToAlgorithmValueConsumerConfig>;
module KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow =
DataFlow::Global<KnownOpenSSLAlgorithmToAlgorithmValueConsumerConfig>;
module RSAPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source.asExpr() instanceof OpenSslPaddingLiteral }
predicate isSource(DataFlow::Node source) { source.asExpr() instanceof OpenSSLPaddingLiteral }
predicate isSink(DataFlow::Node sink) {
exists(PaddingAlgorithmValueConsumer c | c.getInputNode() = sink)
@@ -63,8 +61,8 @@ module RSAPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig implements DataF
module RSAPaddingAlgorithmToPaddingAlgorithmValueConsumerFlow =
DataFlow::Global<RSAPaddingAlgorithmToPaddingAlgorithmValueConsumerConfig>;
class OpenSslAlgorithmAdditionalFlowStep extends AdditionalFlowInputStep {
OpenSslAlgorithmAdditionalFlowStep() { exists(AlgorithmPassthroughCall c | c.getInNode() = this) }
class OpenSSLAlgorithmAdditionalFlowStep extends AdditionalFlowInputStep {
OpenSSLAlgorithmAdditionalFlowStep() { exists(AlgorithmPassthroughCall c | c.getInNode() = this) }
override DataFlow::Node getOutput() {
exists(AlgorithmPassthroughCall c | c.getInNode() = this and c.getOutNode() = result)

View File

@@ -7,14 +7,14 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
private import AlgToAVCFlow
/**
* Given a `KnownOpenSslBlockModeAlgorithmExpr`, converts this to a block family type.
* Given a `KnownOpenSSLBlockModeAlgorithmConstant`, converts this to a block family type.
* Does not bind if there is no mapping (no mapping to 'unknown' or 'other').
*/
predicate knownOpenSslConstantToBlockModeFamilyType(
KnownOpenSslBlockModeAlgorithmExpr e, Crypto::TBlockCipherModeOfOperationType type
predicate knownOpenSSLConstantToBlockModeFamilyType(
KnownOpenSSLBlockModeAlgorithmConstant e, Crypto::TBlockCipherModeOfOperationType type
) {
exists(string name |
name = e.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = e.getNormalizedName() and
(
name.matches("CBC") and type instanceof Crypto::CBC
or
@@ -39,35 +39,34 @@ predicate knownOpenSslConstantToBlockModeFamilyType(
)
}
class KnownOpenSslBlockModeConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::ModeOfOperationAlgorithmInstance instanceof KnownOpenSslBlockModeAlgorithmExpr
class KnownOpenSSLBlockModeConstantAlgorithmInstance extends OpenSSLAlgorithmInstance,
Crypto::ModeOfOperationAlgorithmInstance instanceof KnownOpenSSLBlockModeAlgorithmConstant
{
OpenSslAlgorithmValueConsumer getterCall;
OpenSSLAlgorithmValueConsumer getterCall;
KnownOpenSslBlockModeConstantAlgorithmInstance() {
KnownOpenSSLBlockModeConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// 2) The source is a KnownOpenSSLAlgorithm is call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
this instanceof Literal and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
sink = getterCall.(OpenSSLAlgorithmValueConsumer).getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
this instanceof DirectAlgorithmValueConsumer and getterCall = this
}
override Crypto::TBlockCipherModeOfOperationType getModeType() {
knownOpenSslConstantToBlockModeFamilyType(this, result)
knownOpenSSLConstantToBlockModeFamilyType(this, result)
or
not knownOpenSslConstantToBlockModeFamilyType(this, _) and result = Crypto::OtherMode()
not knownOpenSSLConstantToBlockModeFamilyType(this, _) and result = Crypto::OtherMode()
}
// NOTE: I'm not going to attempt to parse out the mode specific part, so returning
@@ -78,5 +77,5 @@ class KnownOpenSslBlockModeConstantAlgorithmInstance extends OpenSslAlgorithmIns
result = this.(Call).getTarget().getName()
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall }
}

View File

@@ -10,14 +10,14 @@ private import AlgToAVCFlow
private import BlockAlgorithmInstance
/**
* Given a `KnownOpenSslCipherAlgorithmExpr`, converts this to a cipher family type.
* Given a `KnownOpenSSLCipherAlgorithmConstant`, converts this to a cipher family type.
* Does not bind if there is no mapping (no mapping to 'unknown' or 'other').
*/
predicate knownOpenSslConstantToCipherFamilyType(
KnownOpenSslCipherAlgorithmExpr e, Crypto::KeyOpAlg::TAlgorithm type
predicate knownOpenSSLConstantToCipherFamilyType(
KnownOpenSSLCipherAlgorithmConstant e, Crypto::KeyOpAlg::TAlgorithm type
) {
exists(string name |
name = e.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = e.getNormalizedName() and
(
name.matches("AES%") and type = KeyOpAlg::TSymmetricCipher(KeyOpAlg::AES())
or
@@ -64,29 +64,28 @@ predicate knownOpenSslConstantToCipherFamilyType(
)
}
class KnownOpenSslCipherConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::KeyOperationAlgorithmInstance instanceof KnownOpenSslCipherAlgorithmExpr
class KnownOpenSSLCipherConstantAlgorithmInstance extends OpenSSLAlgorithmInstance,
Crypto::KeyOperationAlgorithmInstance instanceof KnownOpenSSLCipherAlgorithmConstant
{
OpenSslAlgorithmValueConsumer getterCall;
OpenSSLAlgorithmValueConsumer getterCall;
KnownOpenSslCipherConstantAlgorithmInstance() {
KnownOpenSSLCipherConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// 2) The source is a KnownOpenSSLAlgorithm is call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
this instanceof Literal and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
sink = getterCall.(OpenSSLAlgorithmValueConsumer).getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
this instanceof DirectAlgorithmValueConsumer and getterCall = this
}
override Crypto::ModeOfOperationAlgorithmInstance getModeOfOperationAlgorithm() {
@@ -110,17 +109,17 @@ class KnownOpenSslCipherConstantAlgorithmInstance extends OpenSslAlgorithmInstan
}
override int getKeySizeFixed() {
this.(KnownOpenSslCipherAlgorithmExpr).getExplicitKeySize() = result
this.(KnownOpenSSLCipherAlgorithmConstant).getExplicitKeySize() = result
}
override Crypto::KeyOpAlg::Algorithm getAlgorithmType() {
knownOpenSslConstantToCipherFamilyType(this, result)
knownOpenSSLConstantToCipherFamilyType(this, result)
or
not knownOpenSslConstantToCipherFamilyType(this, _) and
not knownOpenSSLConstantToCipherFamilyType(this, _) and
result = Crypto::KeyOpAlg::TUnknownKeyOperationAlgorithmType()
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall }
override Crypto::ConsumerInputDataFlowNode getKeySizeConsumer() {
// TODO: trace to any key size initializer, symmetric and asymmetric

View File

@@ -6,32 +6,31 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.DirectAlgorithmValueConsumer
private import AlgToAVCFlow
class KnownOpenSslEllipticCurveConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::EllipticCurveInstance instanceof KnownOpenSslEllipticCurveAlgorithmExpr
class KnownOpenSSLEllipticCurveConstantAlgorithmInstance extends OpenSSLAlgorithmInstance,
Crypto::EllipticCurveInstance instanceof KnownOpenSSLEllipticCurveAlgorithmConstant
{
OpenSslAlgorithmValueConsumer getterCall;
OpenSSLAlgorithmValueConsumer getterCall;
KnownOpenSslEllipticCurveConstantAlgorithmInstance() {
KnownOpenSSLEllipticCurveConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// 2) The source is a KnownOpenSSLAlgorithm is call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
this instanceof Literal and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
this instanceof DirectAlgorithmValueConsumer and getterCall = this
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall }
override string getRawEllipticCurveName() {
result = this.(Literal).getValue().toString()
@@ -44,11 +43,11 @@ class KnownOpenSslEllipticCurveConstantAlgorithmInstance extends OpenSslAlgorith
}
override string getParsedEllipticCurveName() {
result = this.(KnownOpenSslAlgorithmExpr).getNormalizedName()
result = this.(KnownOpenSSLEllipticCurveAlgorithmConstant).getNormalizedName()
}
override int getKeySize() {
Crypto::ellipticCurveNameToKeySizeAndFamilyMapping(this.(KnownOpenSslAlgorithmExpr)
Crypto::ellipticCurveNameToKeySizeAndFamilyMapping(this.(KnownOpenSSLEllipticCurveAlgorithmConstant)
.getNormalizedName(), result, _)
}
}

View File

@@ -5,11 +5,11 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase
private import AlgToAVCFlow
predicate knownOpenSslConstantToHashFamilyType(
KnownOpenSslHashAlgorithmExpr e, Crypto::THashType type
predicate knownOpenSSLConstantToHashFamilyType(
KnownOpenSSLHashAlgorithmConstant e, Crypto::THashType type
) {
exists(string name |
name = e.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = e.getNormalizedName() and
(
name.matches("BLAKE2B") and type instanceof Crypto::BLAKE2B
or
@@ -29,7 +29,7 @@ predicate knownOpenSslConstantToHashFamilyType(
or
name.matches(["SHA", "SHA1"]) and type instanceof Crypto::SHA1
or
name.matches("SHA_%") and not name.matches(["SHA1", "SHA3-"]) and type instanceof Crypto::SHA2
name.matches("SHA+%") and not name.matches(["SHA1", "SHA3-"]) and type instanceof Crypto::SHA2
or
name.matches("SHA3-%") and type instanceof Crypto::SHA3
or
@@ -44,37 +44,36 @@ predicate knownOpenSslConstantToHashFamilyType(
)
}
class KnownOpenSslHashConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::HashAlgorithmInstance instanceof KnownOpenSslHashAlgorithmExpr
class KnownOpenSSLHashConstantAlgorithmInstance extends OpenSSLAlgorithmInstance,
Crypto::HashAlgorithmInstance instanceof KnownOpenSSLHashAlgorithmConstant
{
OpenSslAlgorithmValueConsumer getterCall;
OpenSSLAlgorithmValueConsumer getterCall;
KnownOpenSslHashConstantAlgorithmInstance() {
KnownOpenSSLHashConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// 2) The source is a KnownOpenSSLAlgorithm is call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
this instanceof Literal and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
sink = getterCall.(OpenSSLAlgorithmValueConsumer).getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
this instanceof DirectAlgorithmValueConsumer and getterCall = this
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall }
override Crypto::THashType getHashFamily() {
knownOpenSslConstantToHashFamilyType(this, result)
knownOpenSSLConstantToHashFamilyType(this, result)
or
not knownOpenSslConstantToHashFamilyType(this, _) and result = Crypto::OtherHashType()
not knownOpenSSLConstantToHashFamilyType(this, _) and result = Crypto::OtherHashType()
}
override string getRawHashAlgorithmName() {
@@ -84,6 +83,6 @@ class KnownOpenSslHashConstantAlgorithmInstance extends OpenSslAlgorithmInstance
}
override int getFixedDigestLength() {
this.(KnownOpenSslHashAlgorithmExpr).getExplicitDigestLength() = result
this.(KnownOpenSSLHashAlgorithmConstant).getExplicitDigestLength() = result
}
}

View File

@@ -5,11 +5,11 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase
private import AlgToAVCFlow
predicate knownOpenSslConstantToKeyAgreementFamilyType(
KnownOpenSslKeyAgreementAlgorithmExpr e, Crypto::TKeyAgreementType type
predicate knownOpenSSLConstantToKeyAgreementFamilyType(
KnownOpenSSLKeyAgreementAlgorithmConstant e, Crypto::TKeyAgreementType type
) {
exists(string name |
name = e.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = e.getNormalizedName() and
(
name = "ECDH" and type = Crypto::ECDH()
or
@@ -22,37 +22,36 @@ predicate knownOpenSslConstantToKeyAgreementFamilyType(
)
}
class KnownOpenSslKeyAgreementConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::KeyAgreementAlgorithmInstance instanceof KnownOpenSslKeyAgreementAlgorithmExpr
class KnownOpenSSLHashConstantAlgorithmInstance extends OpenSSLAlgorithmInstance,
Crypto::KeyAgreementAlgorithmInstance instanceof KnownOpenSSLKeyAgreementAlgorithmConstant
{
OpenSslAlgorithmValueConsumer getterCall;
OpenSSLAlgorithmValueConsumer getterCall;
KnownOpenSslKeyAgreementConstantAlgorithmInstance() {
KnownOpenSSLHashConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// 2) The source is a KnownOpenSSLAlgorithm is call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
this instanceof Literal and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
this instanceof DirectAlgorithmValueConsumer and getterCall = this
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall }
override Crypto::TKeyAgreementType getKeyAgreementType() {
knownOpenSslConstantToKeyAgreementFamilyType(this, result)
knownOpenSSLConstantToKeyAgreementFamilyType(this, result)
or
not knownOpenSslConstantToKeyAgreementFamilyType(this, _) and
not knownOpenSSLConstantToKeyAgreementFamilyType(this, _) and
result = Crypto::OtherKeyAgreementType()
}

View File

@@ -1,116 +1,39 @@
import cpp
import experimental.quantum.OpenSSL.GenericSourceCandidateLiteral
predicate resolveAlgorithmFromExpr(
KnownOpenSslAlgorithmExpr e, string normalizedName, string algType
) {
normalizedName = e.getNormalizedName() and
algType = e.getAlgType()
predicate resolveAlgorithmFromExpr(Expr e, string normalizedName, string algType) {
resolveAlgorithmFromCall(e, normalizedName, algType)
or
resolveAlgorithmFromLiteral(e, normalizedName, algType)
}
/**
* An expression that resolves to a known OpenSsl algorithm constant.
* This can be a literal, a call to a known OpenSsl algorithm constant getter,
* or a call to an operation that directly operates on a known algorithm.
*/
abstract class KnownOpenSslAlgorithmExpr extends Expr {
abstract string getNormalizedName();
class KnownOpenSSLAlgorithmConstant extends Expr {
KnownOpenSSLAlgorithmConstant() { resolveAlgorithmFromExpr(this, _, _) }
abstract string getAlgType();
string getNormalizedName() { resolveAlgorithmFromExpr(this, result, _) }
string getAlgType() { resolveAlgorithmFromExpr(this, _, result) }
}
class OpenSslAlgorithmLiteral extends KnownOpenSslAlgorithmExpr instanceof Literal {
string normalizedName;
class KnownOpenSSLCipherAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
string algType;
OpenSslAlgorithmLiteral() { resolveAlgorithmFromLiteral(this, normalizedName, algType) }
override string getNormalizedName() { result = normalizedName }
override string getAlgType() { result = algType }
}
/**
* A call to either an OpenSsl algorithm constant 'getter', e.g., EVP_MD5()
* or call to an operation that directly operates on a known algorithm, e.g., AES_encrypt
*/
abstract class OpenSslAlgorithmCall extends KnownOpenSslAlgorithmExpr instanceof Call { }
/**
* A call to a 'direct algorithm getter', e.g., EVP_MD5()
* This approach to fetching algorithms was used in OpenSsl 1.0.2.
* The strategy for resolving these calls is to parse the target name
* and resolve the name as though it were a known literal.
* There are a few exceptions where the name doesn't directly match the
* known literal set. If that occurs, users must add the name to the
* set of aliases. E.g., EVP_dss() and EVP_dss1() needed such mappings
* alias = "dss" and target = "dsa"
* or
* alias = "dss1" and target = "dsaWithSHA1"
*/
class OpenSslDirectAlgorithmFetchCall extends OpenSslAlgorithmCall {
string normalizedName;
string algType;
OpenSslDirectAlgorithmFetchCall() {
//ASSUMPTION: these cases will have operands for the call
not exists(this.(Call).getAnArgument()) and
exists(string name, string parsedTargetName |
parsedTargetName =
this.(Call).getTarget().getName().replaceAll("EVP_", "").toLowerCase().replaceAll("_", "-") and
name = resolveAlgorithmAlias(parsedTargetName) and
knownOpenSslAlgorithmLiteral(name, _, normalizedName, algType)
)
}
override string getNormalizedName() { result = normalizedName }
override string getAlgType() { result = algType }
}
/**
* A call to an OpenSsl operation that directly operates on a known algorithm.
* An algorithm construct is not generated for these calls, rather, the operation
* is directly performed, and the algorithm is inferred by the operation itself.
*/
class OpenSslDirectAlgorithmOperationCall extends OpenSslAlgorithmCall {
string normalizedName;
string algType;
OpenSslDirectAlgorithmOperationCall() {
//TODO: this set will have to be exhaustive, and for each operation
//further modeling will be necessary for each case to map the APIs operands
//ASSUMPTION: these cases must have operands for the call
exists(this.(Call).getAnArgument()) and
//TODO: Each case would be enumerated here. Will likely need an exhaustive mapping much like
// for known constants.
knownOpenSslAlgorithmOperationCall(this, normalizedName, algType)
}
override string getNormalizedName() { result = normalizedName }
override string getAlgType() { result = algType }
}
class KnownOpenSslCipherAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
string algType;
KnownOpenSslCipherAlgorithmExpr() {
algType = this.(KnownOpenSslAlgorithmExpr).getAlgType() and
KnownOpenSSLCipherAlgorithmConstant() {
resolveAlgorithmFromExpr(this, _, algType) and
algType.matches("%ENCRYPTION")
}
int getExplicitKeySize() {
exists(string name |
name = this.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = this.getNormalizedName() and
resolveAlgorithmFromExpr(this, name, algType) and
result = name.regexpCapture(".*-(\\d*)", 1).toInt()
)
}
}
class KnownOpenSslPaddingAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslPaddingAlgorithmExpr() {
class KnownOpenSSLPaddingAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
KnownOpenSSLPaddingAlgorithmConstant() {
exists(string algType |
resolveAlgorithmFromExpr(this, _, algType) and
algType.matches("%PADDING")
@@ -118,62 +41,55 @@ class KnownOpenSslPaddingAlgorithmExpr extends Expr instanceof KnownOpenSslAlgor
}
}
class KnownOpenSslBlockModeAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslBlockModeAlgorithmExpr() { resolveAlgorithmFromExpr(this, _, "BLOCK_MODE") }
class KnownOpenSSLBlockModeAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
KnownOpenSSLBlockModeAlgorithmConstant() { resolveAlgorithmFromExpr(this, _, "BLOCK_MODE") }
}
class KnownOpenSslHashAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslHashAlgorithmExpr() { resolveAlgorithmFromExpr(this, _, "HASH") }
class KnownOpenSSLHashAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
KnownOpenSSLHashAlgorithmConstant() { resolveAlgorithmFromExpr(this, _, "HASH") }
int getExplicitDigestLength() {
exists(string name |
name = this.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = this.getNormalizedName() and
resolveAlgorithmFromExpr(this, name, "HASH") and
result = name.regexpCapture(".*-(\\d*)$", 1).toInt()
)
}
}
class KnownOpenSslMacAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslMacAlgorithmExpr() { resolveAlgorithmFromExpr(this, _, "MAC") }
class KnownOpenSSLEllipticCurveAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
KnownOpenSSLEllipticCurveAlgorithmConstant() {
resolveAlgorithmFromExpr(this, _, "ELLIPTIC_CURVE")
}
}
class KnownOpenSslHMacAlgorithmExpr extends Expr instanceof KnownOpenSslMacAlgorithmExpr {
KnownOpenSslHMacAlgorithmExpr() { resolveAlgorithmFromExpr(this, "HMAC", "MAC") }
/**
* Gets an explicit cipher algorithm for this MAC algorithm.
* This occurs when the MAC specifies the algorithm at the same time "HMAC-SHA-256"
*/
KnownOpenSslHashAlgorithmExpr getExplicitHashAlgorithm() { result = this }
class KnownOpenSSLSignatureAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
KnownOpenSSLSignatureAlgorithmConstant() { resolveAlgorithmFromExpr(this, _, "SIGNATURE") }
}
class KnownOpenSslCMacAlgorithmExpr extends Expr instanceof KnownOpenSslMacAlgorithmExpr {
KnownOpenSslCMacAlgorithmExpr() { resolveAlgorithmFromExpr(this, "CMAC", "MAC") }
/**
* Gets an explicit cipher algorithm for this MAC algorithm.
* This occurs when the MAC specifies the algorithm at the same time "HMAC-SHA-256"
*/
KnownOpenSslCipherAlgorithmExpr getExplicitCipherAlgorithm() { result = this }
class KnownOpenSSLKeyAgreementAlgorithmConstant extends KnownOpenSSLAlgorithmConstant {
KnownOpenSSLKeyAgreementAlgorithmConstant() { resolveAlgorithmFromExpr(this, _, "KEY_AGREEMENT") }
}
class KnownOpenSslEllipticCurveAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslEllipticCurveAlgorithmExpr() { resolveAlgorithmFromExpr(this, _, "ELLIPTIC_CURVE") }
}
class KnownOpenSslSignatureAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslSignatureAlgorithmExpr() { resolveAlgorithmFromExpr(this, _, "SIGNATURE") }
}
class KnownOpenSslKeyAgreementAlgorithmExpr extends Expr instanceof KnownOpenSslAlgorithmExpr {
KnownOpenSslKeyAgreementAlgorithmExpr() { resolveAlgorithmFromExpr(this, _, "KEY_AGREEMENT") }
}
predicate knownOpenSslAlgorithmOperationCall(Call c, string normalized, string algType) {
c.getTarget().getName() in ["EVP_RSA_gen", "RSA_generate_key_ex", "RSA_generate_key", "RSA_new"] and
normalized = "RSA" and
algType = "ASYMMETRIC_ENCRYPTION"
/**
* Resolves a call to a 'direct algorithm getter', e.g., EVP_MD5()
* This approach to fetching algorithms was used in OpenSSL 1.0.2.
* The strategy for resolving these calls is to parse the target name
* and resolve the name as though it were a known literal.
* There are a few exceptions where the name doesn't directly match the
* known literal set. If that occurs, users must add the name to the
* set of aliases. E.g., EVP_dss() and EVP_dss1() needed such mappings
* alias = "dss" and target = "dsa"
* or
* alias = "dss1" and target = "dsaWithSHA1"
*/
predicate resolveAlgorithmFromCall(Call c, string normalized, string algType) {
exists(string name, string parsedTargetName |
parsedTargetName =
c.getTarget().getName().replaceAll("EVP_", "").toLowerCase().replaceAll("_", "-") and
name = resolveAlgorithmAlias(parsedTargetName) and
knownOpenSSLAlgorithmLiteral(name, _, normalized, algType)
)
}
/**
@@ -182,13 +98,13 @@ predicate knownOpenSslAlgorithmOperationCall(Call c, string normalized, string a
* If this predicate does not hold, then `e` can be interpreted as being of `UNKNOWN` type.
*/
predicate resolveAlgorithmFromLiteral(
OpenSslGenericSourceCandidateLiteral e, string normalized, string algType
OpenSSLGenericSourceCandidateLiteral e, string normalized, string algType
) {
knownOpenSslAlgorithmLiteral(_, e.getValue().toInt(), normalized, algType)
knownOpenSSLAlgorithmLiteral(_, e.getValue().toInt(), normalized, algType)
or
exists(string name |
name = resolveAlgorithmAlias(e.getValue()) and
knownOpenSslAlgorithmLiteral(name, _, normalized, algType)
knownOpenSSLAlgorithmLiteral(name, _, normalized, algType)
)
}
@@ -199,7 +115,7 @@ string resolveAlgorithmAlias(string name) {
result = getAlgorithmAlias(lower)
or
// or the name is itself a known algorithm
knownOpenSslAlgorithmLiteral(lower, _, _, _) and result = lower
knownOpenSSLAlgorithmLiteral(lower, _, _, _) and result = lower
)
}
@@ -222,9 +138,9 @@ predicate customAliases(string target, string alias) {
}
/**
* A hard-coded mapping of known algorithm aliases in OpenSsl.
* A hard-coded mapping of known algorithm aliases in OpenSSL.
* This was derived by applying the same kind of logic foun din `customAliases` to the
* OpenSsl code base directly.
* OpenSSL code base directly.
*
* The `target` and `alias` are converted to lowercase to be of a standard form.
*/
@@ -331,7 +247,7 @@ predicate defaultAliases(string target, string alias) {
* `normalized` is the normalized name of the algorithm (e.g., "AES128" for "aes-128-cbc")
* `algType` is the type of algorithm (e.g., "SYMMETRIC_ENCRYPTION")
*/
predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized, string algType) {
predicate knownOpenSSLAlgorithmLiteral(string name, int nid, string normalized, string algType) {
name = "dhKeyAgreement" and nid = 28 and normalized = "DH" and algType = "KEY_AGREEMENT"
or
name = "x9.42 dh" and nid = 29 and normalized = "DH" and algType = "KEY_AGREEMENT"
@@ -970,8 +886,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "id-alg-dh-sig-hmac-sha1" and nid = 325 and normalized = "DH" and algType = "KEY_AGREEMENT"
or
name = "id-alg-dh-sig-hmac-sha1" and nid = 325 and normalized = "HMAC" and algType = "MAC"
or
name = "aes-128-ofb" and nid = 420 and normalized = "AES-128" and algType = "SYMMETRIC_ENCRYPTION"
or
name = "aes-128-ofb" and nid = 420 and normalized = "OFB" and algType = "BLOCK_MODE"
@@ -1150,12 +1064,8 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "hmac-md5" and nid = 780 and normalized = "MD5" and algType = "HASH"
or
name = "hmac-md5" and nid = 780 and normalized = "HMAC" and algType = "HASH"
or
name = "hmac-sha1" and nid = 781 and normalized = "SHA1" and algType = "HASH"
or
name = "hmac-sha1" and nid = 781 and normalized = "HMAC" and algType = "MAC"
or
name = "md_gost94" and nid = 809 and normalized = "GOST94" and algType = "HASH"
or
name = "gost94" and nid = 812 and normalized = "GOST94" and algType = "HASH"
@@ -1230,14 +1140,10 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "rc4-hmac-md5" and nid = 915 and normalized = "MD5" and algType = "HASH"
or
name = "rc4-hmac-md5" and nid = 915 and normalized = "HMAC" and algType = "MAC"
or
name = "rc4-hmac-md5" and nid = 915 and normalized = "RC4" and algType = "SYMMETRIC_ENCRYPTION"
or
name = "aes-128-cbc-hmac-sha1" and nid = 916 and normalized = "SHA1" and algType = "HASH"
or
name = "aes-128-cbc-hmac-sha1" and nid = 916 and normalized = "HMAC" and algType = "MAC"
or
name = "aes-128-cbc-hmac-sha1" and
nid = 916 and
normalized = "AES-128" and
@@ -1247,8 +1153,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "aes-192-cbc-hmac-sha1" and nid = 917 and normalized = "SHA1" and algType = "HASH"
or
name = "aes-192-cbc-hmac-sha1" and nid = 917 and normalized = "HMAC" and algType = "MAC"
or
name = "aes-192-cbc-hmac-sha1" and
nid = 917 and
normalized = "AES-192" and
@@ -1263,8 +1167,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "aes-256-cbc-hmac-sha1" and nid = 918 and normalized = "CBC" and algType = "BLOCK_MODE"
or
name = "aes-256-cbc-hmac-sha1" and nid = 918 and normalized = "HMAC" and algType = "MAC"
or
name = "aes-128-cbc-hmac-sha256" and nid = 948 and normalized = "SHA-256" and algType = "HASH"
or
name = "aes-128-cbc-hmac-sha256" and
@@ -1276,8 +1178,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "aes-192-cbc-hmac-sha256" and nid = 949 and normalized = "SHA-256" and algType = "HASH"
or
name = "aes-192-cbc-hmac-sha256" and nid = 949 and normalized = "HMAC" and algType = "MAC"
or
name = "aes-192-cbc-hmac-sha256" and
nid = 949 and
normalized = "AES-192" and
@@ -1287,8 +1187,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "aes-256-cbc-hmac-sha256" and nid = 950 and normalized = "SHA-256" and algType = "HASH"
or
name = "aes-256-cbc-hmac-sha256" and nid = 950 and normalized = "HMAC" and algType = "MAC"
or
name = "aes-256-cbc-hmac-sha256" and
nid = 950 and
normalized = "AES-256" and
@@ -1328,11 +1226,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
normalized = "CAMELLIA-128" and
algType = "SYMMETRIC_ENCRYPTION"
or
name = "camellia-128-cmac" and
nid = 964 and
normalized = "CMAC" and
algType = "MAC"
or
name = "camellia-192-gcm" and
nid = 965 and
normalized = "CAMELLIA-192" and
@@ -1385,11 +1278,6 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
normalized = "CAMELLIA-256" and
algType = "SYMMETRIC_ENCRYPTION"
or
name = "camellia-256-cmac" and
nid = 972 and
normalized = "CMAC" and
algType = "MAC"
or
name = "id-scrypt" and nid = 973 and normalized = "SCRYPT" and algType = "KEY_DERIVATION"
or
name = "gost89-cnt-12" and
@@ -1403,13 +1291,11 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "md_gost12_512" and nid = 983 and normalized = "GOST" and algType = "HASH"
or
// TODO: re-evaluate: this is a signing algorithm using hashing and curves
name = "id-tc26-signwithdigest-gost3410-2012-256" and
nid = 985 and
normalized = "GOST34102012" and
algType = "SYMMETRIC_ENCRYPTION"
or
// TODO: re-evaluate: this is a signing algorithm using hashing and curves
name = "id-tc26-signwithdigest-gost3410-2012-512" and
nid = 986 and
normalized = "GOST34102012" and
@@ -1418,42 +1304,22 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
name = "id-tc26-hmac-gost-3411-2012-256" and
nid = 988 and
normalized = "GOST34112012" and
algType = "HASH"
or
name = "id-tc26-hmac-gost-3411-2012-256" and
nid = 988 and
normalized = "HMAC" and
algType = "MAC"
algType = "SYMMETRIC_ENCRYPTION"
or
name = "id-tc26-hmac-gost-3411-2012-512" and
nid = 989 and
normalized = "GOST34112012" and
algType = "HASH"
or
name = "id-tc26-hmac-gost-3411-2012-512" and
nid = 989 and
normalized = "HMAC" and
algType = "MAC"
algType = "SYMMETRIC_ENCRYPTION"
or
name = "id-tc26-agreement-gost-3410-2012-256" and
nid = 992 and
normalized = "GOST34102012" and
algType = "ELLIPTIC_CURVE"
or
name = "id-tc26-agreement-gost-3410-2012-256" and
nid = 992 and
normalized = "GOST34102012" and
algType = "KEY_AGREEMENT"
algType = "SYMMETRIC_ENCRYPTION"
or
name = "id-tc26-agreement-gost-3410-2012-512" and
nid = 993 and
normalized = "GOST34102012" and
algType = "ELLIPTIC_CURVE"
or
name = "id-tc26-agreement-gost-3410-2012-512" and
nid = 993 and
normalized = "GOST34102012" and
algType = "KEY_AGREEMENT"
algType = "SYMMETRIC_ENCRYPTION"
or
name = "id-tc26-gost-3410-2012-512-constants" and
nid = 996 and
@@ -1541,20 +1407,12 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "hmac-sha3-224" and nid = 1102 and normalized = "SHA3-224" and algType = "HASH"
or
name = "hmac-sha3-224" and nid = 1102 and normalized = "HMAC" and algType = "MAC"
or
name = "hmac-sha3-256" and nid = 1103 and normalized = "SHA3-256" and algType = "HASH"
or
name = "hmac-sha3-256" and nid = 1103 and normalized = "HMAC" and algType = "MAC"
or
name = "hmac-sha3-384" and nid = 1104 and normalized = "SHA3-384" and algType = "HASH"
or
name = "hmac-sha3-384" and nid = 1104 and normalized = "HMAC" and algType = "MAC"
or
name = "hmac-sha3-512" and nid = 1105 and normalized = "SHA3-512" and algType = "HASH"
or
name = "hmac-sha3-512" and nid = 1105 and normalized = "HMAC" and algType = "MAC"
or
name = "id-dsa-with-sha384" and nid = 1106 and normalized = "DSA" and algType = "SIGNATURE"
or
name = "id-dsa-with-sha384" and nid = 1106 and normalized = "SHA-384" and algType = "HASH"
@@ -2322,67 +2180,34 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
normalized = "GOST" and
algType = "SYMMETRIC_ENCRYPTION"
or
name = "hmac gost 34.11-2012 256 bit" and
nid = 988 and
normalized = "HMAC" and
algType = "MAC"
or
name = "hmac gost 34.11-2012 512 bit" and
nid = 989 and
normalized = "GOST" and
algType = "SYMMETRIC_ENCRYPTION"
or
name = "hmac gost 34.11-2012 512 bit" and
nid = 989 and
normalized = "HMAC" and
algType = "MAC"
or
name = "hmac gost 34.11-94" and
nid = 810 and
normalized = "GOST" and
algType = "SYMMETRIC_ENCRYPTION"
or
name = "hmac gost 34.11-94" and
nid = 810 and
normalized = "HMAC" and
algType = "MAC"
or
name = "hmacwithmd5" and nid = 797 and normalized = "MD5" and algType = "HASH"
or
name = "hmacwithmd5" and nid = 797 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha1" and nid = 163 and normalized = "SHA1" and algType = "HASH"
or
name = "hmacwithsha1" and nid = 163 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha224" and nid = 798 and normalized = "SHA-224" and algType = "HASH"
or
name = "hmacwithsha224" and nid = 798 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha256" and nid = 799 and normalized = "SHA-256" and algType = "HASH"
or
name = "hmacwithsha256" and nid = 799 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha384" and nid = 800 and normalized = "SHA-384" and algType = "HASH"
or
name = "hmacwithsha384" and nid = 800 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha512" and nid = 801 and normalized = "SHA-512" and algType = "HASH"
or
name = "hmacwithsha512" and nid = 801 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha512-224" and nid = 1193 and normalized = "SHA-512-224" and algType = "HASH"
or
name = "hmacwithsha512-224" and nid = 1193 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsha512-256" and nid = 1194 and normalized = "SHA-512-256" and algType = "HASH"
or
name = "hmacwithsha512-256" and nid = 1194 and normalized = "HMAC" and algType = "MAC"
or
name = "hmacwithsm3" and nid = 1281 and normalized = "SM3" and algType = "HASH"
or
name = "hmacwithsm3" and nid = 1281 and normalized = "HMAC" and algType = "MAC"
or
name = "id-aes128-ccm" and
nid = 896 and
normalized = "AES-128" and
@@ -2632,20 +2457,12 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
or
name = "id-hmacwithsha3-224" and nid = 1102 and normalized = "SHA3-224" and algType = "HASH"
or
name = "id-hmacwithsha3-224" and nid = 1102 and normalized = "HMAC" and algType = "MAC"
or
name = "id-hmacwithsha3-256" and nid = 1103 and normalized = "SHA3-256" and algType = "HASH"
or
name = "id-hmacwithsha3-256" and nid = 1103 and normalized = "HMAC" and algType = "MAC"
or
name = "id-hmacwithsha3-384" and nid = 1104 and normalized = "SHA3-384" and algType = "HASH"
or
name = "id-hmacwithsha3-384" and nid = 1104 and normalized = "HMAC" and algType = "MAC"
or
name = "id-hmacwithsha3-512" and nid = 1105 and normalized = "SHA3-512" and algType = "HASH"
or
name = "id-hmacwithsha3-512" and nid = 1105 and normalized = "HMAC" and algType = "MAC"
or
name = "id-regctrl" and nid = 313 and normalized = "CTR" and algType = "BLOCK_MODE"
or
name = "id-smime-alg-3deswrap" and
@@ -3001,93 +2818,93 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
name = "ripemd160withrsa" and
nid = 119 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "ripemd160withrsa" and nid = 119 and normalized = "RIPEMD160" and algType = "HASH"
or
name = "rsa-md2" and nid = 7 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-md2" and nid = 7 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-md2" and nid = 7 and normalized = "MD2" and algType = "HASH"
or
name = "rsa-md4" and nid = 396 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-md4" and nid = 396 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-md4" and nid = 396 and normalized = "MD4" and algType = "HASH"
or
name = "rsa-md5" and nid = 8 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-md5" and nid = 8 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-md5" and nid = 8 and normalized = "MD5" and algType = "HASH"
or
name = "rsa-mdc2" and nid = 96 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-mdc2" and nid = 96 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-mdc2" and nid = 96 and normalized = "MDC2" and algType = "HASH"
or
name = "rsa-np-md5" and nid = 104 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-np-md5" and nid = 104 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-np-md5" and nid = 104 and normalized = "MD5" and algType = "HASH"
or
name = "rsa-ripemd160" and nid = 119 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-ripemd160" and nid = 119 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-ripemd160" and nid = 119 and normalized = "RIPEMD160" and algType = "HASH"
or
name = "rsa-sha" and nid = 42 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha" and nid = 42 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha" and nid = 42 and normalized = "SHA" and algType = "HASH"
or
name = "rsa-sha1" and nid = 65 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha1" and nid = 65 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha1" and nid = 65 and normalized = "SHA1" and algType = "HASH"
or
name = "rsa-sha1-2" and nid = 115 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha1-2" and nid = 115 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha1-2" and nid = 115 and normalized = "SHA1" and algType = "HASH"
or
name = "rsa-sha224" and nid = 671 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha224" and nid = 671 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha224" and nid = 671 and normalized = "SHA-224" and algType = "HASH"
or
name = "rsa-sha256" and nid = 668 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha256" and nid = 668 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha256" and nid = 668 and normalized = "SHA-256" and algType = "HASH"
or
name = "rsa-sha3-224" and nid = 1116 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha3-224" and nid = 1116 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha3-224" and nid = 1116 and normalized = "SHA3-224" and algType = "HASH"
or
name = "rsa-sha3-256" and nid = 1117 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha3-256" and nid = 1117 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha3-256" and nid = 1117 and normalized = "SHA3-256" and algType = "HASH"
or
name = "rsa-sha3-384" and nid = 1118 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha3-384" and nid = 1118 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha3-384" and nid = 1118 and normalized = "SHA3-384" and algType = "HASH"
or
name = "rsa-sha3-512" and nid = 1119 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha3-512" and nid = 1119 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha3-512" and nid = 1119 and normalized = "SHA3-512" and algType = "HASH"
or
name = "rsa-sha384" and nid = 669 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha384" and nid = 669 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha384" and nid = 669 and normalized = "SHA-384" and algType = "HASH"
or
name = "rsa-sha512" and nid = 670 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sha512" and nid = 670 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha512" and nid = 670 and normalized = "SHA-512" and algType = "HASH"
or
name = "rsa-sha512/224" and
nid = 1145 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha512/224" and nid = 1145 and normalized = "SHA-512-224" and algType = "HASH"
or
name = "rsa-sha512/256" and
nid = 1146 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sha512/256" and nid = 1146 and normalized = "SHA-512-256" and algType = "HASH"
or
name = "rsa-sm3" and nid = 1144 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsa-sm3" and nid = 1144 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsa-sm3" and nid = 1144 and normalized = "SM3" and algType = "HASH"
or
@@ -3111,52 +2928,52 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
normalized = "OAEP" and
algType = "ASYMMETRIC_PADDING"
or
name = "rsasignature" and nid = 377 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsasignature" and nid = 377 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsassa-pss" and nid = 912 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsassa-pss" and nid = 912 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsassa-pss" and nid = 912 and normalized = "PSS" and algType = "ASYMMETRIC_PADDING"
or
name = "rsassapss" and nid = 912 and normalized = "RSA" and algType = "SIGNATURE"
name = "rsassapss" and nid = 912 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "rsassapss" and nid = 912 and normalized = "PSS" and algType = "SIGNATURE"
name = "rsassapss" and nid = 912 and normalized = "PSS" and algType = "ASYMMETRIC_PADDING"
or
name = "sha1withrsa" and nid = 115 and normalized = "RSA" and algType = "SIGNATURE"
name = "sha1withrsa" and nid = 115 and normalized = "RSA" and algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha1withrsa" and nid = 115 and normalized = "SHA1" and algType = "HASH"
or
name = "sha1withrsaencryption" and
nid = 65 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha1withrsaencryption" and nid = 65 and normalized = "SHA1" and algType = "HASH"
or
name = "sha224withrsaencryption" and
nid = 671 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha224withrsaencryption" and nid = 671 and normalized = "SHA-224" and algType = "HASH"
or
name = "sha256withrsaencryption" and
nid = 668 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha256withrsaencryption" and nid = 668 and normalized = "SHA-256" and algType = "HASH"
or
name = "sha384withrsaencryption" and
nid = 669 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha384withrsaencryption" and nid = 669 and normalized = "SHA-384" and algType = "HASH"
or
name = "sha512-224withrsaencryption" and
nid = 1145 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha512-224withrsaencryption" and
nid = 1145 and
@@ -3166,7 +2983,7 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
name = "sha512-256withrsaencryption" and
nid = 1146 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha512-256withrsaencryption" and
nid = 1146 and
@@ -3176,14 +2993,14 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
name = "sha512withrsaencryption" and
nid = 670 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sha512withrsaencryption" and nid = 670 and normalized = "SHA-512" and algType = "HASH"
or
name = "shawithrsaencryption" and
nid = 42 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "shawithrsaencryption" and nid = 42 and normalized = "SHA" and algType = "HASH"
or
@@ -3200,11 +3017,7 @@ predicate knownOpenSslAlgorithmLiteral(string name, int nid, string normalized,
name = "sm3withrsaencryption" and
nid = 1144 and
normalized = "RSA" and
algType = "SIGNATURE"
algType = "ASYMMETRIC_ENCRYPTION"
or
name = "sm3withrsaencryption" and nid = 1144 and normalized = "SM3" and algType = "HASH"
or
name = "hmac" and nid = 855 and normalized = "HMAC" and algType = "MAC"
or
name = "cmac" and nid = 894 and normalized = "CMAC" and algType = "MAC"
}

View File

@@ -1,66 +0,0 @@
import cpp
private import experimental.quantum.Language
private import KnownAlgorithmConstants
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase
private import experimental.quantum.OpenSSL.Operations.OpenSSLOperations
private import AlgToAVCFlow
class KnownOpenSslMacConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::MACAlgorithmInstance instanceof KnownOpenSslMacAlgorithmExpr
{
OpenSslAlgorithmValueConsumer getterCall;
KnownOpenSslMacConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override string getRawMacAlgorithmName() {
result = this.(Literal).getValue().toString()
or
result = this.(Call).getTarget().getName()
}
override Crypto::TMACType getMacType() {
this instanceof KnownOpenSslHMacAlgorithmExpr and result instanceof Crypto::THMAC
or
this instanceof KnownOpenSslCMacAlgorithmExpr and result instanceof Crypto::TCMAC
}
}
class KnownOpenSslHMacConstantAlgorithmInstance extends Crypto::HMACAlgorithmInstance,
KnownOpenSslMacConstantAlgorithmInstance
{
override Crypto::AlgorithmValueConsumer getHashAlgorithmValueConsumer() {
if exists(this.(KnownOpenSslHMacAlgorithmExpr).getExplicitHashAlgorithm())
then
// ASSUMPTION: if there is an explicit hash algorithm, it is already modeled
// and we can simply grab that model's AVC
exists(OpenSslAlgorithmInstance inst | inst.getAvc() = result and inst = this)
else
// ASSUMPTION: If no explicit algorithm is given, then it is assumed to be configured by
// a signature operation
exists(Crypto::SignatureOperationInstance s |
s.getHashAlgorithmValueConsumer() = result and
s.getAnAlgorithmValueConsumer() = this.getAvc()
)
}
}

View File

@@ -1,6 +1,6 @@
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
abstract class OpenSslAlgorithmInstance extends Crypto::AlgorithmInstance {
abstract OpenSslAlgorithmValueConsumer getAvc();
abstract class OpenSSLAlgorithmInstance extends Crypto::AlgorithmInstance {
abstract OpenSSLAlgorithmValueConsumer getAVC();
}

View File

@@ -4,5 +4,3 @@ import PaddingAlgorithmInstance
import BlockAlgorithmInstance
import HashAlgorithmInstance
import EllipticCurveAlgorithmInstance
import SignatureAlgorithmInstance
import MACAlgorithmInstance

View File

@@ -17,21 +17,21 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
* # define RSA_PKCS1_WITH_TLS_PADDING 7
* # define RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING 8
*/
class OpenSslPaddingLiteral extends Literal {
class OpenSSLPaddingLiteral extends Literal {
// TODO: we can be more specific about where the literal is in a larger expression
// to avoid literals that are clealy not representing an algorithm, e.g., array indices.
OpenSslPaddingLiteral() { this.getValue().toInt() in [0, 1, 3, 4, 5, 6, 7, 8] }
OpenSSLPaddingLiteral() { this.getValue().toInt() in [0, 1, 3, 4, 5, 6, 7, 8] }
}
/**
* Given a `KnownOpenSslPaddingAlgorithmExpr`, converts this to a padding family type.
* Given a `KnownOpenSSLPaddingAlgorithmConstant`, converts this to a padding family type.
* Does not bind if there is no mapping (no mapping to 'unknown' or 'other').
*/
predicate knownOpenSslConstantToPaddingFamilyType(
KnownOpenSslPaddingAlgorithmExpr e, Crypto::TPaddingType type
predicate knownOpenSSLConstantToPaddingFamilyType(
KnownOpenSSLPaddingAlgorithmConstant e, Crypto::TPaddingType type
) {
exists(string name |
name = e.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
name = e.getNormalizedName() and
(
name.matches("OAEP") and type = Crypto::OAEP()
or
@@ -44,44 +44,44 @@ predicate knownOpenSslConstantToPaddingFamilyType(
)
}
//abstract class OpenSslPaddingAlgorithmInstance extends OpenSslAlgorithmInstance, Crypto::PaddingAlgorithmInstance{}
//abstract class OpenSSLPaddingAlgorithmInstance extends OpenSSLAlgorithmInstance, Crypto::PaddingAlgorithmInstance{}
// TODO: need to alter this to include known padding constants which don't have the
// same mechanics as those with known nids
class KnownOpenSslPaddingConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
class KnownOpenSSLPaddingConstantAlgorithmInstance extends OpenSSLAlgorithmInstance,
Crypto::PaddingAlgorithmInstance instanceof Expr
{
OpenSslAlgorithmValueConsumer getterCall;
OpenSSLAlgorithmValueConsumer getterCall;
boolean isPaddingSpecificConsumer;
KnownOpenSslPaddingConstantAlgorithmInstance() {
KnownOpenSSLPaddingConstantAlgorithmInstance() {
// three possibilities:
// 1) The source is a 'typical' literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm is call, and we know we have an instance immediately from that
// 2) The source is a KnownOpenSSLAlgorithm is call, and we know we have an instance immediately from that
// 3) the source is a padding-specific literal flowing to a padding-specific consumer
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
this instanceof KnownOpenSslPaddingAlgorithmExpr and
this instanceof Literal and
this instanceof KnownOpenSSLPaddingAlgorithmConstant and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
sink = getterCall.(OpenSSLAlgorithmValueConsumer).getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink) and
KnownOpenSSLAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink) and
isPaddingSpecificConsumer = false
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
this instanceof DirectAlgorithmValueConsumer and
getterCall = this and
this instanceof KnownOpenSslPaddingAlgorithmExpr and
this instanceof KnownOpenSSLPaddingAlgorithmConstant and
isPaddingSpecificConsumer = false
or
// Possibility 3: padding-specific literal
this instanceof OpenSslPaddingLiteral and
this instanceof OpenSSLPaddingLiteral and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a CipherGetterCall
sink = getterCall.getInputNode() and
sink = getterCall.(OpenSSLAlgorithmValueConsumer).getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a padding-specific consumer
@@ -96,7 +96,7 @@ class KnownOpenSslPaddingConstantAlgorithmInstance extends OpenSslAlgorithmInsta
result = this.(Call).getTarget().getName()
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override OpenSSLAlgorithmValueConsumer getAVC() { result = getterCall }
Crypto::TPaddingType getKnownPaddingType() {
this.(Literal).getValue().toInt() in [1, 7, 8] and result = Crypto::PKCS1_v1_5()
@@ -119,7 +119,7 @@ class KnownOpenSslPaddingConstantAlgorithmInstance extends OpenSslAlgorithmInsta
)
or
isPaddingSpecificConsumer = false and
knownOpenSslConstantToPaddingFamilyType(this, result)
knownOpenSSLConstantToPaddingFamilyType(this, result)
}
}
@@ -127,7 +127,7 @@ class KnownOpenSslPaddingConstantAlgorithmInstance extends OpenSslAlgorithmInsta
// // not the same as 'typical' constants found in the set of known algorithm constants
// // they do not have an NID
// // TODO: what about setting the padding directly?
// class KnownRSAPaddingConstant extends OpenSslPaddingAlgorithmInstance, Crypto::PaddingAlgorithmInstance instanceof Literal
// class KnownRSAPaddingConstant extends OpenSSLPaddingAlgorithmInstance, Crypto::PaddingAlgorithmInstance instanceof Literal
// {
// KnownRSAPaddingConstant() {
// // from rsa.h in openssl:
@@ -162,7 +162,7 @@ class KnownOpenSslPaddingConstantAlgorithmInstance extends OpenSslAlgorithmInsta
// }
// }
class OAEPPaddingAlgorithmInstance extends Crypto::OAEPPaddingAlgorithmInstance,
KnownOpenSslPaddingConstantAlgorithmInstance
KnownOpenSSLPaddingConstantAlgorithmInstance
{
OAEPPaddingAlgorithmInstance() {
this.(Crypto::PaddingAlgorithmInstance).getPaddingType() = Crypto::OAEP()

View File

@@ -1,102 +0,0 @@
import cpp
private import experimental.quantum.Language
private import KnownAlgorithmConstants
private import Crypto::KeyOpAlg as KeyOpAlg
private import OpenSSLAlgorithmInstanceBase
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.DirectAlgorithmValueConsumer
private import AlgToAVCFlow
/**
* Gets the signature algorithm type based on the normalized algorithm name.
*/
private predicate knownOpenSslConstantToSignatureFamilyType(
KnownOpenSslSignatureAlgorithmExpr e, Crypto::KeyOpAlg::TAlgorithm type
) {
exists(string name |
name = e.(KnownOpenSslAlgorithmExpr).getNormalizedName() and
(
name.matches("RSA%") and type = KeyOpAlg::TAsymmetricCipher(KeyOpAlg::RSA())
or
name.matches("DSA%") and type = KeyOpAlg::TSignature(KeyOpAlg::DSA())
or
name.matches("ECDSA%") and type = KeyOpAlg::TSignature(KeyOpAlg::ECDSA())
or
name.matches("ED25519%") and type = KeyOpAlg::TSignature(KeyOpAlg::EDDSA())
or
name.matches("ED448%") and type = KeyOpAlg::TSignature(KeyOpAlg::EDDSA())
)
)
}
/**
* A signature algorithm instance derived from an OpenSsl constant.
*/
class KnownOpenSslSignatureConstantAlgorithmInstance extends OpenSslAlgorithmInstance,
Crypto::KeyOperationAlgorithmInstance instanceof KnownOpenSslSignatureAlgorithmExpr
{
OpenSslAlgorithmValueConsumer getterCall;
KnownOpenSslSignatureConstantAlgorithmInstance() {
// Two possibilities:
// 1) The source is a literal and flows to a getter, then we know we have an instance
// 2) The source is a KnownOpenSslAlgorithm call, and we know we have an instance immediately from that
// Possibility 1:
this instanceof OpenSslAlgorithmLiteral and
exists(DataFlow::Node src, DataFlow::Node sink |
// Sink is an argument to a signature getter call
sink = getterCall.getInputNode() and
// Source is `this`
src.asExpr() = this and
// This traces to a getter
KnownOpenSslAlgorithmToAlgorithmValueConsumerFlow::flow(src, sink)
)
or
// Possibility 2:
this instanceof OpenSslAlgorithmCall and
getterCall = this
}
override Crypto::ModeOfOperationAlgorithmInstance getModeOfOperationAlgorithm() { none() }
override Crypto::PaddingAlgorithmInstance getPaddingAlgorithm() { none() }
override string getRawAlgorithmName() {
result = this.(Literal).getValue().toString()
or
result = this.(Call).getTarget().getName()
}
override int getKeySizeFixed() {
// TODO: use ellipticCurveNameToKeySizeAndFamilyMapping or KnownOpenSslEllipticCurveConstantAlgorithmInstance
// TODO: maybe add getExplicitKeySize to KnownOpenSslSignatureAlgorithmExpr and use it here
none()
}
override KeyOpAlg::Algorithm getAlgorithmType() {
knownOpenSslConstantToSignatureFamilyType(this, result)
or
not knownOpenSslConstantToSignatureFamilyType(this, _) and
result = KeyOpAlg::TSignature(KeyOpAlg::OtherSignatureAlgorithmType())
}
override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }
override Crypto::ConsumerInputDataFlowNode getKeySizeConsumer() {
// TODO: trace to any key size initializer
// probably PKeyAlgorithmValueConsumer and SignatureAlgorithmValueConsumer
none()
}
/**
* No mode for signatures.
*/
override predicate shouldHaveModeOfOperation() { none() }
/**
* Padding only for RSA.
*/
override predicate shouldHavePaddingScheme() {
this.getAlgorithmType() instanceof KeyOpAlg::TAsymmetricCipher
}
}

View File

@@ -4,14 +4,14 @@ private import experimental.quantum.OpenSSL.AlgorithmInstances.KnownAlgorithmCon
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase
private import OpenSSLAlgorithmValueConsumerBase
abstract class CipherAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class CipherAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { }
// https://www.openssl.org/docs/manmaster/man3/EVP_CIPHER_fetch.html
class EvpCipherAlgorithmValueConsumer extends CipherAlgorithmValueConsumer {
class EVPCipherAlgorithmValueConsumer extends CipherAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpCipherAlgorithmValueConsumer() {
EVPCipherAlgorithmValueConsumer() {
resultNode.asExpr() = this and
(
this.(Call).getTarget().getName() in [
@@ -30,8 +30,8 @@ class EvpCipherAlgorithmValueConsumer extends CipherAlgorithmValueConsumer {
// override DataFlow::Node getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
//TODO: As a potential alternative, for OpenSsl only, add a generic source node for literals and only create flow (flowsTo) to
// OpenSsl AVCs... the unknown literal sources would have to be any literals not in the known set.
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
//TODO: As a potential alternative, for OpenSSL only, add a generic source node for literals and only create flow (flowsTo) to
// OpenSSL AVCs... the unknown literal sources would have to be any literals not in the known set.
}
}

View File

@@ -7,27 +7,26 @@ private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgor
* Cases like EVP_MD5(),
* there is no input, rather it directly gets an algorithm
* and returns it.
* Also includes operations directly using an algorithm
* like AES_encrypt().
*/
class DirectAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer instanceof OpenSslAlgorithmCall
{
class DirectAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer {
DataFlow::Node resultNode;
Expr resultExpr;
DirectAlgorithmValueConsumer() {
this instanceof KnownOpenSSLAlgorithmConstant and
this instanceof Call and
resultExpr = this and
resultNode.asExpr() = resultExpr
}
/**
* These cases take in no explicit value (the value is implicit)
*/
override Crypto::ConsumerInputDataFlowNode getInputNode() { none() }
/**
* Gets the DataFlow node represeting the output algorithm entity
* created as a result of this call.
*/
override DataFlow::Node getResultNode() {
this instanceof OpenSslDirectAlgorithmFetchCall and
result.asExpr() = this
// NOTE: if instanceof OpenSslDirectAlgorithmOperationCall then there is no algorithm generated
// the algorithm is directly used
}
override DataFlow::Node getResultNode() { result = resultNode }
// override DataFlow::Node getOutputNode() { result = resultNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
// Note: algorithm source definitions enforces that
// this class will be a known algorithm source

View File

@@ -4,14 +4,14 @@ private import experimental.quantum.OpenSSL.AlgorithmInstances.KnownAlgorithmCon
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstances
abstract class EllipticCurveValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class EllipticCurveValueConsumer extends OpenSSLAlgorithmValueConsumer { }
//https://docs.openssl.org/3.0/man3/EC_KEY_new/#name
class EvpEllipticCurveAlgorithmConsumer extends EllipticCurveValueConsumer {
class EVPEllipticCurveAlgorithmConsumer extends EllipticCurveValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpEllipticCurveAlgorithmConsumer() {
EVPEllipticCurveAlgorithmConsumer() {
resultNode.asExpr() = this.(Call) and // in all cases the result is the return
(
this.(Call).getTarget().getName() in ["EVP_EC_gen", "EC_KEY_new_by_curve_name"] and
@@ -25,7 +25,7 @@ class EvpEllipticCurveAlgorithmConsumer extends EllipticCurveValueConsumer {
}
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
}
override DataFlow::Node getResultNode() { result = resultNode }

View File

@@ -4,20 +4,20 @@ private import semmle.code.cpp.dataflow.new.DataFlow
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstances
abstract class HashAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class HashAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { }
/**
* EVP_Q_Digest directly consumes algorithm constant values
*/
class Evp_Q_Digest_Algorithm_Consumer extends HashAlgorithmValueConsumer {
Evp_Q_Digest_Algorithm_Consumer() { this.(Call).getTarget().getName() = "EVP_Q_digest" }
class EVP_Q_Digest_Algorithm_Consumer extends HashAlgorithmValueConsumer {
EVP_Q_Digest_Algorithm_Consumer() { this.(Call).getTarget().getName() = "EVP_Q_digest" }
override Crypto::ConsumerInputDataFlowNode getInputNode() {
result.asExpr() = this.(Call).getArgument(1)
}
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
}
override DataFlow::Node getResultNode() {
@@ -27,43 +27,15 @@ class Evp_Q_Digest_Algorithm_Consumer extends HashAlgorithmValueConsumer {
}
}
/**
* An instance from https://docs.openssl.org/3.0/man3/EVP_PKEY_CTX_ctrl/
* where the digest is directly consumed by name.
* In these cases, the operation is not yet performed, but there is
* these functions are treated as 'initializers' and track the algorithm through
* `EvpInitializer` mechanics, i.e., the resultNode is considered 'none'
*/
class EvpPkeySetCtxALgorithmConsumer extends HashAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
EvpPkeySetCtxALgorithmConsumer() {
this.(Call).getTarget().getName() in [
"EVP_PKEY_CTX_set_rsa_mgf1_md_name", "EVP_PKEY_CTX_set_rsa_oaep_md_name",
"EVP_PKEY_CTX_set_dsa_paramgen_md_props"
] and
valueArgNode.asExpr() = this.(Call).getArgument(1)
}
override DataFlow::Node getResultNode() { none() }
override Crypto::ConsumerInputDataFlowNode getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
}
}
/**
* The EVP digest algorithm getters
* https://docs.openssl.org/3.0/man3/EVP_DigestInit/#synopsis
* https://docs.openssl.org/3.0/man3/EVP_DigestSignInit/#name
*/
class EvpDigestAlgorithmValueConsumer extends HashAlgorithmValueConsumer {
class EVPDigestAlgorithmValueConsumer extends HashAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpDigestAlgorithmValueConsumer() {
EVPDigestAlgorithmValueConsumer() {
resultNode.asExpr() = this and
(
this.(Call).getTarget().getName() in [
@@ -73,9 +45,6 @@ class EvpDigestAlgorithmValueConsumer extends HashAlgorithmValueConsumer {
or
this.(Call).getTarget().getName() = "EVP_MD_fetch" and
valueArgNode.asExpr() = this.(Call).getArgument(1)
or
this.(Call).getTarget().getName() = "EVP_DigestSignInit_ex" and
valueArgNode.asExpr() = this.(Call).getArgument(2)
)
}
@@ -84,6 +53,6 @@ class EvpDigestAlgorithmValueConsumer extends HashAlgorithmValueConsumer {
override Crypto::ConsumerInputDataFlowNode getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
}
}

View File

@@ -4,13 +4,13 @@ private import semmle.code.cpp.dataflow.new.DataFlow
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstances
abstract class KemAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class KEMAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { }
class EvpKemAlgorithmValueConsumer extends KemAlgorithmValueConsumer {
class EVPKEMAlgorithmValueConsumer extends KEMAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpKemAlgorithmValueConsumer() {
EVPKEMAlgorithmValueConsumer() {
resultNode.asExpr() = this and
(
this.(Call).getTarget().getName() = "EVP_KEM_fetch" and
@@ -23,6 +23,6 @@ class EvpKemAlgorithmValueConsumer extends KemAlgorithmValueConsumer {
override Crypto::ConsumerInputDataFlowNode getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
}
}

View File

@@ -4,13 +4,13 @@ private import semmle.code.cpp.dataflow.new.DataFlow
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstances
abstract class KeyExchangeAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class KeyExchangeAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { }
class EvpKeyExchangeAlgorithmValueConsumer extends KeyExchangeAlgorithmValueConsumer {
class EVPKeyExchangeAlgorithmValueConsumer extends KeyExchangeAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpKeyExchangeAlgorithmValueConsumer() {
EVPKeyExchangeAlgorithmValueConsumer() {
resultNode.asExpr() = this and
(
this.(Call).getTarget().getName() = "EVP_KEYEXCH_fetch" and
@@ -23,6 +23,6 @@ class EvpKeyExchangeAlgorithmValueConsumer extends KeyExchangeAlgorithmValueCons
override Crypto::ConsumerInputDataFlowNode getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
}
}

View File

@@ -1,6 +1,6 @@
private import experimental.quantum.Language
abstract class OpenSslAlgorithmValueConsumer extends Crypto::AlgorithmValueConsumer instanceof Call {
abstract class OpenSSLAlgorithmValueConsumer extends Crypto::AlgorithmValueConsumer instanceof Call {
/**
* Returns the node representing the resulting algorithm
*/

View File

@@ -5,4 +5,3 @@ import PaddingAlgorithmValueConsumer
import HashAlgorithmValueConsumer
import EllipticCurveAlgorithmValueConsumer
import PKeyAlgorithmValueConsumer
import SignatureAlgorithmValueConsumer

View File

@@ -4,13 +4,13 @@ private import experimental.quantum.OpenSSL.AlgorithmInstances.KnownAlgorithmCon
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstances
abstract class PKeyValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class PKeyValueConsumer extends OpenSSLAlgorithmValueConsumer { }
class EvpPKeyAlgorithmConsumer extends PKeyValueConsumer {
class EVPPKeyAlgorithmConsumer extends PKeyValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpPKeyAlgorithmConsumer() {
EVPPKeyAlgorithmConsumer() {
resultNode.asExpr() = this.(Call) and // in all cases the result is the return
(
// NOTE: some of these consumers are themselves key gen operations,
@@ -23,8 +23,7 @@ class EvpPKeyAlgorithmConsumer extends PKeyValueConsumer {
or
this.(Call).getTarget().getName() in [
"EVP_PKEY_CTX_new_from_name", "EVP_PKEY_new_raw_private_key_ex",
"EVP_PKEY_new_raw_public_key_ex", "EVP_PKEY_CTX_ctrl", "EVP_PKEY_CTX_ctrl_uint64",
"EVP_PKEY_CTX_ctrl_str", "EVP_PKEY_CTX_set_group_name"
"EVP_PKEY_new_raw_public_key_ex", "EVP_PKEY_CTX_ctrl", "EVP_PKEY_CTX_set_group_name"
] and
valueArgNode.asExpr() = this.(Call).getArgument(1)
or
@@ -47,7 +46,7 @@ class EvpPKeyAlgorithmConsumer extends PKeyValueConsumer {
}
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
}
override DataFlow::Node getResultNode() { result = resultNode }

View File

@@ -4,16 +4,16 @@ private import experimental.quantum.OpenSSL.AlgorithmInstances.KnownAlgorithmCon
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase
private import OpenSSLAlgorithmValueConsumerBase
abstract class PaddingAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer { }
abstract class PaddingAlgorithmValueConsumer extends OpenSSLAlgorithmValueConsumer { }
// https://docs.openssl.org/master/man7/EVP_ASYM_CIPHER-RSA/#rsa-asymmetric-cipher-parameters
// TODO: need to handle setting padding through EVP_PKEY_CTX_set_params, where modes like "OSSL_PKEY_RSA_PAD_MODE_OAEP"
// are set.
class Evp_PKey_Ctx_set_rsa_padding_AlgorithmValueConsumer extends PaddingAlgorithmValueConsumer {
class EVP_PKEY_CTX_set_rsa_padding_AlgorithmValueConsumer extends PaddingAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
Evp_PKey_Ctx_set_rsa_padding_AlgorithmValueConsumer() {
EVP_PKEY_CTX_set_rsa_padding_AlgorithmValueConsumer() {
resultNode.asExpr() = this and
this.(Call).getTarget().getName() = "EVP_PKEY_CTX_set_rsa_padding" and
valueArgNode.asExpr() = this.(Call).getArgument(1)
@@ -25,8 +25,8 @@ class Evp_PKey_Ctx_set_rsa_padding_AlgorithmValueConsumer extends PaddingAlgorit
// override DataFlow::Node getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
//TODO: As a potential alternative, for OpenSsl only, add a generic source node for literals and only create flow (flowsTo) to
// OpenSsl AVCs... the unknown literal sources would have to be any literals not in the known set.
exists(OpenSSLAlgorithmInstance i | i.getAVC() = this and result = i)
//TODO: As a potential alternative, for OpenSSL only, add a generic source node for literals and only create flow (flowsTo) to
// OpenSSL AVCs... the unknown literal sources would have to be any literals not in the known set.
}
}

View File

@@ -1,32 +0,0 @@
import cpp
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.AlgorithmInstances.KnownAlgorithmConstants
private import experimental.quantum.OpenSSL.AlgorithmInstances.OpenSSLAlgorithmInstanceBase
private import OpenSSLAlgorithmValueConsumerBase
private import experimental.quantum.OpenSSL.LibraryDetector
abstract class SignatureAlgorithmValueConsumer extends OpenSslAlgorithmValueConsumer { }
class EvpSignatureAlgorithmValueConsumer extends SignatureAlgorithmValueConsumer {
DataFlow::Node valueArgNode;
DataFlow::Node resultNode;
EvpSignatureAlgorithmValueConsumer() {
resultNode.asExpr() = this and
(
// EVP_SIGNATURE
this.(Call).getTarget().getName() = "EVP_SIGNATURE_fetch" and
valueArgNode.asExpr() = this.(Call).getArgument(1)
// EVP_PKEY_get1_DSA, EVP_PKEY_get1_RSA
// DSA_SIG_new, DSA_SIG_get0, RSA_sign ?
)
}
override DataFlow::Node getResultNode() { result = resultNode }
override Crypto::ConsumerInputDataFlowNode getInputNode() { result = valueArgNode }
override Crypto::AlgorithmInstance getAKnownAlgorithmSource() {
exists(OpenSslAlgorithmInstance i | i.getAvc() = this and result = i)
}
}

View File

@@ -1,19 +0,0 @@
import semmle.code.cpp.dataflow.new.DataFlow
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
/**
* Flows from algorithm values to operations, specific to OpenSsl
*/
module AvcToCallArgConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) {
exists(OpenSslAlgorithmValueConsumer c | c.getResultNode() = source)
}
/**
* Trace to any call accepting the algorithm.
* NOTE: users must restrict this set to the operations they are interested in.
*/
predicate isSink(DataFlow::Node sink) { exists(Call c | c.getAnArgument() = sink.asExpr()) }
}
module AvcToCallArgFlow = DataFlow::Global<AvcToCallArgConfig>;

View File

@@ -28,7 +28,7 @@ import semmle.code.cpp.dataflow.new.DataFlow
* - EVP_MD_CTX
* - EVP_PKEY_CTX
*/
class CtxType extends Type {
private class CtxType extends Type {
CtxType() {
// It is possible for users to use the underlying type of the CTX variables
// these have a name matching 'evp_%ctx_%st
@@ -47,7 +47,7 @@ class CtxType extends Type {
/**
* A pointer to a CtxType
*/
class CtxPointerExpr extends Expr {
private class CtxPointerExpr extends Expr {
CtxPointerExpr() {
this.getType() instanceof CtxType and
this.getType() instanceof PointerType
@@ -57,19 +57,12 @@ class CtxPointerExpr extends Expr {
/**
* A call argument of type CtxPointerExpr.
*/
class CtxPointerArgument extends CtxPointerExpr {
private class CtxPointerArgument extends CtxPointerExpr {
CtxPointerArgument() { exists(Call c | c.getAnArgument() = this) }
Call getCall() { result.getAnArgument() = this }
}
/**
* A call returning a CtxPointerExpr.
*/
private class CtxPointerReturn extends CtxPointerExpr instanceof Call {
Call getCall() { result = this }
}
/**
* A call whose target contains 'free' or 'reset' and has an argument of type
* CtxPointerArgument.
@@ -81,141 +74,66 @@ private class CtxClearCall extends Call {
}
}
abstract private class CtxPassThroughCall extends Call {
abstract DataFlow::Node getNode1();
abstract DataFlow::Node getNode2();
}
/**
* A call whose target contains 'copy' and has an argument of type
* CtxPointerArgument.
*/
private class CtxCopyOutArgCall extends CtxPassThroughCall {
DataFlow::Node n1;
DataFlow::Node n2;
private class CtxCopyOutArgCall extends Call {
CtxCopyOutArgCall() {
this.getTarget().getName().toLowerCase().matches("%copy%") and
n1.asExpr() = this.getAnArgument() and
n1.getType() instanceof CtxType and
n2.asDefiningArgument() = this.getAnArgument() and
n2.getType() instanceof CtxType and
n1.asDefiningArgument() != n2.asExpr()
this.getAnArgument() instanceof CtxPointerArgument
}
override DataFlow::Node getNode1() { result = n1 }
override DataFlow::Node getNode2() { result = n2 }
}
/**
* A call whose target contains 'dup' and has an argument of type
* CtxPointerArgument.
*/
private class CtxCopyReturnCall extends CtxPassThroughCall, CtxPointerExpr {
DataFlow::Node n1;
private class CtxCopyReturnCall extends Call, CtxPointerExpr {
CtxCopyReturnCall() {
this.getTarget().getName().toLowerCase().matches("%dup%") and
n1.asExpr() = this.getAnArgument() and
n1.getType() instanceof CtxType
}
override DataFlow::Node getNode1() { result = n1 }
override DataFlow::Node getNode2() { result.asExpr() = this }
}
/**
* A call to `EVP_PKEY_paramgen` acts as a kind of pass through.
* It's output pkey is eventually used in a new operation generating
* a fresh context pointer (e.g., `EVP_PKEY_CTX_new`).
* It is easier to model this as a pass through
* than to model the flow from the paramgen to the new key generation.
*/
private class CtxParamGenCall extends CtxPassThroughCall {
DataFlow::Node n1;
DataFlow::Node n2;
CtxParamGenCall() {
this.getTarget().getName() = "EVP_PKEY_paramgen" and
n1.asExpr() = this.getArgument(0) and
(
n2.asExpr() = this.getArgument(1)
or
n2.asDefiningArgument() = this.getArgument(1)
)
}
override DataFlow::Node getNode1() { result = n1 }
override DataFlow::Node getNode2() { result = n2 }
}
/**
* If the current node gets is an argument to a function
* that returns a pointer type, immediately flow through.
* NOTE: this passthrough is required if we allow
* intermediate steps to go into variables that are not a CTX type.
* See for example `CtxParamGenCall`.
*/
private class CallArgToCtxRet extends CtxPassThroughCall, CtxPointerExpr {
DataFlow::Node n1;
DataFlow::Node n2;
CallArgToCtxRet() {
this.getAnArgument() = n1.asExpr() and
n2.asExpr() = this
}
override DataFlow::Node getNode1() { result = n1 }
override DataFlow::Node getNode2() { result = n2 }
}
/**
* A source Ctx of interest is any argument or return of type CtxPointerExpr.
*/
class CtxPointerSource extends CtxPointerExpr {
CtxPointerSource() {
this instanceof CtxPointerReturn or
this instanceof CtxPointerArgument
}
DataFlow::Node asNode() {
result.asExpr() = this
or
result.asDefiningArgument() = this
this.getAnArgument() instanceof CtxPointerArgument
}
}
/**
* Flow from any CtxPointerSource to other CtxPointerSource.
* Flow from any CtxPointerArgument to any other CtxPointerArgument
*/
module OpenSslCtxSourceToSourceFlowConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { exists(CtxPointerSource s | s.asNode() = source) }
module OpenSSLCtxArgumentFlowConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source.asExpr() instanceof CtxPointerArgument }
predicate isSink(DataFlow::Node sink) { exists(CtxPointerSource s | s.asNode() = sink) }
predicate isSink(DataFlow::Node sink) { sink.asExpr() instanceof CtxPointerArgument }
predicate isBarrier(DataFlow::Node node) {
exists(CtxClearCall c | c.getAnArgument() = node.asExpr())
}
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
exists(CtxPassThroughCall c | c.getNode1() = node1 and c.getNode2() = node2)
exists(CtxCopyOutArgCall c |
c.getAnArgument() = node1.asExpr() and
c.getAnArgument() = node2.asExpr() and
node1.asExpr() != node2.asExpr() and
node2.asExpr().getType() instanceof CtxType
)
or
exists(CtxCopyReturnCall c |
c.getAnArgument() = node1.asExpr() and
c = node2.asExpr() and
node1.asExpr() != node2.asExpr() and
node2.asExpr().getType() instanceof CtxType
)
}
}
module OpenSslCtxSourceToArgumentFlow = DataFlow::Global<OpenSslCtxSourceToSourceFlowConfig>;
module OpenSSLCtxArgumentFlow = DataFlow::Global<OpenSSLCtxArgumentFlowConfig>;
/**
* Holds if there is a context flow from the source to the sink.
*/
predicate ctxSrcToSrcFlow(CtxPointerSource source, CtxPointerSource sink) {
predicate ctxArgFlowsToCtxArg(CtxPointerArgument source, CtxPointerArgument sink) {
exists(DataFlow::Node a, DataFlow::Node b |
OpenSslCtxSourceToArgumentFlow::flow(a, b) and
a = source.asNode() and
b = sink.asNode()
OpenSSLCtxArgumentFlow::flow(a, b) and
a.asExpr() = source and
b.asExpr() = sink
)
}

View File

@@ -14,9 +14,9 @@ private class IntLiteral extends Literal {
/**
* Holds if a StringLiteral could conceivably be used in some way for cryptography.
* Note: this predicate should only consider restrictions with respect to strings only.
* General restrictions are in the OpenSslGenericSourceCandidateLiteral class.
* General restrictions are in the OpenSSLGenericSourceCandidateLiteral class.
*/
private predicate isOpenSslStringLiteralGenericSourceCandidate(StringLiteral s) {
private predicate isOpenSSLStringLiteralGenericSourceCandidate(StringLiteral s) {
// 'EC' is a constant that may be used where typical algorithms are specified,
// but EC specifically means set up a default curve container, that will later be
//specified explicitly (or if not a default) curve is used.
@@ -49,9 +49,9 @@ private predicate isOpenSslStringLiteralGenericSourceCandidate(StringLiteral s)
/**
* Holds if a StringLiteral could conceivably be used in some way for cryptography.
* Note: this predicate should only consider restrictions with respect to integers only.
* General restrictions are in the OpenSslGenericSourceCandidateLiteral class.
* General restrictions are in the OpenSSLGenericSourceCandidateLiteral class.
*/
private predicate isOpenSslIntLiteralGenericSourceCandidate(IntLiteral l) {
private predicate isOpenSSLIntLiteralGenericSourceCandidate(IntLiteral l) {
// Ignore integer values of 0, commonly referring to NULL only (no known algorithm 0)
l.getValue().toInt() != 0 and
// ASSUMPTION, no negative numbers are allowed
@@ -102,11 +102,11 @@ private predicate isOpenSslIntLiteralGenericSourceCandidate(IntLiteral l) {
* "AES" may be a legitimate algorithm literal, but the literal will not be used for an operation directly
* since it is in a equality comparison, hence this case would also be filtered.
*/
class OpenSslGenericSourceCandidateLiteral extends Literal {
OpenSslGenericSourceCandidateLiteral() {
class OpenSSLGenericSourceCandidateLiteral extends Literal {
OpenSSLGenericSourceCandidateLiteral() {
(
isOpenSslIntLiteralGenericSourceCandidate(this) or
isOpenSslStringLiteralGenericSourceCandidate(this)
isOpenSSLIntLiteralGenericSourceCandidate(this) or
isOpenSSLStringLiteralGenericSourceCandidate(this)
) and
// ********* General filters beyond what is filtered for strings and ints *********
// An algorithm literal in a switch case will not be directly applied to an operation.

View File

@@ -1,27 +0,0 @@
import semmle.code.cpp.dataflow.new.DataFlow
private import Operations.OpenSSLOperations
private import experimental.quantum.Language
/**
* Flow from key creation to key used in a call
*/
module OpenSslKeyFlowConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) {
// NOTE/ASSUMPTION: it is assumed the operation is also an OpenSslOperation.
// All operations modeled for openssl should be modeled as OpenSslOperation.
exists(Crypto::KeyCreationOperationInstance keygen | keygen.getOutputKeyArtifact() = source)
}
predicate isSink(DataFlow::Node sink) { exists(Call call | call.getAnArgument() = sink.asExpr()) }
//TODO: consideration for additional flow steps? Can a key be copied for example?
}
module OpenSslKeyFlow = TaintTracking::Global<OpenSslKeyFlowConfig>;
Crypto::KeyCreationOperationInstance getSourceKeyCreationInstanceFromArg(Expr arg) {
exists(DataFlow::Node src, DataFlow::Node sink |
OpenSslKeyFlow::flow(src, sink) and
result.getOutputKeyArtifact() = src and
sink.asExpr() = arg
)
}

View File

@@ -1,7 +1,7 @@
import cpp
predicate isPossibleOpenSslFunction(Function f) {
isPossibleOpenSslLocation(f.getADeclarationLocation())
predicate isPossibleOpenSSLFunction(Function f) {
isPossibleOpenSSLLocation(f.getADeclarationLocation())
}
predicate isPossibleOpenSslLocation(Location l) { l.toString().toLowerCase().matches("%openssl%") }
predicate isPossibleOpenSSLLocation(Location l) { l.toString().toLowerCase().matches("%openssl%") }

View File

@@ -1,4 +1,4 @@
module OpenSslModel {
module OpenSSLModel {
import AlgorithmInstances.OpenSSLAlgorithmInstances
import AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
import Operations.OpenSSLOperations

View File

@@ -1,9 +1,10 @@
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.CtxFlow as CTXFlow
private import OpenSSLOperationBase
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
private import semmle.code.cpp.dataflow.new.DataFlow
class ECKeyGenOperation extends OpenSslOperation, Crypto::KeyGenerationOperationInstance {
class ECKeyGenOperation extends OpenSSLOperation, Crypto::KeyGenerationOperationInstance {
ECKeyGenOperation() { this.(Call).getTarget().getName() = "EC_KEY_generate_key" }
override Expr getAlgorithmArg() { result = this.(Call).getArgument(0) }

View File

@@ -0,0 +1,117 @@
/**
* see: https://docs.openssl.org/master/man3/EVP_EncryptInit/
* Models cipher initialization for EVP cipher operations.
*/
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.CtxFlow as CTXFlow
private import OpenSSLOperationBase
module EncValToInitEncArgConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source.asExpr().getValue().toInt() in [0, 1] }
predicate isSink(DataFlow::Node sink) {
exists(EVP_Cipher_Initializer initCall | sink.asExpr() = initCall.getOperationSubtypeArg())
}
}
module EncValToInitEncArgFlow = DataFlow::Global<EncValToInitEncArgConfig>;
int getEncConfigValue(Expr e) {
exists(EVP_Cipher_Initializer initCall | e = initCall.getOperationSubtypeArg()) and
exists(DataFlow::Node a, DataFlow::Node b |
EncValToInitEncArgFlow::flow(a, b) and b.asExpr() = e and result = a.asExpr().getValue().toInt()
)
}
bindingset[i]
Crypto::KeyOperationSubtype intToCipherOperationSubtype(int i) {
if i = 0
then result instanceof Crypto::TEncryptMode
else
if i = 1
then result instanceof Crypto::TDecryptMode
else result instanceof Crypto::TUnknownKeyOperationMode
}
// TODO: need to add key consumer
abstract class EVP_Cipher_Initializer extends EVPInitialize {
override Expr getAlgorithmArg() { result = this.(Call).getArgument(1) }
abstract Expr getOperationSubtypeArg();
override Crypto::KeyOperationSubtype getKeyOperationSubtype() {
if this.(Call).getTarget().getName().toLowerCase().matches("%encrypt%")
then result instanceof Crypto::TEncryptMode
else
if this.(Call).getTarget().getName().toLowerCase().matches("%decrypt%")
then result instanceof Crypto::TDecryptMode
else
if exists(getEncConfigValue(this.getOperationSubtypeArg()))
then result = intToCipherOperationSubtype(getEncConfigValue(this.getOperationSubtypeArg()))
else result instanceof Crypto::TUnknownKeyOperationMode
}
}
abstract class EVP_EX_Initializer extends EVP_Cipher_Initializer {
override Expr getKeyArg() { result = this.(Call).getArgument(3) }
override Expr getIVArg() { result = this.(Call).getArgument(4) }
}
abstract class EVP_EX2_Initializer extends EVP_Cipher_Initializer {
override Expr getKeyArg() { result = this.(Call).getArgument(2) }
override Expr getIVArg() { result = this.(Call).getArgument(3) }
}
class EVP_Cipher_EX_Init_Call extends EVP_EX_Initializer {
EVP_Cipher_EX_Init_Call() {
this.(Call).getTarget().getName() in [
"EVP_EncryptInit_ex", "EVP_DecryptInit_ex", "EVP_CipherInit_ex"
]
}
override Expr getOperationSubtypeArg() {
this.(Call).getTarget().getName().toLowerCase().matches("%cipherinit%") and
result = this.(Call).getArgument(5)
}
}
class EVP_Cipher_EX2_or_Simple_Init_Call extends EVP_EX2_Initializer {
EVP_Cipher_EX2_or_Simple_Init_Call() {
this.(Call).getTarget().getName() in [
"EVP_EncryptInit_ex2", "EVP_DecryptInit_ex2", "EVP_CipherInit_ex2", "EVP_EncryptInit",
"EVP_DecryptInit", "EVP_CipherInit"
]
}
override Expr getOperationSubtypeArg() {
this.(Call).getTarget().getName().toLowerCase().matches("%cipherinit%") and
result = this.(Call).getArgument(4)
}
}
class EVP_CipherInit_SKEY_Call extends EVP_EX2_Initializer {
EVP_CipherInit_SKEY_Call() { this.(Call).getTarget().getName() in ["EVP_CipherInit_SKEY"] }
override Expr getOperationSubtypeArg() { result = this.(Call).getArgument(5) }
}
class EVPCipherInitializerAlgorithmArgument extends Expr {
EVPCipherInitializerAlgorithmArgument() {
exists(EVP_Cipher_Initializer initCall | this = initCall.getAlgorithmArg())
}
}
class EVPCipherInitializerKeyArgument extends Expr {
EVPCipherInitializerKeyArgument() {
exists(EVP_Cipher_Initializer initCall | this = initCall.getKeyArg())
}
}
class EVPCipherInitializerIVArgument extends Expr {
EVPCipherInitializerIVArgument() {
exists(EVP_Cipher_Initializer initCall | this = initCall.getIVArg())
}
}

View File

@@ -1,90 +1,16 @@
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.CtxFlow
private import experimental.quantum.OpenSSL.CtxFlow as CTXFlow
private import EVPCipherInitializer
private import OpenSSLOperationBase
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
// TODO: need to add key consumer
abstract class Evp_Cipher_Initializer extends EvpKeyOperationSubtypeInitializer,
EvpPrimaryAlgorithmInitializer, EvpKeyInitializer, EvpIVInitializer
{
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
override Expr getAlgorithmArg() { result = this.(Call).getArgument(1) }
}
abstract class Evp_EX_Initializer extends Evp_Cipher_Initializer {
override Expr getKeyArg() {
// Null key indicates the key is not actually set
// This pattern can occur during a multi-step initialization
// TODO/Note: not flowing 0 to the sink, assuming a direct use of NULL for now
result = this.(Call).getArgument(3) and
(exists(result.getValue()) implies result.getValue().toInt() != 0)
}
override Expr getIVArg() {
// Null IV indicates the IV is not actually set
// This occurs given that setting the IV sometimes requires first setting the IV size.
// TODO/Note: not flowing 0 to the sink, assuming a direct use of NULL for now
result = this.(Call).getArgument(4) and
(exists(result.getValue()) implies result.getValue().toInt() != 0)
}
}
abstract class Evp_EX2_Initializer extends Evp_Cipher_Initializer {
override Expr getKeyArg() { result = this.(Call).getArgument(2) }
override Expr getIVArg() { result = this.(Call).getArgument(3) }
}
class EvpCipherEXInitCall extends Evp_EX_Initializer {
EvpCipherEXInitCall() {
this.(Call).getTarget().getName() in [
"EVP_EncryptInit_ex", "EVP_DecryptInit_ex", "EVP_CipherInit_ex"
]
}
override Expr getKeyOperationSubtypeArg() {
// NOTE: for EncryptInit and DecryptInit there is no subtype arg
// the subtype is determined automatically by the initializer based on the operation name
this.(Call).getTarget().getName().toLowerCase().matches("%cipherinit%") and
result = this.(Call).getArgument(5)
}
}
// if this.(Call).getTarget().getName().toLowerCase().matches("%encrypt%")
// then result instanceof Crypto::TEncryptMode
// else
// if this.(Call).getTarget().getName().toLowerCase().matches("%decrypt%")
// then result instanceof Crypto::TDecryptMode
class Evp_Cipher_EX2_or_Simple_Init_Call extends Evp_EX2_Initializer {
Evp_Cipher_EX2_or_Simple_Init_Call() {
this.(Call).getTarget().getName() in [
"EVP_EncryptInit_ex2", "EVP_DecryptInit_ex2", "EVP_CipherInit_ex2", "EVP_EncryptInit",
"EVP_DecryptInit", "EVP_CipherInit"
]
}
override Expr getKeyOperationSubtypeArg() {
this.(Call).getTarget().getName().toLowerCase().matches("%cipherinit%") and
result = this.(Call).getArgument(4)
}
}
class Evp_CipherInit_SKey_Call extends Evp_EX2_Initializer {
Evp_CipherInit_SKey_Call() { this.(Call).getTarget().getName() = "EVP_CipherInit_SKEY" }
override Expr getKeyOperationSubtypeArg() { result = this.(Call).getArgument(5) }
}
class Evp_Cipher_Update_Call extends EvpUpdate {
Evp_Cipher_Update_Call() {
class EVP_Cipher_Update_Call extends EVPUpdate {
EVP_Cipher_Update_Call() {
this.(Call).getTarget().getName() in [
"EVP_EncryptUpdate", "EVP_DecryptUpdate", "EVP_CipherUpdate"
]
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
override Expr getInputArg() { result = this.(Call).getArgument(3) }
override Expr getOutputArg() { result = this.(Call).getArgument(1) }
@@ -94,7 +20,7 @@ class Evp_Cipher_Update_Call extends EvpUpdate {
* see: https://docs.openssl.org/master/man3/EVP_EncryptInit/#synopsis
* Base configuration for all EVP cipher operations.
*/
abstract class Evp_Cipher_Operation extends EvpOperation, Crypto::KeyOperationInstance {
abstract class EVP_Cipher_Operation extends EVPOperation, Crypto::KeyOperationInstance {
override Expr getOutputArg() { result = this.(Call).getArgument(1) }
override Crypto::KeyOperationSubtype getKeyOperationSubtype() {
@@ -104,42 +30,36 @@ abstract class Evp_Cipher_Operation extends EvpOperation, Crypto::KeyOperationIn
result instanceof Crypto::TDecryptMode and
this.(Call).getTarget().getName().toLowerCase().matches("%decrypt%")
or
result = this.getInitCall().(EvpKeyOperationSubtypeInitializer).getKeyOperationSubtype() and
result = this.getInitCall().getKeyOperationSubtype() and
this.(Call).getTarget().getName().toLowerCase().matches("%cipher%")
}
override Crypto::ConsumerInputDataFlowNode getNonceConsumer() {
this.getInitCall().(EvpIVInitializer).getIVArg() = result.asExpr()
this.getInitCall().getIVArg() = result.asExpr()
}
override Crypto::ConsumerInputDataFlowNode getKeyConsumer() {
this.getInitCall().(EvpKeyInitializer).getKeyArg() = result.asExpr()
this.getInitCall().getKeyArg() = result.asExpr()
// todo: or track to the EVP_PKEY_CTX_new
}
override Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
result = EvpOperation.super.getOutputArtifact()
result = EVPOperation.super.getOutputArtifact()
}
override Crypto::ConsumerInputDataFlowNode getInputConsumer() {
result = EvpOperation.super.getInputConsumer()
result = EVPOperation.super.getInputConsumer()
}
}
class Evp_Cipher_Call extends EvpOperation, Evp_Cipher_Operation {
Evp_Cipher_Call() { this.(Call).getTarget().getName() = "EVP_Cipher" }
class EVP_Cipher_Call extends EVPOperation, EVP_Cipher_Operation {
EVP_Cipher_Call() { this.(Call).getTarget().getName() = "EVP_Cipher" }
override Expr getInputArg() { result = this.(Call).getArgument(2) }
override Expr getAlgorithmArg() {
result = this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg()
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class Evp_Cipher_Final_Call extends EvpFinal, Evp_Cipher_Operation {
Evp_Cipher_Final_Call() {
class EVP_Cipher_Final_Call extends EVPFinal, EVP_Cipher_Operation {
EVP_Cipher_Final_Call() {
this.(Call).getTarget().getName() in [
"EVP_EncryptFinal_ex", "EVP_DecryptFinal_ex", "EVP_CipherFinal_ex", "EVP_EncryptFinal",
"EVP_DecryptFinal", "EVP_CipherFinal"
@@ -150,32 +70,8 @@ class Evp_Cipher_Final_Call extends EvpFinal, Evp_Cipher_Operation {
* Output is both from update calls and from the final call.
*/
override Expr getOutputArg() {
result = EvpFinal.super.getOutputArg()
result = EVPFinal.super.getOutputArg()
or
result = Evp_Cipher_Operation.super.getOutputArg()
}
override Expr getAlgorithmArg() {
result = this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg()
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
/**
* https://docs.openssl.org/3.2/man3/EVP_PKEY_decrypt/
* https://docs.openssl.org/3.2/man3/EVP_PKEY_encrypt
*/
class Evp_PKey_Cipher_Operation extends Evp_Cipher_Operation {
Evp_PKey_Cipher_Operation() {
this.(Call).getTarget().getName() in ["EVP_PKEY_encrypt", "EVP_PKEY_decrypt"]
}
override Expr getInputArg() { result = this.(Call).getArgument(3) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
override Expr getAlgorithmArg() {
result = this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg()
result = EVP_Cipher_Operation.super.getOutputArg()
}
}

View File

@@ -0,0 +1,14 @@
import cpp
private import OpenSSLOperationBase
abstract class EVP_Hash_Initializer extends EVPInitialize { }
class EVP_DigestInit_Variant_Calls extends EVP_Hash_Initializer {
EVP_DigestInit_Variant_Calls() {
this.(Call).getTarget().getName() in [
"EVP_DigestInit", "EVP_DigestInit_ex", "EVP_DigestInit_ex2"
]
}
override Expr getAlgorithmArg() { result = this.(Call).getArgument(1) }
}

View File

@@ -3,37 +3,24 @@
*/
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.CtxFlow
private import experimental.quantum.OpenSSL.CtxFlow as CTXFlow
private import OpenSSLOperationBase
private import EVPHashInitializer
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
class Evp_DigestInit_Variant_Calls extends EvpPrimaryAlgorithmInitializer {
Evp_DigestInit_Variant_Calls() {
this.(Call).getTarget().getName() in [
"EVP_DigestInit", "EVP_DigestInit_ex", "EVP_DigestInit_ex2"
]
}
override Expr getAlgorithmArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class Evp_Digest_Update_Call extends EvpUpdate {
Evp_Digest_Update_Call() { this.(Call).getTarget().getName() = "EVP_DigestUpdate" }
class EVP_Digest_Update_Call extends EVPUpdate {
EVP_Digest_Update_Call() { this.(Call).getTarget().getName() = "EVP_DigestUpdate" }
override Expr getInputArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
//https://docs.openssl.org/3.0/man3/EVP_DigestInit/#synopsis
class Evp_Q_Digest_Operation extends EvpOperation, Crypto::HashOperationInstance {
Evp_Q_Digest_Operation() { this.(Call).getTarget().getName() = "EVP_Q_digest" }
class EVP_Q_Digest_Operation extends EVPOperation, Crypto::HashOperationInstance {
EVP_Q_Digest_Operation() { this.(Call).getTarget().getName() = "EVP_Q_digest" }
override Expr getAlgorithmArg() { result = this.(Call).getArgument(1) }
override EvpInitializer getInitCall() {
override EVP_Hash_Initializer getInitCall() {
// This variant of digest does not use an init
// and even if it were used, the init would be ignored/undefined
none()
@@ -44,25 +31,23 @@ class Evp_Q_Digest_Operation extends EvpOperation, Crypto::HashOperationInstance
override Expr getOutputArg() { result = this.(Call).getArgument(5) }
override Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
result = EvpOperation.super.getOutputArtifact()
result = EVPOperation.super.getOutputArtifact()
}
override Crypto::ConsumerInputDataFlowNode getInputConsumer() {
result = EvpOperation.super.getInputConsumer()
result = EVPOperation.super.getInputConsumer()
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class Evp_Digest_Operation extends EvpOperation, Crypto::HashOperationInstance {
Evp_Digest_Operation() { this.(Call).getTarget().getName() = "EVP_Digest" }
class EVP_Digest_Operation extends EVPOperation, Crypto::HashOperationInstance {
EVP_Digest_Operation() { this.(Call).getTarget().getName() = "EVP_Digest" }
// There is no context argument for this function
override CtxPointerSource getContext() { none() }
override Expr getContextArg() { none() }
override Expr getAlgorithmArg() { result = this.(Call).getArgument(4) }
override EvpPrimaryAlgorithmInitializer getInitCall() {
override EVP_Hash_Initializer getInitCall() {
// This variant of digest does not use an init
// and even if it were used, the init would be ignored/undefined
none()
@@ -73,34 +58,28 @@ class Evp_Digest_Operation extends EvpOperation, Crypto::HashOperationInstance {
override Expr getOutputArg() { result = this.(Call).getArgument(2) }
override Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
result = EvpOperation.super.getOutputArtifact()
result = EVPOperation.super.getOutputArtifact()
}
override Crypto::ConsumerInputDataFlowNode getInputConsumer() {
result = EvpOperation.super.getInputConsumer()
result = EVPOperation.super.getInputConsumer()
}
}
class Evp_Digest_Final_Call extends EvpFinal, Crypto::HashOperationInstance {
Evp_Digest_Final_Call() {
class EVP_Digest_Final_Call extends EVPFinal, Crypto::HashOperationInstance {
EVP_Digest_Final_Call() {
this.(Call).getTarget().getName() in [
"EVP_DigestFinal", "EVP_DigestFinal_ex", "EVP_DigestFinalXOF"
]
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
override Expr getOutputArg() { result = this.(Call).getArgument(1) }
override Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
result = EvpFinal.super.getOutputArtifact()
result = EVPFinal.super.getOutputArtifact()
}
override Crypto::ConsumerInputDataFlowNode getInputConsumer() {
result = EvpFinal.super.getInputConsumer()
}
override Expr getAlgorithmArg() {
result = this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg()
result = EVPFinal.super.getInputConsumer()
}
}

View File

@@ -1,96 +0,0 @@
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.CtxFlow
private import OpenSSLOperationBase
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
class EvpKeyGenInitialize extends EvpPrimaryAlgorithmInitializer {
EvpKeyGenInitialize() {
this.(Call).getTarget().getName() in [
"EVP_PKEY_keygen_init",
"EVP_PKEY_paramgen_init"
]
}
/**
* Gets the algorithm argument.
* In this case the algorithm is encoded through the context argument.
* The context may be directly created from an algorithm consumer,
* or from a new operation off of a prior key. Either way,
* we will treat this argument as the algorithm argument.
*/
override Expr getAlgorithmArg() { result = this.getContext() }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpKeyGenOperation extends EvpOperation, Crypto::KeyGenerationOperationInstance {
DataFlow::Node keyResultNode;
EvpKeyGenOperation() {
this.(Call).getTarget().getName() in ["EVP_RSA_gen", "EVP_PKEY_Q_keygen"] and
keyResultNode.asExpr() = this
or
this.(Call).getTarget().getName() in ["EVP_PKEY_generate", "EVP_PKEY_keygen"] and
keyResultNode.asDefiningArgument() = this.(Call).getArgument(1)
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
override Expr getAlgorithmArg() {
this.(Call).getTarget().getName() = "EVP_PKEY_Q_keygen" and
result = this.(Call).getArgument(0)
or
result = this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg()
}
override Crypto::KeyArtifactType getOutputKeyType() { result = Crypto::TAsymmetricKeyType() }
override Expr getInputArg() { none() }
override Expr getOutputArg() { result = keyResultNode.asExpr() }
override Crypto::ArtifactOutputDataFlowNode getOutputKeyArtifact() { result = keyResultNode }
override Crypto::ConsumerInputDataFlowNode getKeySizeConsumer() {
this.(Call).getTarget().getName() = "EVP_PKEY_Q_keygen" and
result = DataFlow::exprNode(this.(Call).getArgument(3)) and
// Arg 3 (0 based) is only a key size if the 'type' parameter is RSA, however,
// as a crude approximation, assume that if the type of the argument is not a derived type
// the argument must specify a key size (this is to avoid tracing if "rsa" is in the type parameter)
not this.(Call).getArgument(3).getType().getUnderlyingType() instanceof DerivedType
or
this.(Call).getTarget().getName() = "EVP_RSA_gen" and
result = DataFlow::exprNode(this.(Call).getArgument(0))
or
result = DataFlow::exprNode(this.getInitCall().(EvpKeySizeInitializer).getKeySizeArg())
}
}
/**
* A call to `EVP_PKEY_new_mac_key` that creatse a new generic MAC key.
* Signature: EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, const unsigned char *key, int keylen);
*/
class EvpNewMacKey extends EvpOperation, Crypto::KeyGenerationOperationInstance {
DataFlow::Node keyResultNode;
EvpNewMacKey() {
this.(Call).getTarget().getName() = "EVP_PKEY_new_mac_key" and keyResultNode.asExpr() = this
}
override CtxPointerSource getContext() { none() }
override Crypto::KeyArtifactType getOutputKeyType() { result = Crypto::TSymmetricKeyType() }
override Expr getOutputArg() { result = keyResultNode.asExpr() }
override Crypto::ArtifactOutputDataFlowNode getOutputKeyArtifact() { result = keyResultNode }
override Expr getInputArg() { none() }
override Expr getAlgorithmArg() { result = this.(Call).getArgument(0) }
override Crypto::ConsumerInputDataFlowNode getKeySizeConsumer() {
result = DataFlow::exprNode(this.(Call).getArgument(3))
}
}
/// TODO: https://docs.openssl.org/3.0/man3/EVP_PKEY_new/#synopsis

View File

@@ -1,119 +0,0 @@
/**
* Initializers for EVP PKey
* including:
* https://docs.openssl.org/3.0/man3/EVP_PKEY_CTX_ctrl/
* https://docs.openssl.org/3.0/man3/EVP_EncryptInit/#synopsis
*/
import cpp
private import experimental.quantum.OpenSSL.CtxFlow
private import OpenSSLOperations
/**
* A call to `EVP_PKEY_CTX_new` or `EVP_PKEY_CTX_new_from_pkey`.
* These calls initialize the context from a prior key.
* The key may be generated previously, or merely had it's
* parameters set (e.g., `EVP_PKEY_paramgen`).
* NOTE: for the case of `EVP_PKEY_paramgen`, these calls
* are encoded as context passthroughs, and any operation
* will get all associated initializers for the paramgen
* at the final keygen operation automatically.
*/
class EvpNewKeyCtx extends EvpKeyInitializer {
Expr keyArg;
EvpNewKeyCtx() {
this.(Call).getTarget().getName() = "EVP_PKEY_CTX_new" and
keyArg = this.(Call).getArgument(0)
or
this.(Call).getTarget().getName() = "EVP_PKEY_CTX_new_from_pkey" and
keyArg = this.(Call).getArgument(1)
}
/**
* Context is returned
*/
override CtxPointerSource getContext() { result = this }
override Expr getKeyArg() { result = keyArg }
}
/**
* A call to "EVP_PKEY_CTX_set_ec_paramgen_curve_nid".
* Note that this is a primary algorithm as the pattenr is to specify an "EC" context,
* then set the specific curve later. Although the curve is set later, it is the primary
* algorithm intended for an operation.
*/
class EvpCtxSetPrimaryAlgorithmInitializer extends EvpPrimaryAlgorithmInitializer {
EvpCtxSetPrimaryAlgorithmInitializer() {
this.(Call).getTarget().getName() = "EVP_PKEY_CTX_set_ec_paramgen_curve_nid"
}
override Expr getAlgorithmArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpCtxSetHashAlgorithmInitializer extends EvpHashAlgorithmInitializer {
EvpCtxSetHashAlgorithmInitializer() {
this.(Call).getTarget().getName() in [
"EVP_PKEY_CTX_set_signature_md", "EVP_PKEY_CTX_set_rsa_mgf1_md_name",
"EVP_PKEY_CTX_set_rsa_mgf1_md", "EVP_PKEY_CTX_set_rsa_oaep_md_name",
"EVP_PKEY_CTX_set_rsa_oaep_md", "EVP_PKEY_CTX_set_dsa_paramgen_md",
"EVP_PKEY_CTX_set_dh_kdf_md", "EVP_PKEY_CTX_set_ecdh_kdf_md"
]
}
override Expr getHashAlgorithmArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpCtxSetKeySizeInitializer extends EvpKeySizeInitializer {
Expr arg;
EvpCtxSetKeySizeInitializer() {
this.(Call).getTarget().getName() in [
"EVP_PKEY_CTX_set_rsa_keygen_bits", "EVP_PKEY_CTX_set_dsa_paramgen_bits",
"EVP_CIPHER_CTX_set_key_length"
] and
arg = this.(Call).getArgument(1)
or
this.(Call).getTarget().getName() = "EVP_PKEY_CTX_set_mac_key" and
arg = this.(Call).getArgument(2)
}
override Expr getKeySizeArg() { result = arg }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpCtxSetKeyInitializer extends EvpKeyInitializer {
EvpCtxSetKeyInitializer() { this.(Call).getTarget().getName() = "EVP_PKEY_CTX_set_mac_key" }
override Expr getKeyArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpCtxSetPaddingInitializer extends EvpPaddingInitializer {
EvpCtxSetPaddingInitializer() {
this.(Call).getTarget().getName() in [
"EVP_PKEY_CTX_set_rsa_padding", "EVP_CIPHER_CTX_set_padding"
]
}
override Expr getPaddingArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpCtxSetSaltLengthInitializer extends EvpSaltLengthInitializer {
EvpCtxSetSaltLengthInitializer() {
this.(Call).getTarget().getName() = "EVP_PKEY_CTX_set_rsa_pss_saltlen"
}
override Expr getSaltLengthArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}

View File

@@ -1,200 +0,0 @@
/**
* Provides classes for modeling OpenSSL's EVP signature operations
*/
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.AvcFlow
private import experimental.quantum.OpenSSL.CtxFlow
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
private import experimental.quantum.OpenSSL.Operations.OpenSSLOperations
// TODO: verification functions
class EvpSignatureDigestInitializer extends EvpHashAlgorithmInitializer {
Expr arg;
EvpSignatureDigestInitializer() {
this.(Call).getTarget().getName() in ["EVP_DigestSignInit_ex", "EVP_DigestSignInit"] and
arg = this.(Call).getArgument(2)
or
this.(Call).getTarget().getName() in ["EVP_SignInit", "EVP_SignInit_ex"] and
arg = this.(Call).getArgument(1)
}
override Expr getHashAlgorithmArg() { result = arg }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpSignatureKeyInitializer extends EvpKeyInitializer {
Expr arg;
EvpSignatureKeyInitializer() {
this.(Call).getTarget().getName() = "EVP_DigestSignInit_ex" and
arg = this.(Call).getArgument(5)
or
this.(Call).getTarget().getName() = "EVP_DigestSignInit" and
arg = this.(Call).getArgument(4)
}
override Expr getKeyArg() { result = arg }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class EvpSignaturePrimaryAlgorithmInitializer extends EvpPrimaryAlgorithmInitializer {
Expr arg;
EvpSignaturePrimaryAlgorithmInitializer() {
// signature algorithm
this.(Call).getTarget().getName() in ["EVP_PKEY_sign_init_ex2", "EVP_PKEY_sign_message_init"] and
arg = this.(Call).getArgument(1)
or
// configuration through the context argument
this.(Call).getTarget().getName() in ["EVP_PKEY_sign_init", "EVP_PKEY_sign_init_ex"] and
arg = this.getContext()
}
override Expr getAlgorithmArg() { result = arg }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
class Evp_Signature_Update_Call extends EvpUpdate {
Evp_Signature_Update_Call() {
this.(Call).getTarget().getName() in [
"EVP_DigestSignUpdate", "EVP_SignUpdate", "EVP_PKEY_sign_message_update"
]
}
/**
* Input is the message to sign.
*/
override Expr getInputArg() { result = this.(Call).getArgument(1) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
}
/**
* We model output explicit output arguments as predicate to use it in constructors.
* The predicate must cover all EVP_Signature_Operation subclasses.
*/
pragma[inline]
private Expr signatureOperationOutputArg(Call call) {
if call.getTarget().getName() = "EVP_SignFinal_ex"
then result = call.getArgument(2)
else result = call.getArgument(1)
}
/**
* The base configuration for all EVP signature operations.
*/
abstract class EvpSignatureOperation extends EvpOperation, Crypto::SignatureOperationInstance {
EvpSignatureOperation() {
this.(Call).getTarget().getName().matches("EVP_%") and
// NULL output argument means the call is to get the size of the signature and such call is not an operation
(
not exists(signatureOperationOutputArg(this).getValue())
or
signatureOperationOutputArg(this).getValue() != "0"
)
}
Expr getHashAlgorithmArg() {
this.getInitCall().(EvpHashAlgorithmInitializer).getHashAlgorithmArg() = result
}
override Expr getAlgorithmArg() {
this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg() = result
}
override Crypto::AlgorithmValueConsumer getHashAlgorithmValueConsumer() {
AvcToCallArgFlow::flow(result.(OpenSslAlgorithmValueConsumer).getResultNode(),
DataFlow::exprNode(this.getHashAlgorithmArg()))
}
/**
* Signing, verification or unknown.
*/
override Crypto::KeyOperationSubtype getKeyOperationSubtype() {
// TODO: if this KeyOperationSubtype does not match initialization call's KeyOperationSubtype then we found a bug
if this.(Call).getTarget().getName().toLowerCase().matches("%sign%")
then result instanceof Crypto::TSignMode
else
if this.(Call).getTarget().getName().toLowerCase().matches("%verify%")
then result instanceof Crypto::TVerifyMode
else result instanceof Crypto::TUnknownKeyOperationMode
}
override Crypto::ConsumerInputDataFlowNode getNonceConsumer() {
// TODO: some signing operations may have explicit nonce generators
none()
}
/**
* Keys provided in the initialization call or in a context are found by this method.
* Keys in explicit arguments are found by overridden methods in extending classes.
*/
override Crypto::ConsumerInputDataFlowNode getKeyConsumer() {
result = DataFlow::exprNode(this.getInitCall().(EvpKeyInitializer).getKeyArg())
}
override Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
result = EvpOperation.super.getOutputArtifact()
}
override Crypto::ConsumerInputDataFlowNode getInputConsumer() {
result = EvpOperation.super.getInputConsumer()
}
/**
* TODO: only signing operations for now, change when verificaiton is added
*/
override Crypto::ConsumerInputDataFlowNode getSignatureConsumer() { none() }
}
class Evp_Signature_Call extends EvpSignatureOperation {
Evp_Signature_Call() { this.(Call).getTarget().getName() in ["EVP_DigestSign", "EVP_PKEY_sign"] }
/**
* Output is the signature.
*/
override Expr getOutputArg() { result = signatureOperationOutputArg(this) }
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
/**
* Input is the message to sign.
*/
override Expr getInputArg() { result = this.(Call).getArgument(3) }
}
class Evp_Signature_Final_Call extends EvpFinal, EvpSignatureOperation {
Evp_Signature_Final_Call() {
this.(Call).getTarget().getName() in [
"EVP_DigestSignFinal",
"EVP_SignFinal_ex",
"EVP_SignFinal",
"EVP_PKEY_sign_message_final"
]
}
override CtxPointerSource getContext() { result = this.(Call).getArgument(0) }
override Expr getAlgorithmArg() {
this.getInitCall().(EvpPrimaryAlgorithmInitializer).getAlgorithmArg() = result
}
override Crypto::ConsumerInputDataFlowNode getKeyConsumer() {
// key provided as an argument
this.(Call).getTarget().getName() in ["EVP_SignFinal", "EVP_SignFinal_ex"] and
result = DataFlow::exprNode(this.(Call).getArgument(3))
or
// or find key in the initialization call
result = EvpSignatureOperation.super.getKeyConsumer()
}
/**
* Output is the signature.
*/
override Expr getOutputArg() { result = signatureOperationOutputArg(this) }
}

View File

@@ -1,51 +1,14 @@
private import experimental.quantum.Language
private import experimental.quantum.OpenSSL.AvcFlow
private import experimental.quantum.OpenSSL.CtxFlow
private import experimental.quantum.OpenSSL.KeyFlow
private import experimental.quantum.OpenSSL.CtxFlow as CTXFlow
private import experimental.quantum.OpenSSL.AlgorithmValueConsumers.OpenSSLAlgorithmValueConsumers
// Importing these intializers here to ensure the are part of any model that is
// using OpenSslOperationBase. This further ensures that initializers are tied to opeartions
// even if only importing the operation by itself.
import EVPPKeyCtxInitializer
module EncValToInitEncArgConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) { source.asExpr().getValue().toInt() in [0, 1] }
predicate isSink(DataFlow::Node sink) {
exists(EvpKeyOperationSubtypeInitializer initCall |
sink.asExpr() = initCall.getKeyOperationSubtypeArg()
)
}
}
module EncValToInitEncArgFlow = DataFlow::Global<EncValToInitEncArgConfig>;
private predicate argToAvc(Expr arg, Crypto::AlgorithmValueConsumer avc) {
// NOTE: because we trace through keys to their sources we must consider that the arg is an avc
// Consider this example:
// EVP_PKEY *pkey = EVP_PKEY_new_mac_key(EVP_PKEY_HMAC, NULL, key, key_len);
// The key may trace into a signing operation. Tracing through the key we will get the arg taking `EVP_PKEY_HMAC`
// as the algorithm value consumer (the input node of the AVC). The output node of this AVC
// is the call return of `EVP_PKEY_new_mac_key`. If we trace from the AVC result to
// the input argument this will not be possible (from the return to the call argument is a backwards flow).
// Therefore, we must consider the input node of the AVC as the argument.
// This should only occur due to tracing through keys to find configuration data.
avc.getInputNode().asExpr() = arg
or
AvcToCallArgFlow::flow(avc.(OpenSslAlgorithmValueConsumer).getResultNode(),
DataFlow::exprNode(arg))
}
/**
* A class for all OpenSsl operations.
* A class for all OpenSSL operations.
*/
abstract class OpenSslOperation extends Crypto::OperationInstance instanceof Call {
abstract class OpenSSLOperation extends Crypto::OperationInstance instanceof Call {
/**
* Gets the argument that specifies the algorithm for the operation.
* This argument might not be immediately present at the specified operation.
* For example, it might be set in an initialization call.
* Modelers of the operation are resonsible for linking the operation to any
* initialization calls, and providing that argument as a returned value here.
* Expression that specifies the algorithm for the operation.
* Will be an argument of the operation in the simplest case.
*/
abstract Expr getAlgorithmArg();
@@ -53,191 +16,54 @@ abstract class OpenSslOperation extends Crypto::OperationInstance instanceof Cal
* Algorithm is specified in initialization call or is implicitly established by the key.
*/
override Crypto::AlgorithmValueConsumer getAnAlgorithmValueConsumer() {
argToAvc(this.getAlgorithmArg(), result)
AlgGetterToAlgConsumerFlow::flow(result.(OpenSSLAlgorithmValueConsumer).getResultNode(),
DataFlow::exprNode(this.getAlgorithmArg()))
}
}
/**
* A Call to an initialization function for an operation.
* A Call to initialization functions from the EVP API.
* These are not operations in the sense of Crypto::OperationInstance,
* but they are used to initialize the context for the operation.
* There may be multiple initialization calls for the same operation.
* Intended for use with EvPOperation.
*/
abstract class EvpInitializer extends Call {
/**
* Gets the context argument or return that ties together initialization, updates and/or final calls.
* The context is the context coming into the initializer and is the output as well.
* This is assumed to be the same argument.
*/
abstract CtxPointerSource getContext();
}
/**
* A call to initialize a key size.
*/
abstract class EvpKeySizeInitializer extends EvpInitializer {
abstract Expr getKeySizeArg();
}
/**
* A call to initialize a key operation subtype.
*/
abstract class EvpKeyOperationSubtypeInitializer extends EvpInitializer {
abstract Expr getKeyOperationSubtypeArg();
private Crypto::KeyOperationSubtype intToCipherOperationSubtype(int i) {
i = 0 and
result instanceof Crypto::TEncryptMode
or
i = 1 and result instanceof Crypto::TDecryptMode
}
Crypto::KeyOperationSubtype getKeyOperationSubtype() {
exists(DataFlow::Node a, DataFlow::Node b |
EncValToInitEncArgFlow::flow(a, b) and
b.asExpr() = this.getKeyOperationSubtypeArg() and
result = this.intToCipherOperationSubtype(a.asExpr().getValue().toInt())
)
or
// Infer the subtype from the initialization call, and ignore the argument
this.(Call).getTarget().getName().toLowerCase().matches("%encrypt%") and
result instanceof Crypto::TEncryptMode
or
this.(Call).getTarget().getName().toLowerCase().matches("%decrypt%") and
result instanceof Crypto::TDecryptMode
}
}
/**
* An primary algorithm initializer initializes the primary algorithm for a given operation.
* For example, for a signing operation, the algorithm initializer may initialize algorithms
* like RSA. Other algorithsm may be initialized on an operation, as part of a larger
* operation/protocol. For example, hashing operations on signing operations; however,
* these are not the primary algorithm. Any other algorithms initialized on an operation
* require a specialized initializer, such as EvpHashAlgorithmInitializer.
*/
abstract class EvpPrimaryAlgorithmInitializer extends EvpInitializer {
abstract Expr getAlgorithmArg();
Crypto::AlgorithmValueConsumer getAlgorithmValueConsumer() {
argToAvc(this.getAlgorithmArg(), result)
}
}
/**
* A call to initialize a key.
*/
abstract class EvpKeyInitializer extends EvpInitializer {
abstract Expr getKeyArg();
}
/**
* A key initializer may initialize the algorithm and the key size through
* the key. Extend any instance of key initializer provide initialization
* of the algorithm and key size from the key.
*/
class EvpInitializerThroughKey extends EvpPrimaryAlgorithmInitializer, EvpKeySizeInitializer,
EvpKeyInitializer
{
Expr arg;
CtxPointerSource context;
EvpInitializerThroughKey() {
exists(EvpKeyInitializer keyInit |
arg = keyInit.getKeyArg() and this = keyInit and context = keyInit.getContext()
)
}
override CtxPointerSource getContext() { result = context }
override Expr getAlgorithmArg() {
result =
getSourceKeyCreationInstanceFromArg(this.getKeyArg()).(OpenSslOperation).getAlgorithmArg()
}
override Expr getKeySizeArg() {
result = getSourceKeyCreationInstanceFromArg(this.getKeyArg()).getKeySizeConsumer().asExpr()
}
override Expr getKeyArg() { result = arg }
}
/**
* A default initializer for any key operation that accepts a key as input.
* A key initializer allows for a mechanic to go backwards to the key creation operation
* and find the algorithm and key size.
* If a user were to stipualte a key consumer for an operation but fail to indicate it as an
* initializer, automatic tracing to the creation operation would not occur.
* USERS SHOULD NOT NEED TO USE OR EXTEND THIS CLASS DIRECTLY.
*
* TODO: re-evaluate this approach
*/
class DefaultKeyInitializer extends EvpKeyInitializer instanceof Crypto::KeyOperationInstance {
Expr arg;
DefaultKeyInitializer() {
exists(Call c |
c.getAChild*() = arg and
arg = this.(Crypto::KeyOperationInstance).getKeyConsumer().asExpr() and
c = this
)
}
override Expr getKeyArg() { result = arg }
override CtxPointerSource getContext() { result = this.(EvpOperation).getContext() }
}
abstract class EvpIVInitializer extends EvpInitializer {
abstract Expr getIVArg();
}
/**
* A call to initialize padding.
*/
abstract class EvpPaddingInitializer extends EvpInitializer {
/**
* Gets the padding mode argument.
* e.g., `EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING)` argument 1 (0-based)
*/
abstract Expr getPaddingArg();
}
/**
* A call to initialize a salt length.
*/
abstract class EvpSaltLengthInitializer extends EvpInitializer {
/**
* Gets the salt length argument.
* e.g., `EVP_PKEY_CTX_set_scrypt_salt_len(ctx, 16)` argument 1 (0-based)
*/
abstract Expr getSaltLengthArg();
}
/**
* A call to initialize a hash algorithm.
*/
abstract class EvpHashAlgorithmInitializer extends EvpInitializer {
abstract Expr getHashAlgorithmArg();
Crypto::AlgorithmValueConsumer getHashAlgorithmValueConsumer() {
argToAvc(this.getHashAlgorithmArg(), result)
}
}
/**
* A Call to an "update" function.
* These are not operations in the sense of Crypto::OperationInstance,
* but produce intermediate results for the operation that are later finalized
* (see EvpFinal).
* Intended for use with EvPOperation.
*/
abstract class EvpUpdate extends Call {
abstract class EVPInitialize extends Call {
/**
* Gets the context argument that ties together initialization, updates and/or final calls.
*/
abstract CtxPointerSource getContext();
Expr getContextArg() { result = this.(Call).getArgument(0) }
/**
* Gets the type of key operation, none if not applicable.
*/
Crypto::KeyOperationSubtype getKeyOperationSubtype() { none() }
/**
* Explicitly specified algorithm or none if implicit (e.g., established by the key).
* None if not applicable.
*/
Expr getAlgorithmArg() { none() }
/**
* Gets the key for the operation, none if not applicable.
*/
Expr getKeyArg() { none() }
/**
* Gets the IV/nonce, none if not applicable.
*/
Expr getIVArg() { none() }
}
/**
* A Call to update functions from the EVP API.
* These are not operations in the sense of Crypto::OperationInstance,
* but they are used to update the context for the operation.
*/
abstract class EVPUpdate extends Call {
/**
* Gets the context argument that ties together initialization, updates and/or final calls.
*/
Expr getContextArg() { result = this.(Call).getArgument(0) }
/**
* Update calls always have some input data like plaintext or message digest.
@@ -250,16 +76,31 @@ abstract class EvpUpdate extends Call {
Expr getOutputArg() { none() }
}
/**
* Flows from algorithm values to operations, specific to OpenSSL
*/
private module AlgGetterToAlgConsumerConfig implements DataFlow::ConfigSig {
predicate isSource(DataFlow::Node source) {
exists(OpenSSLAlgorithmValueConsumer c | c.getResultNode() = source)
}
predicate isSink(DataFlow::Node sink) {
exists(EVPOperation c | c.getAlgorithmArg() = sink.asExpr())
}
}
private module AlgGetterToAlgConsumerFlow = DataFlow::Global<AlgGetterToAlgConsumerConfig>;
/**
* The base class for all operations of the EVP API.
* This captures one-shot APIs (with and without an initilizer call) and final calls.
* Provides some default methods for Crypto::KeyOperationInstance class.
* Provides some default methods for Crypto::KeyOperationInstance class
*/
abstract class EvpOperation extends OpenSslOperation {
abstract class EVPOperation extends OpenSSLOperation {
/**
* Gets the context argument that ties together initialization, updates and/or final calls.
*/
abstract CtxPointerSource getContext();
Expr getContextArg() { result = this.(Call).getArgument(0) }
/**
* Some input data like plaintext or message digest.
@@ -272,10 +113,17 @@ abstract class EvpOperation extends OpenSslOperation {
*/
abstract Expr getOutputArg();
/**
* Overwrite with an explicitly specified algorithm or leave base implementation to find it in the initialization call.
*/
override Expr getAlgorithmArg() { result = this.getInitCall().getAlgorithmArg() }
/**
* Finds the initialization call, may be none.
*/
EvpInitializer getInitCall() { ctxSrcToSrcFlow(result.getContext(), this.getContext()) }
EVPInitialize getInitCall() {
CTXFlow::ctxArgFlowsToCtxArg(result.getContextArg(), this.getContextArg())
}
Crypto::ArtifactOutputDataFlowNode getOutputArtifact() {
result = DataFlow::exprNode(this.getOutputArg())
@@ -290,17 +138,15 @@ abstract class EvpOperation extends OpenSslOperation {
}
/**
* An EVP final call,
* which is typicall used in an update/final pattern.
* Final operations are typically identified by "final" in the name,
* e.g., "EVP_DigestFinal", "EVP_EncryptFinal", etc.
* however, this is not a strict rule.
* The final calls of the EVP API.
*/
abstract class EvpFinal extends EvpOperation {
abstract class EVPFinal extends EVPOperation {
/**
* All update calls that were executed before this final call.
*/
EvpUpdate getUpdateCalls() { ctxSrcToSrcFlow(result.getContext(), this.getContext()) }
EVPUpdate getUpdateCalls() {
CTXFlow::ctxArgFlowsToCtxArg(result.getContextArg(), this.getContextArg())
}
/**
* Gets the input data provided to all update calls.

View File

@@ -2,5 +2,3 @@ import OpenSSLOperationBase
import EVPCipherOperation
import EVPHashOperation
import ECKeyGenOperation
import EVPSignatureOperation
import EVPKeyGenOperation

View File

@@ -3,10 +3,11 @@ private import experimental.quantum.Language
private import LibraryDetector
private import semmle.code.cpp.dataflow.new.DataFlow
class OpenSslRandomNumberGeneratorInstance extends Crypto::RandomNumberGenerationInstance instanceof Call
class OpenSSLRandomNumberGeneratorInstance extends Crypto::RandomNumberGenerationInstance instanceof Call
{
OpenSslRandomNumberGeneratorInstance() {
this.(Call).getTarget().getName() in ["RAND_bytes", "RAND_pseudo_bytes"]
OpenSSLRandomNumberGeneratorInstance() {
this.(Call).getTarget().getName() in ["RAND_bytes", "RAND_pseudo_bytes"] and
isPossibleOpenSSLFunction(this.(Call).getTarget())
}
override Crypto::DataFlowNode getOutputNode() {

View File

@@ -42,8 +42,6 @@ module PrivateCleartextWrite {
predicate isSink(DataFlow::Node sink) { sink instanceof Sink }
predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer }
predicate observeDiffInformedIncrementalMode() { any() }
}
module WriteFlow = TaintTracking::Global<WriteConfig>;

View File

@@ -1,480 +0,0 @@
# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
extensions:
- addsTo:
pack: codeql/cpp-all
extensible: summaryModel
data:
- ["", "", True, "AttachPreparedDictionary", "(CompoundDictionary *,const PreparedDictionary *)", "", "Argument[1]", "Argument[*0].Field[**chunk_source]", "taint", "dfc-generated"]
- ["", "", True, "AttachPreparedDictionary", "(CompoundDictionary *,const PreparedDictionary *)", "", "Argument[1]", "Argument[*0].Field[*chunk_source]", "taint", "dfc-generated"]
- ["", "", True, "AttachPreparedDictionary", "(CompoundDictionary *,const PreparedDictionary *)", "", "Argument[1]", "Argument[*0].Field[*chunks]", "value", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*0].Field[*total_count_]", "value", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[*4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[*4]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[*6]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[0]", "Argument[*0].Field[*index_left_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[0]", "Argument[*0].Field[*index_right_or_value_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[1]", "Argument[*0].Field[*total_count_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[4]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildAndStoreHuffmanTreeFast", "(HuffmanTree *,const uint32_t *,const size_t,const size_t,uint8_t *,uint16_t *,size_t *,uint8_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildCodeLengthsHuffmanTable", "(HuffmanCode *,const uint8_t *const,uint16_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*10]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*2].Field[**types]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*2].Field[*types]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*3].Field[**types]", "Argument[*12]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*3].Field[*types]", "Argument[*12]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*4].Field[**types]", "Argument[*13]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*4].Field[*types]", "Argument[*13]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*5]", "Argument[*11].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[*5]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[10]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[11]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[12]", "Argument[*12]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[13]", "Argument[*13]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[5]", "Argument[*11].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[5]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[6]", "Argument[*11].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[6]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[7]", "Argument[*11].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[7]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[8]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHistogramsWithContext", "(const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *)", "", "Argument[9]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHuffmanTable", "(HuffmanCode *,int,const uint16_t *const,uint16_t *)", "", "Argument[*2]", "Argument[*0].Field[*value]", "value", "dfc-generated"]
- ["", "", True, "BrotliBuildHuffmanTable", "(HuffmanCode *,int,const uint16_t *const,uint16_t *)", "", "Argument[0]", "Argument[*0].Field[*value]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHuffmanTable", "(HuffmanCode *,int,const uint16_t *const,uint16_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHuffmanTable", "(HuffmanCode *,int,const uint16_t *const,uint16_t *)", "", "Argument[2]", "Argument[*0].Field[*value]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildHuffmanTable", "(HuffmanCode *,int,const uint16_t *const,uint16_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[*1]", "Argument[*10].Field[**literal_histograms].Field[*bit_cost_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[*1]", "Argument[*10].Field[**literal_histograms].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[*1]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[1]", "Argument[*10].Field[**literal_histograms].Field[*bit_cost_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[1]", "Argument[*10].Field[**literal_histograms].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[1]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[2]", "Argument[*10].Field[**literal_histograms].Field[*bit_cost_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[2]", "Argument[*10].Field[**literal_histograms].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[2]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[3]", "Argument[*10].Field[**literal_histograms].Field[*bit_cost_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[3]", "Argument[*10].Field[**literal_histograms].Field[*data_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[3]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[5]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[6]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[8]", "Argument[*10].Field[*command_split].Field[**lengths]", "value", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlock", "(MemoryManager *,const uint8_t *,const size_t,const size_t,BrotliEncoderParams *,uint8_t,uint8_t,Command *,size_t,ContextType,MetaBlockSplit *)", "", "Argument[9]", "Argument[*10].Field[**literal_histograms]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlockGreedy", "(MemoryManager *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,ContextLut,size_t,const uint32_t *,const Command *,size_t,MetaBlockSplit *)", "", "Argument[*8]", "Argument[*11].Field[**literal_context_map]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlockGreedy", "(MemoryManager *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,ContextLut,size_t,const uint32_t *,const Command *,size_t,MetaBlockSplit *)", "", "Argument[7]", "Argument[*11].Field[**literal_context_map]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlockGreedy", "(MemoryManager *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,ContextLut,size_t,const uint32_t *,const Command *,size_t,MetaBlockSplit *)", "", "Argument[7]", "Argument[*11].Field[*literal_histograms_size]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildMetaBlockGreedy", "(MemoryManager *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,ContextLut,size_t,const uint32_t *,const Command *,size_t,MetaBlockSplit *)", "", "Argument[8]", "Argument[*11].Field[**literal_context_map]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildSimpleHuffmanTable", "(HuffmanCode *,int,uint16_t *,uint32_t)", "", "Argument[*2]", "Argument[*0].Field[*value]", "value", "dfc-generated"]
- ["", "", True, "BrotliBuildSimpleHuffmanTable", "(HuffmanCode *,int,uint16_t *,uint32_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildSimpleHuffmanTable", "(HuffmanCode *,int,uint16_t *,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildSimpleHuffmanTable", "(HuffmanCode *,int,uint16_t *,uint32_t)", "", "Argument[2]", "Argument[*0].Field[*value]", "taint", "dfc-generated"]
- ["", "", True, "BrotliBuildSimpleHuffmanTable", "(HuffmanCode *,int,uint16_t *,uint32_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[*1]", "Argument[*4]", "value", "df-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsCommand", "(MemoryManager *,const HistogramCommand *,const size_t,size_t,HistogramCommand *,size_t *,uint32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[*1]", "Argument[*4]", "value", "df-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsDistance", "(MemoryManager *,const HistogramDistance *,const size_t,size_t,HistogramDistance *,size_t *,uint32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[*1]", "Argument[*4]", "value", "df-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliClusterHistogramsLiteral", "(MemoryManager *,const HistogramLiteral *,const size_t,size_t,HistogramLiteral *,size_t *,uint32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[*2]", "Argument[*6].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[2]", "Argument[*6].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueCommand", "(const HistogramCommand *,HistogramCommand *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[*2]", "Argument[*6].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[2]", "Argument[*6].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueDistance", "(const HistogramDistance *,HistogramDistance *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[*2]", "Argument[*6].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[2]", "Argument[*6].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompareAndPushToQueueLiteral", "(const HistogramLiteral *,HistogramLiteral *,const uint32_t *,uint32_t,uint32_t,size_t,HistogramPair *,size_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentFast", "(BrotliOnePassArena *,const uint8_t *,size_t,int,int *,size_t,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*7]", "value", "df-generated"]
- ["", "", True, "BrotliCompressFragmentFast", "(BrotliOnePassArena *,const uint8_t *,size_t,int,int *,size_t,size_t *,uint8_t *)", "", "Argument[*6]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentFast", "(BrotliOnePassArena *,const uint8_t *,size_t,int,int *,size_t,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentFast", "(BrotliOnePassArena *,const uint8_t *,size_t,int,int *,size_t,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentFast", "(BrotliOnePassArena *,const uint8_t *,size_t,int,int *,size_t,size_t *,uint8_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*5]", "value", "df-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*9]", "value", "df-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[*6]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[*8]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[8]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCompressFragmentTwoPass", "(BrotliTwoPassArena *,const uint8_t *,size_t,int,uint32_t *,uint8_t *,int *,size_t,size_t *,uint8_t *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliConvertBitDepthsToSymbols", "(const uint8_t *,size_t,uint16_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliConvertBitDepthsToSymbols", "(const uint8_t *,size_t,uint16_t *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[*7]", "Argument[*9].Field[*dist_extra_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[*7]", "Argument[*9].Field[*dist_prefix_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[0]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[0]", "Argument[*9].Field[*cmd_prefix_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[0]", "Argument[*9].Field[*copy_len_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[11]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[1]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[1]", "Argument[*9].Field[*cmd_prefix_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[1]", "Argument[*9].Field[*copy_len_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[7]", "Argument[*9].Field[*dist_extra_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[7]", "Argument[*9].Field[*dist_prefix_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[9]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateBackwardReferences", "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHqZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHqZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[11]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHqZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[12]", "Argument[*12]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHqZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHuffmanTree", "(const uint32_t *,const size_t,const int,HuffmanTree *,uint8_t *)", "", "Argument[*0]", "Argument[*3].Field[*total_count_]", "value", "dfc-generated"]
- ["", "", True, "BrotliCreateHuffmanTree", "(const uint32_t *,const size_t,const int,HuffmanTree *,uint8_t *)", "", "Argument[0]", "Argument[*3].Field[*total_count_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHuffmanTree", "(const uint32_t *,const size_t,const int,HuffmanTree *,uint8_t *)", "", "Argument[1]", "Argument[*3].Field[*index_right_or_value_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHuffmanTree", "(const uint32_t *,const size_t,const int,HuffmanTree *,uint8_t *)", "", "Argument[1]", "Argument[*3].Field[*total_count_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateHuffmanTree", "(const uint32_t *,const size_t,const int,HuffmanTree *,uint8_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateManagedDictionary", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**2]", "ReturnValue[*].Field[*memory_manager_].Field[***opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliCreateManagedDictionary", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*2]", "ReturnValue[*].Field[*memory_manager_].Field[**opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliCreateManagedDictionary", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[0]", "ReturnValue[*].Field[*memory_manager_].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliCreateManagedDictionary", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "ReturnValue[*].Field[*memory_manager_].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliCreateManagedDictionary", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "ReturnValue[*].Field[*memory_manager_].Field[*opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliCreateZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[11]", "Argument[*11]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[12]", "Argument[*12]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[1]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliCreateZopfliBackwardReferences", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderAttachDictionary", "(BrotliDecoderState *,BrotliDecoderStateInternal *,BrotliSharedDictionaryType,size_t,const uint8_t[])", "", "Argument[*3]", "Argument[*0].Field[**dictionary].Field[**prefix]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderAttachDictionary", "(BrotliDecoderState *,BrotliDecoderStateInternal *,BrotliSharedDictionaryType,size_t,const uint8_t[])", "", "Argument[2]", "Argument[*0].Field[**dictionary].Field[*prefix_size]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderAttachDictionary", "(BrotliDecoderState *,BrotliDecoderStateInternal *,BrotliSharedDictionaryType,size_t,const uint8_t[])", "", "Argument[3]", "Argument[*0].Field[**dictionary].Field[*prefix]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**2]", "ReturnValue[*].Field[***memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**2]", "ReturnValue[*].Field[**dictionary].Field[***memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*2]", "ReturnValue[*].Field[**dictionary].Field[**memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*2]", "ReturnValue[*].Field[**memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[0]", "ReturnValue[*].Field[**dictionary].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[0]", "ReturnValue[*].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "ReturnValue[*].Field[**dictionary].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "ReturnValue[*].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "ReturnValue[*].Field[**dictionary].Field[*memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "ReturnValue[*].Field[*memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompress", "(size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[*1]", "Argument[*0].Field[*used_input]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[*2]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[1]", "Argument[*0].Field[*used_input]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[4]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderDecompressStream", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderGetErrorCode", "(const BrotliDecoderState *,const BrotliDecoderStateInternal *)", "", "Argument[*0].Field[*error_code]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderHuffmanTreeGroupInit", "(BrotliDecoderStateInternal *,HuffmanTreeGroup *,uint64_t,uint64_t,uint64_t)", "", "Argument[2]", "Argument[*1].Field[*alphabet_size_max]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderHuffmanTreeGroupInit", "(BrotliDecoderStateInternal *,HuffmanTreeGroup *,uint64_t,uint64_t,uint64_t)", "", "Argument[3]", "Argument[*1].Field[*alphabet_size_limit]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderHuffmanTreeGroupInit", "(BrotliDecoderStateInternal *,HuffmanTreeGroup *,uint64_t,uint64_t,uint64_t)", "", "Argument[4]", "Argument[*1].Field[**codes]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderHuffmanTreeGroupInit", "(BrotliDecoderStateInternal *,HuffmanTreeGroup *,uint64_t,uint64_t,uint64_t)", "", "Argument[4]", "Argument[*1].Field[*codes]", "taint", "dfc-generated"]
- ["", "", True, "BrotliDecoderHuffmanTreeGroupInit", "(BrotliDecoderStateInternal *,HuffmanTreeGroup *,uint64_t,uint64_t,uint64_t)", "", "Argument[4]", "Argument[*1].Field[*num_htrees]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderSetMetadataCallbacks", "(BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *)", "", "Argument[**3]", "Argument[*0].Field[***metadata_callback_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderSetMetadataCallbacks", "(BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *)", "", "Argument[*3]", "Argument[*0].Field[**metadata_callback_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderSetMetadataCallbacks", "(BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *)", "", "Argument[1]", "Argument[*0].Field[*metadata_start_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderSetMetadataCallbacks", "(BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *)", "", "Argument[2]", "Argument[*0].Field[*metadata_chunk_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderSetMetadataCallbacks", "(BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *)", "", "Argument[3]", "Argument[*0].Field[*metadata_callback_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**3]", "Argument[*0].Field[***memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**3]", "Argument[*0].Field[**dictionary].Field[***memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*3]", "Argument[*0].Field[**dictionary].Field[**memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*3]", "Argument[*0].Field[**memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "Argument[*0].Field[**dictionary].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "Argument[*0].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "Argument[*0].Field[**dictionary].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "Argument[*0].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[3]", "Argument[*0].Field[**dictionary].Field[*memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderStateInit", "(BrotliDecoderStateInternal *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[3]", "Argument[*0].Field[*memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "BrotliDecoderTakeOutput", "(BrotliDecoderState *,BrotliDecoderStateInternal *,size_t *)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderAttachPreparedDictionary", "(BrotliEncoderState *,BrotliEncoderStateInternal *,const BrotliEncoderPreparedDictionary *)", "", "Argument[*1].Field[**dictionary]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderAttachPreparedDictionary", "(BrotliEncoderState *,BrotliEncoderStateInternal *,const BrotliEncoderPreparedDictionary *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*4]", "Argument[*6]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*5]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[*5]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[3]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[3]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[4]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[5]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompress", "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompressStream", "(BrotliEncoderState *,BrotliEncoderStateInternal *,BrotliEncoderOperation,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[**3]", "Argument[**5]", "value", "df-generated"]
- ["", "", True, "BrotliEncoderCompressStream", "(BrotliEncoderState *,BrotliEncoderStateInternal *,BrotliEncoderOperation,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[**5]", "Argument[*0].Field[**next_out_]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCompressStream", "(BrotliEncoderState *,BrotliEncoderStateInternal *,BrotliEncoderOperation,size_t *,const uint8_t **,size_t *,uint8_t **,size_t *)", "", "Argument[**5]", "Argument[*0].Field[*last_bytes_]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**2]", "ReturnValue[*].Field[*memory_manager_].Field[***opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*2]", "ReturnValue[*].Field[*memory_manager_].Field[**opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[0]", "ReturnValue[*].Field[*memory_manager_].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "ReturnValue[*].Field[*memory_manager_].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "ReturnValue[*].Field[*memory_manager_].Field[*opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderEstimatePeakMemoryUsage", "(int,int,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderEstimatePeakMemoryUsage", "(int,int,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderGetPreparedDictionarySize", "(const BrotliEncoderPreparedDictionary *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderGetPreparedDictionarySize", "(const BrotliEncoderPreparedDictionary *)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderMaxCompressedSize", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**6]", "ReturnValue[*].Field[*memory_manager_].Field[***opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*2]", "ReturnValue[*].Field[**dictionary].Field[*num_items]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*6]", "ReturnValue[*].Field[*memory_manager_].Field[**opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "ReturnValue[*].Field[**dictionary].Field[*source_size]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "ReturnValue[*].Field[**dictionary].Field[*num_items]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[4]", "ReturnValue[*].Field[*memory_manager_].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[5]", "ReturnValue[*].Field[*memory_manager_].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderPrepareDictionary", "(BrotliSharedDictionaryType,size_t,const uint8_t[],int,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[6]", "ReturnValue[*].Field[*memory_manager_].Field[*opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliEncoderSetParameter", "(BrotliEncoderState *,BrotliEncoderStateInternal *,BrotliEncoderParameter,uint32_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderTakeOutput", "(BrotliEncoderState *,BrotliEncoderStateInternal *,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderTakeOutput", "(BrotliEncoderState *,BrotliEncoderStateInternal *,size_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderTakeOutput", "(BrotliEncoderState *,BrotliEncoderStateInternal *,size_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderTakeOutput", "(BrotliEncoderState *,BrotliEncoderStateInternal *,size_t *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderTakeOutput", "(BrotliEncoderState *,BrotliEncoderStateInternal *,size_t *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliEncoderTakeOutput", "(BrotliEncoderState *,BrotliEncoderStateInternal *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[*3]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[*3]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[*4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[0]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[0]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[1]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[2]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[3]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliEstimateBitCostsForLiterals", "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)", "", "Argument[4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliFindAllStaticDictionaryMatches", "(const BrotliEncoderDictionary *,const uint8_t *,size_t,size_t,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliFindAllStaticDictionaryMatches", "(const BrotliEncoderDictionary *,const uint8_t *,size_t,size_t,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceCommand", "(const HistogramCommand *,const HistogramCommand *,HistogramCommand *)", "", "Argument[*0]", "Argument[*2]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceCommand", "(const HistogramCommand *,const HistogramCommand *,HistogramCommand *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceCommand", "(const HistogramCommand *,const HistogramCommand *,HistogramCommand *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceDistance", "(const HistogramDistance *,const HistogramDistance *,HistogramDistance *)", "", "Argument[*0]", "Argument[*2]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceDistance", "(const HistogramDistance *,const HistogramDistance *,HistogramDistance *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceDistance", "(const HistogramDistance *,const HistogramDistance *,HistogramDistance *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceLiteral", "(const HistogramLiteral *,const HistogramLiteral *,HistogramLiteral *)", "", "Argument[*0]", "Argument[*2]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceLiteral", "(const HistogramLiteral *,const HistogramLiteral *,HistogramLiteral *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramBitCostDistanceLiteral", "(const HistogramLiteral *,const HistogramLiteral *,HistogramLiteral *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*2]", "Argument[*5].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*4]", "Argument[*3]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*5].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineCommand", "(HistogramCommand *,HistogramCommand *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[6]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*2]", "Argument[*5].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*4]", "Argument[*3]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*5].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineDistance", "(HistogramDistance *,HistogramDistance *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[6]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*2]", "Argument[*5].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[*4]", "Argument[*3]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*5].Field[*cost_diff]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramCombineLiteral", "(HistogramLiteral *,HistogramLiteral *,uint32_t *,uint32_t *,uint32_t *,HistogramPair *,size_t,size_t,size_t,size_t)", "", "Argument[6]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexCommand", "(MemoryManager *,HistogramCommand *,uint32_t *,size_t)", "", "Argument[*2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexCommand", "(MemoryManager *,HistogramCommand *,uint32_t *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexCommand", "(MemoryManager *,HistogramCommand *,uint32_t *,size_t)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexCommand", "(MemoryManager *,HistogramCommand *,uint32_t *,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexDistance", "(MemoryManager *,HistogramDistance *,uint32_t *,size_t)", "", "Argument[*2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexDistance", "(MemoryManager *,HistogramDistance *,uint32_t *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexDistance", "(MemoryManager *,HistogramDistance *,uint32_t *,size_t)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexDistance", "(MemoryManager *,HistogramDistance *,uint32_t *,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexLiteral", "(MemoryManager *,HistogramLiteral *,uint32_t *,size_t)", "", "Argument[*2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexLiteral", "(MemoryManager *,HistogramLiteral *,uint32_t *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexLiteral", "(MemoryManager *,HistogramLiteral *,uint32_t *,size_t)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramReindexLiteral", "(MemoryManager *,HistogramLiteral *,uint32_t *,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[*0]", "Argument[*5]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[*2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[*2]", "Argument[*6]", "value", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[0]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapCommand", "(const HistogramCommand *,size_t,const uint32_t *,size_t,HistogramCommand *,HistogramCommand *,uint32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[*0]", "Argument[*5]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[*2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[*2]", "Argument[*6]", "value", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[0]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapDistance", "(const HistogramDistance *,size_t,const uint32_t *,size_t,HistogramDistance *,HistogramDistance *,uint32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[*0]", "Argument[*5]", "value", "df-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[*2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[*2]", "Argument[*6]", "value", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[*6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[0]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliHistogramRemapLiteral", "(const HistogramLiteral *,size_t,const uint32_t *,size_t,HistogramLiteral *,HistogramLiteral *,uint32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliInitDistanceParams", "(BrotliDistanceParams *,uint32_t,uint32_t,int)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliInitDistanceParams", "(BrotliDistanceParams *,uint32_t,uint32_t,int)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "BrotliInitMemoryManager", "(MemoryManager *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**3]", "Argument[*0].Field[***opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliInitMemoryManager", "(MemoryManager *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*3]", "Argument[*0].Field[**opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliInitMemoryManager", "(MemoryManager *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "Argument[*0].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliInitMemoryManager", "(MemoryManager *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "Argument[*0].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliInitMemoryManager", "(MemoryManager *,brotli_alloc_func,brotli_free_func,void *)", "", "Argument[3]", "Argument[*0].Field[*opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliInitSharedEncoderDictionary", "(SharedEncoderDictionary *)", "", "Argument[*0].Field[*contextual].Field[*instance_]", "Argument[*0].Field[*contextual].Field[**dict]", "value", "dfc-generated"]
- ["", "", True, "BrotliOptimizeHuffmanCountsForRle", "(size_t,uint32_t *,uint8_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliPopulationCostCommand", "(const HistogramCommand *)", "", "Argument[*0].Field[*data_]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliPopulationCostCommand", "(const HistogramCommand *)", "", "Argument[*0].Field[*total_count_]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliPopulationCostDistance", "(const HistogramDistance *)", "", "Argument[*0].Field[*data_]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliPopulationCostDistance", "(const HistogramDistance *)", "", "Argument[*0].Field[*total_count_]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliPopulationCostLiteral", "(const HistogramLiteral *)", "", "Argument[*0].Field[*data_]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliPopulationCostLiteral", "(const HistogramLiteral *)", "", "Argument[*0].Field[*total_count_]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "BrotliSafeReadBits32Slow", "(BrotliBitReader *const,uint64_t,uint64_t *)", "", "Argument[1]", "Argument[*0].Field[*bit_pos_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliSafeReadBits32Slow", "(BrotliBitReader *const,uint64_t,uint64_t *)", "", "Argument[1]", "Argument[*0].Field[*val_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliSafeReadBits32Slow", "(BrotliBitReader *const,uint64_t,uint64_t *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryAttach", "(BrotliSharedDictionaryInternal *,BrotliSharedDictionaryType,size_t,const uint8_t[])", "", "Argument[*3]", "Argument[*0].Field[**prefix]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryAttach", "(BrotliSharedDictionaryInternal *,BrotliSharedDictionaryType,size_t,const uint8_t[])", "", "Argument[2]", "Argument[*0].Field[*prefix_size]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryAttach", "(BrotliSharedDictionaryInternal *,BrotliSharedDictionaryType,size_t,const uint8_t[])", "", "Argument[3]", "Argument[*0].Field[*prefix]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[**2]", "ReturnValue[*].Field[***memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[*2]", "ReturnValue[*].Field[**memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[0]", "ReturnValue[*].Field[*alloc_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[1]", "ReturnValue[*].Field[*free_func]", "value", "dfc-generated"]
- ["", "", True, "BrotliSharedDictionaryCreateInstance", "(brotli_alloc_func,brotli_free_func,void *)", "", "Argument[2]", "ReturnValue[*].Field[*memory_manager_opaque]", "value", "dfc-generated"]
- ["", "", True, "BrotliSplitBlock", "(MemoryManager *,const Command *,const size_t,const uint8_t *,const size_t,const size_t,const BrotliEncoderParams *,BlockSplit *,BlockSplit *,BlockSplit *)", "", "Argument[*1].Field[*insert_len_]", "Argument[*7].Field[**lengths]", "taint", "dfc-generated"]
- ["", "", True, "BrotliSplitBlock", "(MemoryManager *,const Command *,const size_t,const uint8_t *,const size_t,const size_t,const BrotliEncoderParams *,BlockSplit *,BlockSplit *,BlockSplit *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "BrotliSplitBlock", "(MemoryManager *,const Command *,const size_t,const uint8_t *,const size_t,const size_t,const BrotliEncoderParams *,BlockSplit *,BlockSplit *,BlockSplit *)", "", "Argument[2]", "Argument[*8].Field[**lengths]", "value", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[*0]", "Argument[*2].Field[*total_count_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[*0]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[*3]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[0]", "Argument[*2].Field[*total_count_]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[0]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreHuffmanTree", "(const uint8_t *,size_t,HuffmanTree *,size_t *,uint8_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[*13]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[13]", "Argument[*13]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[13]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[14]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[1]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[2]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[3]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[4]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[5]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[6]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[7]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlock", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,uint8_t,uint8_t,int,const BrotliEncoderParams *,ContextType,const Command *,size_t,const MetaBlockSplit *,size_t *,uint8_t *)", "", "Argument[9]", "Argument[*14]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[*9]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[1]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[2]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[3]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[4]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[5]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[9]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockFast", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[*1]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[*9]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[1]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[2]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[3]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[4]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[5]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[9]", "Argument[*10]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreMetaBlockTrivial", "(MemoryManager *,const uint8_t *,size_t,size_t,size_t,int,const BrotliEncoderParams *,const Command *,size_t,size_t *,uint8_t *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[*1]", "Argument[*6]", "value", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[*5]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[1]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[2]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[2]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[3]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[3]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[4]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[4]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[5]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliStoreUncompressedMetaBlock", "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliTransformDictionaryWord", "(uint8_t *,const uint8_t *,int,const BrotliTransforms *,int)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "BrotliTransformDictionaryWord", "(uint8_t *,const uint8_t *,int,const BrotliTransforms *,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliTransformDictionaryWord", "(uint8_t *,const uint8_t *,int,const BrotliTransforms *,int)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliTransformDictionaryWord", "(uint8_t *,const uint8_t *,int,const BrotliTransforms *,int)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliTransformDictionaryWord", "(uint8_t *,const uint8_t *,int,const BrotliTransforms *,int)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[*0]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[*2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliWriteHuffmanTree", "(const uint8_t *,size_t,size_t *,uint8_t *,uint8_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliComputeShortestPath", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,const int *,Hasher *,ZopfliNode *)", "", "Argument[1]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliComputeShortestPath", "(MemoryManager *,size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,const int *,Hasher *,ZopfliNode *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliCreateCommands", "(const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *)", "", "Argument[0]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliCreateCommands", "(const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliCreateCommands", "(const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliCreateCommands", "(const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "BrotliZopfliCreateCommands", "(const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "CreatePreparedDictionary", "(MemoryManager *,const uint8_t *,size_t)", "", "Argument[*1]", "ReturnValue[*].Field[*num_items]", "taint", "dfc-generated"]
- ["", "", True, "CreatePreparedDictionary", "(MemoryManager *,const uint8_t *,size_t)", "", "Argument[1]", "ReturnValue[*].Field[*num_items]", "taint", "dfc-generated"]
- ["", "", True, "CreatePreparedDictionary", "(MemoryManager *,const uint8_t *,size_t)", "", "Argument[2]", "ReturnValue[*].Field[*source_size]", "value", "dfc-generated"]

View File

@@ -1,959 +0,0 @@
# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
extensions:
- addsTo:
pack: codeql/cpp-all
extensible: summaryModel
data:
- ["", "", True, "Curl_GetFTPResponse", "(Curl_easy *,ssize_t *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_GetFTPResponse", "(Curl_easy *,ssize_t *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_HMAC_final", "(HMAC_context *,unsigned char *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_HMAC_init", "(const HMAC_params *,const unsigned char *,unsigned int)", "", "Argument[0]", "ReturnValue[*].Field[**hashctxt1].Field[*hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_HMAC_init", "(const HMAC_params *,const unsigned char *,unsigned int)", "", "Argument[0]", "ReturnValue[*].Field[**hashctxt2].Field[*hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_HMAC_init", "(const HMAC_params *,const unsigned char *,unsigned int)", "", "Argument[0]", "ReturnValue[*].Field[*hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_MD5_init", "(const MD5_params *)", "", "Argument[*0]", "ReturnValue[*].Field[**md5_hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_MD5_init", "(const MD5_params *)", "", "Argument[0]", "ReturnValue[*].Field[*md5_hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_add_custom_headers", "(Curl_easy *,bool,dynbuf *)", "", "Argument[*2].Field[*allc]", "Argument[*2].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_addrinfo_callback", "(Curl_easy *,int,Curl_addrinfo *)", "", "Argument[*2]", "Argument[2]", "taint", "df-generated"]
- ["", "", True, "Curl_addrinfo_callback", "(Curl_easy *,int,Curl_addrinfo *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_alpn_set_negotiated", "(Curl_cfilter *,Curl_easy *,ssl_connect_data *,const unsigned char *,size_t)", "", "Argument[*3]", "Argument[*2].Field[*negotiated].Field[**alpn]", "value", "dfc-generated"]
- ["", "", True, "Curl_alpn_set_negotiated", "(Curl_cfilter *,Curl_easy *,ssl_connect_data *,const unsigned char *,size_t)", "", "Argument[3]", "Argument[*2].Field[*negotiated].Field[**alpn]", "taint", "dfc-generated"]
- ["", "", True, "Curl_alpn_to_proto_buf", "(alpn_proto_buf *,const alpn_spec *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_alpn_to_proto_str", "(alpn_proto_buf *,const alpn_spec *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_altsvc_cleanup", "(altsvcinfo **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_altsvc_ctrl", "(altsvcinfo *,const long)", "", "Argument[1]", "Argument[*0].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "Curl_altsvc_parse", "(Curl_easy *,altsvcinfo *,const char *,alpnid,const char *,unsigned short)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_attach_connection", "(Curl_easy *,connectdata *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_attach_connection", "(Curl_easy *,connectdata *)", "", "Argument[1]", "Argument[*0].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_external_message", "(const char *,bufref *)", "", "Argument[*0]", "Argument[*1].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_external_message", "(const char *,bufref *)", "", "Argument[0]", "Argument[*1].Field[*ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_login_message", "(const char *,bufref *)", "", "Argument[*0]", "Argument[*1].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_login_message", "(const char *,bufref *)", "", "Argument[0]", "Argument[*1].Field[*ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_ntlm_type3_message", "(Curl_easy *,const char *,const char *,ntlmdata *,bufref *)", "", "Argument[*1]", "Argument[*4].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_ntlm_type3_message", "(Curl_easy *,const char *,const char *,ntlmdata *,bufref *)", "", "Argument[1]", "Argument[*4].Field[**ptr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_create_ntlm_type3_message", "(Curl_easy *,const char *,const char *,ntlmdata *,bufref *)", "", "Argument[1]", "Argument[*4].Field[*len]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_create_plain_message", "(const char *,const char *,const char *,bufref *)", "", "Argument[*0]", "Argument[*3].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_plain_message", "(const char *,const char *,const char *,bufref *)", "", "Argument[*1]", "Argument[*3].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_plain_message", "(const char *,const char *,const char *,bufref *)", "", "Argument[*2]", "Argument[*3].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_create_plain_message", "(const char *,const char *,const char *,bufref *)", "", "Argument[0]", "Argument[*3].Field[**ptr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_create_plain_message", "(const char *,const char *,const char *,bufref *)", "", "Argument[1]", "Argument[*3].Field[**ptr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_create_plain_message", "(const char *,const char *,const char *,bufref *)", "", "Argument[2]", "Argument[*3].Field[**ptr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_decode_digest_http_message", "(const char *,digestdata *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_decode_ntlm_type2_message", "(Curl_easy *,const bufref *,ntlmdata *)", "", "Argument[*1]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_auth_digest_get_pair", "(const char *,char *,char *,const char **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_digest_get_pair", "(const char *,char *,char *,const char **)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_digest_get_pair", "(const char *,char *,char *,const char **)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "Curl_auth_digest_get_pair", "(const char *,char *,char *,const char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_auth_digest_get_pair", "(const char *,char *,char *,const char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufcp_init", "(bufc_pool *,size_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*chunk_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufcp_init", "(bufc_pool *,size_t,size_t)", "", "Argument[2]", "Argument[*0].Field[*spare_max]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_cread", "(bufq *,char *,size_t,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_cread", "(bufq *,char *,size_t,size_t *)", "", "Argument[2]", "Argument[*0].Field[**head].Field[*r_offset]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_cread", "(bufq *,char *,size_t,size_t *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_cread", "(bufq *,char *,size_t,size_t *)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_cwrite", "(bufq *,const char *,size_t,size_t *)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_init2", "(bufq *,size_t,size_t,int)", "", "Argument[1]", "Argument[*0].Field[*chunk_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_init2", "(bufq *,size_t,size_t,int)", "", "Argument[2]", "Argument[*0].Field[*max_chunks]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_init2", "(bufq *,size_t,size_t,int)", "", "Argument[3]", "Argument[*0].Field[*opts]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_init", "(bufq *,size_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*chunk_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_init", "(bufq *,size_t,size_t)", "", "Argument[2]", "Argument[*0].Field[*max_chunks]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_initp", "(bufq *,bufc_pool *,size_t,int)", "", "Argument[*1].Field[*chunk_size]", "Argument[*0].Field[*chunk_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_initp", "(bufq *,bufc_pool *,size_t,int)", "", "Argument[*1]", "Argument[*0].Field[**pool]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_initp", "(bufq *,bufc_pool *,size_t,int)", "", "Argument[1]", "Argument[*0].Field[*pool]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_initp", "(bufq *,bufc_pool *,size_t,int)", "", "Argument[2]", "Argument[*0].Field[*max_chunks]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_initp", "(bufq *,bufc_pool *,size_t,int)", "", "Argument[3]", "Argument[*0].Field[*opts]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_len", "(const bufq *)", "", "Argument[*0].Field[**head].Field[*r_offset]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_len", "(const bufq *)", "", "Argument[*0].Field[**head].Field[*w_offset]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_pass", "(bufq *,Curl_bufq_writer *,void *,CURLcode *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_peek", "(bufq *,const unsigned char **,size_t *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "Curl_bufq_peek", "(bufq *,const unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_bufq_peek", "(bufq *,const unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_bufq_peek_at", "(bufq *,size_t,const unsigned char **,size_t *)", "", "Argument[1]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_peek_at", "(bufq *,size_t,const unsigned char **,size_t *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_peek_at", "(bufq *,size_t,const unsigned char **,size_t *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_read", "(bufq *,unsigned char *,size_t,CURLcode *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_read", "(bufq *,unsigned char *,size_t,CURLcode *)", "", "Argument[2]", "Argument[*0].Field[**head].Field[*r_offset]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_read", "(bufq *,unsigned char *,size_t,CURLcode *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_read", "(bufq *,unsigned char *,size_t,CURLcode *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_sipn", "(bufq *,size_t,Curl_bufq_reader *,void *,CURLcode *)", "", "Argument[3]", "Argument[*3].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_sipn", "(bufq *,size_t,Curl_bufq_reader *,void *,CURLcode *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_skip", "(bufq *,size_t)", "", "Argument[1]", "Argument[*0].Field[**head].Field[*r_offset]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_slurp", "(bufq *,Curl_bufq_reader *,void *,CURLcode *)", "", "Argument[2]", "Argument[*2].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufq_slurp", "(bufq *,Curl_bufq_reader *,void *,CURLcode *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_unwrite", "(bufq *,size_t)", "", "Argument[1]", "Argument[*0].Field[**tail].Field[*w_offset]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_write", "(bufq *,const unsigned char *,size_t,CURLcode *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_write_pass", "(bufq *,const unsigned char *,size_t,Curl_bufq_writer *,void *,CURLcode *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufq_write_pass", "(bufq *,const unsigned char *,size_t,Curl_bufq_writer *,void *,CURLcode *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufref_len", "(const bufref *)", "", "Argument[*0].Field[*len]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_memdup", "(bufref *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_memdup", "(bufref *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**ptr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bufref_memdup", "(bufref *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*len]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_ptr", "(const bufref *)", "", "Argument[*0].Field[**ptr]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_ptr", "(const bufref *)", "", "Argument[*0].Field[*ptr]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_set", "(bufref *,const void *,size_t,..(*)(..))", "", "Argument[*1]", "Argument[*0].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_set", "(bufref *,const void *,size_t,..(*)(..))", "", "Argument[1]", "Argument[*0].Field[*ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_set", "(bufref *,const void *,size_t,..(*)(..))", "", "Argument[2]", "Argument[*0].Field[*len]", "value", "dfc-generated"]
- ["", "", True, "Curl_bufref_set", "(bufref *,const void *,size_t,..(*)(..))", "", "Argument[3]", "Argument[*0].Field[*dtor]", "value", "dfc-generated"]
- ["", "", True, "Curl_bump_headersize", "(Curl_easy *,size_t,bool)", "", "Argument[1]", "Argument[*0].Field[*info].Field[*header_size]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bump_headersize", "(Curl_easy *,size_t,bool)", "", "Argument[1]", "Argument[*0].Field[*req].Field[*allheadercount]", "taint", "dfc-generated"]
- ["", "", True, "Curl_bump_headersize", "(Curl_easy *,size_t,bool)", "", "Argument[1]", "Argument[*0].Field[*req].Field[*headerbytecount]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cache_addr", "(Curl_easy *,Curl_addrinfo *,const char *,size_t,int,bool)", "", "Argument[*2]", "ReturnValue[*].Field[*hostname]", "value", "dfc-generated"]
- ["", "", True, "Curl_cache_addr", "(Curl_easy *,Curl_addrinfo *,const char *,size_t,int,bool)", "", "Argument[2]", "ReturnValue[*].Field[*hostname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cache_addr", "(Curl_easy *,Curl_addrinfo *,const char *,size_t,int,bool)", "", "Argument[4]", "ReturnValue[*].Field[*hostport]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_create", "(Curl_cfilter **,const Curl_cftype *,void *)", "", "Argument[**2]", "Argument[**0].Field[***ctx]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_create", "(Curl_cfilter **,const Curl_cftype *,void *)", "", "Argument[*1]", "Argument[**0].Field[**cft]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_create", "(Curl_cfilter **,const Curl_cftype *,void *)", "", "Argument[*2]", "Argument[**0].Field[**ctx]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_create", "(Curl_cfilter **,const Curl_cftype *,void *)", "", "Argument[1]", "Argument[**0].Field[*cft]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_create", "(Curl_cfilter **,const Curl_cftype *,void *)", "", "Argument[2]", "Argument[**0].Field[*ctx]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_https_setup", "(Curl_easy *,connectdata *,int,const Curl_dns_entry *)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_https_setup", "(Curl_easy *,connectdata *,int,const Curl_dns_entry *)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*next]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cf_https_setup", "(Curl_easy *,connectdata *,int,const Curl_dns_entry *)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*sockindex]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_socket_peek", "(Curl_cfilter *,Curl_easy *,curl_socket_t *,const Curl_sockaddr_ex **,ip_quadruple *)", "", "Argument[*0]", "Argument[**3]", "taint", "df-generated"]
- ["", "", True, "Curl_cf_socket_peek", "(Curl_cfilter *,Curl_easy *,curl_socket_t *,const Curl_sockaddr_ex **,ip_quadruple *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_cf_socket_peek", "(Curl_cfilter *,Curl_easy *,curl_socket_t *,const Curl_sockaddr_ex **,ip_quadruple *)", "", "Argument[*0]", "Argument[*4]", "taint", "df-generated"]
- ["", "", True, "Curl_cf_tcp_create", "(Curl_cfilter **,Curl_easy *,connectdata *,const Curl_addrinfo *,int)", "", "Argument[4]", "Argument[**0].Field[**ctx].Field[*transport]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_udp_create", "(Curl_cfilter **,Curl_easy *,connectdata *,const Curl_addrinfo *,int)", "", "Argument[4]", "Argument[**0].Field[**ctx].Field[*transport]", "value", "dfc-generated"]
- ["", "", True, "Curl_cf_unix_create", "(Curl_cfilter **,Curl_easy *,connectdata *,const Curl_addrinfo *,int)", "", "Argument[4]", "Argument[**0].Field[**ctx].Field[*transport]", "value", "dfc-generated"]
- ["", "", True, "Curl_client_read", "(Curl_easy *,char *,size_t,size_t *,bool *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_client_read", "(Curl_easy *,char *,size_t,size_t *,bool *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_close", "(Curl_easy **)", "", "Argument[*0]", "Argument[**0]", "value", "df-generated"]
- ["", "", True, "Curl_close", "(Curl_easy **)", "", "Argument[0]", "Argument[**0]", "taint", "df-generated"]
- ["", "", True, "Curl_close", "(Curl_easy **)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_conn_cf_add", "(Curl_easy *,connectdata *,int,Curl_cfilter *)", "", "Argument[*3]", "Argument[*1].Field[**cfilter]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_add", "(Curl_easy *,connectdata *,int,Curl_cfilter *)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_add", "(Curl_easy *,connectdata *,int,Curl_cfilter *)", "", "Argument[1]", "Argument[*3].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_add", "(Curl_easy *,connectdata *,int,Curl_cfilter *)", "", "Argument[3]", "Argument[*1].Field[*cfilter]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_adjust_pollset", "(Curl_cfilter *,Curl_easy *,easy_pollset *)", "", "Argument[*0].Field[**next].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_adjust_pollset", "(Curl_cfilter *,Curl_easy *,easy_pollset *)", "", "Argument[*0].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_cntrl", "(Curl_cfilter *,Curl_easy *,bool,int,int,void *)", "", "Argument[*0].Field[**next].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_cntrl", "(Curl_cfilter *,Curl_easy *,bool,int,int,void *)", "", "Argument[*0].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_discard_all", "(Curl_easy *,connectdata *,int)", "", "Argument[2]", "Argument[*1].Field[*cfilter]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_discard_chain", "(Curl_cfilter **,Curl_easy *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_insert_after", "(Curl_cfilter *,Curl_cfilter *)", "", "Argument[1]", "Argument[*0].Field[*next]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_is_ssl", "(Curl_cfilter *)", "", "Argument[*0].Field[**next].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_is_ssl", "(Curl_cfilter *)", "", "Argument[*0].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_poll", "(Curl_cfilter *,Curl_easy *,timediff_t)", "", "Argument[*0].Field[**next].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_cf_poll", "(Curl_cfilter *,Curl_easy *,timediff_t)", "", "Argument[*0].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_connect", "(Curl_easy *,int,bool,bool *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_get_host", "(Curl_easy *,int,const char **,const char **,int *)", "", "Argument[*0].Field[**conn].Field[*remote_port]", "Argument[*4]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_get_socket", "(Curl_easy *,int)", "", "Argument[*0].Field[**conn].Field[*sock]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_get_socket", "(Curl_easy *,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_is_http2", "(const Curl_easy *,const connectdata *,int)", "", "Argument[*1].Field[**cfilter].Field[**next]", "Argument[*1].Field[**cfilter]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_is_ssl", "(connectdata *,int)", "", "Argument[*0].Field[**cfilter].Field[**next]", "Argument[*0].Field[**cfilter]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_seems_dead", "(connectdata *,Curl_easy *,curltime *)", "", "Argument[0]", "Argument[*1].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_seems_dead", "(connectdata *,Curl_easy *,curltime *)", "", "Argument[1]", "Argument[*1].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_seems_dead", "(connectdata *,Curl_easy *,curltime *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_setup", "(Curl_easy *,connectdata *,int,const Curl_dns_entry *,int)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_setup", "(Curl_easy *,connectdata *,int,const Curl_dns_entry *,int)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*next]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_setup", "(Curl_easy *,connectdata *,int,const Curl_dns_entry *,int)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*sockindex]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_shutdown_timeleft", "(connectdata *,curltime *)", "", "Argument[*0].Field[*shutdown].Field[*timeout_ms]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_shutdown_timeleft", "(connectdata *,curltime *)", "", "Argument[*1].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_shutdown_timeleft", "(connectdata *,curltime *)", "", "Argument[*1].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_shutdown_timeleft", "(connectdata *,curltime *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[*3]", "Argument[*1].Field[*sock]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*next]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*sockindex]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[2]", "Argument[*1].Field[*cfilter]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[3]", "Argument[*1].Field[*sock]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_tcp_listen_set", "(Curl_easy *,connectdata *,int,curl_socket_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_upkeep", "(Curl_easy *,connectdata *,curltime *)", "", "Argument[*2]", "Argument[*1].Field[*keepalive]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_upkeep", "(Curl_easy *,connectdata *,curltime *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_upkeep", "(Curl_easy *,connectdata *,curltime *)", "", "Argument[1]", "Argument[*0].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_conn_upkeep", "(Curl_easy *,connectdata *,curltime *)", "", "Argument[2]", "Argument[*1].Field[*keepalive]", "taint", "dfc-generated"]
- ["", "", True, "Curl_conn_upkeep", "(Curl_easy *,connectdata *,curltime *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_connect", "(Curl_easy *,bool *,bool *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_connect", "(Curl_easy *,bool *,bool *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_connect_only_attach", "(Curl_easy *)", "", "Argument[*0]", "Argument[*0].Field[*conn_queue].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_connect_only_attach", "(Curl_easy *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cookie_add", "(Curl_easy *,CookieInfo *,bool,bool,const char *,const char *,const char *,bool)", "", "Argument[*6]", "ReturnValue[*].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "Curl_cookie_add", "(Curl_easy *,CookieInfo *,bool,bool,const char *,const char *,const char *,bool)", "", "Argument[6]", "ReturnValue[*].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cookie_getlist", "(Curl_easy *,CookieInfo *,const char *,const char *,bool,Curl_llist *)", "", "Argument[*2]", "Argument[*1].Field[*cookielist]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cookie_getlist", "(Curl_easy *,CookieInfo *,const char *,const char *,bool,Curl_llist *)", "", "Argument[2]", "Argument[*1].Field[*cookielist]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cookie_getlist", "(Curl_easy *,CookieInfo *,const char *,const char *,bool,Curl_llist *)", "", "Argument[5]", "Argument[*5].Field[**_head].Field[*_list]", "value", "dfc-generated"]
- ["", "", True, "Curl_cookie_getlist", "(Curl_easy *,CookieInfo *,const char *,const char *,bool,Curl_llist *)", "", "Argument[5]", "Argument[*5].Field[**_tail].Field[*_list]", "value", "dfc-generated"]
- ["", "", True, "Curl_cookie_init", "(Curl_easy *,const char *,CookieInfo *,bool)", "", "Argument[*2]", "ReturnValue[*]", "value", "df-generated"]
- ["", "", True, "Curl_cookie_init", "(Curl_easy *,const char *,CookieInfo *,bool)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_cookie_init", "(Curl_easy *,const char *,CookieInfo *,bool)", "", "Argument[3]", "Argument[*2].Field[*newsession]", "value", "dfc-generated"]
- ["", "", True, "Curl_cookie_init", "(Curl_easy *,const char *,CookieInfo *,bool)", "", "Argument[3]", "ReturnValue[*].Field[*newsession]", "value", "dfc-generated"]
- ["", "", True, "Curl_copy_header_value", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_copy_header_value", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cpool_add_conn", "(Curl_easy *,connectdata *)", "", "Argument[1]", "Argument[*1].Field[*cpool_node].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_check_limits", "(Curl_easy *,connectdata *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_disconnect", "(Curl_easy *,connectdata *,bool)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_disconnect", "(Curl_easy *,connectdata *,bool)", "", "Argument[1]", "Argument[*0].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_disconnect", "(Curl_easy *,connectdata *,bool)", "", "Argument[1]", "Argument[*1].Field[*cpool_node].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_do_locked", "(Curl_easy *,connectdata *,Curl_cpool_conn_do_cb *,void *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_do_locked", "(Curl_easy *,connectdata *,Curl_cpool_conn_do_cb *,void *)", "", "Argument[1]", "Argument[*0].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_do_locked", "(Curl_easy *,connectdata *,Curl_cpool_conn_do_cb *,void *)", "", "Argument[1]", "Argument[*1].Field[*cpool_node].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[*2]", "Argument[*0].Field[**idata].Field[**multi]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[*2]", "Argument[*0].Field[**multi]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[*3]", "Argument[*0].Field[**share]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[1]", "Argument[*0].Field[*disconnect_cb]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[2]", "Argument[*0].Field[**idata].Field[*multi]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[2]", "Argument[*0].Field[*multi]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[3]", "Argument[*0].Field[*share]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_init", "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)", "", "Argument[4]", "Argument[*0].Field[*dest2bundle].Field[*slots]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_prune_dead", "(Curl_easy *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_setfds", "(cpool *,fd_set *,fd_set *,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_cpool_upkeep", "(void *)", "", "Argument[*0]", "Argument[*0].Field[*conn_queue].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_cpool_upkeep", "(void *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_add", "(Curl_easy *,Curl_creader *)", "", "Argument[*0].Field[*req].Field[**reader_stack]", "Argument[*1].Field[**next]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_add", "(Curl_easy *,Curl_creader *)", "", "Argument[*0].Field[*req].Field[*reader_stack]", "Argument[*1].Field[*next]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_create", "(Curl_creader **,Curl_easy *,const Curl_crtype *,Curl_creader_phase)", "", "Argument[*2]", "Argument[**0].Field[**crt]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_create", "(Curl_creader **,Curl_easy *,const Curl_crtype *,Curl_creader_phase)", "", "Argument[2]", "Argument[**0].Field[*crt]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_create", "(Curl_creader **,Curl_easy *,const Curl_crtype *,Curl_creader_phase)", "", "Argument[3]", "Argument[**0].Field[*phase]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_get_by_type", "(Curl_easy *,const Curl_crtype *)", "", "Argument[*0].Field[*req].Field[**reader_stack]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_get_by_type", "(Curl_easy *,const Curl_crtype *)", "", "Argument[*0].Field[*req].Field[*reader_stack]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_set", "(Curl_easy *,Curl_creader *)", "", "Argument[1]", "Argument[*0].Field[*req].Field[*reader_stack]", "value", "dfc-generated"]
- ["", "", True, "Curl_creader_set_rewind", "(Curl_easy *,bool)", "", "Argument[1]", "Argument[*0].Field[*req].Field[*rewind_read]", "taint", "dfc-generated"]
- ["", "", True, "Curl_creader_will_rewind", "(Curl_easy *)", "", "Argument[*0].Field[*req].Field[*rewind_read]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_cwriter_add", "(Curl_easy *,Curl_cwriter *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_cwriter_create", "(Curl_cwriter **,Curl_easy *,const Curl_cwtype *,Curl_cwriter_phase)", "", "Argument[*2]", "Argument[**0].Field[**cwt]", "value", "dfc-generated"]
- ["", "", True, "Curl_cwriter_create", "(Curl_cwriter **,Curl_easy *,const Curl_cwtype *,Curl_cwriter_phase)", "", "Argument[2]", "Argument[**0].Field[*cwt]", "value", "dfc-generated"]
- ["", "", True, "Curl_cwriter_create", "(Curl_cwriter **,Curl_easy *,const Curl_cwtype *,Curl_cwriter_phase)", "", "Argument[3]", "Argument[**0].Field[*phase]", "value", "dfc-generated"]
- ["", "", True, "Curl_cwriter_get_by_name", "(Curl_easy *,const char *)", "", "Argument[*0].Field[*req].Field[**writer_stack]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_cwriter_get_by_name", "(Curl_easy *,const char *)", "", "Argument[*0].Field[*req].Field[*writer_stack]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_cwriter_get_by_type", "(Curl_easy *,const Curl_cwtype *)", "", "Argument[*0].Field[*req].Field[**writer_stack]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_cwriter_get_by_type", "(Curl_easy *,const Curl_cwtype *)", "", "Argument[*0].Field[*req].Field[*writer_stack]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_add", "(dynbuf *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**bufr]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_add", "(dynbuf *,const char *)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**bufr]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*allc]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*leng]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dyn_free", "(dynbuf *)", "", "Argument[*0].Field[*allc]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_init", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[*toobig]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_len", "(const dynbuf *)", "", "Argument[*0].Field[*leng]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_ptr", "(const dynbuf *)", "", "Argument[*0].Field[**bufr]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_ptr", "(const dynbuf *)", "", "Argument[*0].Field[*bufr]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_setlen", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_tail", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dyn_tail", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_take", "(dynbuf *,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_dyn_take", "(dynbuf *,size_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_dyn_take", "(dynbuf *,size_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_dyn_uptr", "(const dynbuf *)", "", "Argument[*0].Field[**bufr]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_uptr", "(const dynbuf *)", "", "Argument[*0].Field[*bufr]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_dyn_vaddf", "(dynbuf *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dyn_vprintf", "(dynbuf *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dynhds_add", "(dynhds *,const char *,size_t,const char *,size_t)", "", "Argument[*1]", "Argument[*0].Field[***hds].Field[**value]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_add", "(dynhds *,const char *,size_t,const char *,size_t)", "", "Argument[1]", "Argument[*0].Field[***hds].Field[**value]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dynhds_add", "(dynhds *,const char *,size_t,const char *,size_t)", "", "Argument[4]", "Argument[*0].Field[***hds].Field[*valuelen]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_add", "(dynhds *,const char *,size_t,const char *,size_t)", "", "Argument[4]", "Argument[*0].Field[*strs_len]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dynhds_cadd", "(dynhds *,const char *,const char *)", "", "Argument[*1]", "Argument[*0].Field[***hds].Field[**value]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_cadd", "(dynhds *,const char *,const char *)", "", "Argument[1]", "Argument[*0].Field[***hds].Field[**value]", "taint", "dfc-generated"]
- ["", "", True, "Curl_dynhds_cget", "(dynhds *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_cget", "(dynhds *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_count", "(dynhds *)", "", "Argument[*0].Field[*hds_len]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_get", "(dynhds *,const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_get", "(dynhds *,const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_getn", "(dynhds *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_dynhds_h1_add_line", "(dynhds *,const char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_h1_add_line", "(dynhds *,const char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_h1_add_line", "(dynhds *,const char *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_h1_cadd_line", "(dynhds *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_h1_cadd_line", "(dynhds *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_init", "(dynhds *,size_t,size_t)", "", "Argument[*0].Field[*hds_allc]", "Argument[*0].Field[*hds_len]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_init", "(dynhds *,size_t,size_t)", "", "Argument[*0].Field[*strs_len]", "Argument[*0].Field[*hds_allc]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_init", "(dynhds *,size_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*max_entries]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_init", "(dynhds *,size_t,size_t)", "", "Argument[2]", "Argument[*0].Field[*max_strs_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_set_opts", "(dynhds *,int)", "", "Argument[1]", "Argument[*0].Field[*opts]", "value", "dfc-generated"]
- ["", "", True, "Curl_dynhds_to_nva", "(dynhds *,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_dynhds_to_nva", "(dynhds *,size_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_eventfd", "(curl_socket_t[2],bool)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_fileinfo_cleanup", "(fileinfo *)", "", "Argument[*0].Field[*buf].Field[*allc]", "Argument[*0].Field[*buf].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_fopen", "(Curl_easy *,const char *,FILE **,char **)", "", "Argument[*1]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_fopen", "(Curl_easy *,const char *,FILE **,char **)", "", "Argument[1]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_fopen", "(Curl_easy *,const char *,FILE **,char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ftp_parselist", "(char *,size_t,size_t,void *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_ftp_parselist", "(char *,size_t,size_t,void *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_ftp_parselist_data_free", "(ftp_parselist_data **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ftp_parselist_geterror", "(ftp_parselist_data *)", "", "Argument[*0].Field[*error]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_get_line", "(dynbuf *,FILE *)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "Curl_get_pathname", "(const char **,char **,const char *)", "", "Argument[**0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_get_pathname", "(const char **,char **,const char *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_get_pathname", "(const char **,char **,const char *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_get_pathname", "(const char **,char **,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_get_scheme_handler", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_get_scheme_handler", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_getdate_capped", "(const char *)", "", "Argument[*0]", "Argument[0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_getdate_capped", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_getdate_capped", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_getformdata", "(CURL *,curl_mimepart *,curl_httppost *,curl_read_callback)", "", "Argument[1]", "Argument[*1].Field[**arg].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_getformdata", "(CURL *,curl_mimepart *,curl_httppost *,curl_read_callback)", "", "Argument[1]", "Argument[*1].Field[**arg].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "Curl_getformdata", "(CURL *,curl_mimepart *,curl_httppost *,curl_read_callback)", "", "Argument[1]", "Argument[*1].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_getn_scheme_handler", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_getn_scheme_handler", "(const char *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_h1_req_parse_init", "(h1_req_parser *,size_t)", "", "Argument[1]", "Argument[*0].Field[*max_line_len]", "value", "dfc-generated"]
- ["", "", True, "Curl_h1_req_parse_init", "(h1_req_parser *,size_t)", "", "Argument[1]", "Argument[*0].Field[*scratch].Field[*toobig]", "value", "dfc-generated"]
- ["", "", True, "Curl_h1_req_parse_read", "(h1_req_parser *,const char *,size_t,const char *,int,CURLcode *)", "", "Argument[*3]", "Argument[*0].Field[**req].Field[**scheme]", "value", "dfc-generated"]
- ["", "", True, "Curl_h1_req_parse_read", "(h1_req_parser *,const char *,size_t,const char *,int,CURLcode *)", "", "Argument[3]", "Argument[*0].Field[**req].Field[**scheme]", "taint", "dfc-generated"]
- ["", "", True, "Curl_h1_req_parse_read", "(h1_req_parser *,const char *,size_t,const char *,int,CURLcode *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hash_add2", "(Curl_hash *,void *,size_t,void *,Curl_hash_elem_dtor)", "", "Argument[**3]", "ReturnValue[**]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add2", "(Curl_hash *,void *,size_t,void *,Curl_hash_elem_dtor)", "", "Argument[*1]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add2", "(Curl_hash *,void *,size_t,void *,Curl_hash_elem_dtor)", "", "Argument[*3]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add2", "(Curl_hash *,void *,size_t,void *,Curl_hash_elem_dtor)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hash_add2", "(Curl_hash *,void *,size_t,void *,Curl_hash_elem_dtor)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add", "(Curl_hash *,void *,size_t,void *)", "", "Argument[**3]", "ReturnValue[**]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add", "(Curl_hash *,void *,size_t,void *)", "", "Argument[*1]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add", "(Curl_hash *,void *,size_t,void *)", "", "Argument[*3]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_add", "(Curl_hash *,void *,size_t,void *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hash_add", "(Curl_hash *,void *,size_t,void *)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_clean_with_criterium", "(Curl_hash *,void *,..(*)(..))", "", "Argument[*1].Field[*now]", "Argument[*1].Field[*oldest]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hash_count", "(Curl_hash *)", "", "Argument[*0].Field[*size]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_init", "(Curl_hash *,size_t,hash_function,comp_function,Curl_hash_dtor)", "", "Argument[1]", "Argument[*0].Field[*slots]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_init", "(Curl_hash *,size_t,hash_function,comp_function,Curl_hash_dtor)", "", "Argument[2]", "Argument[*0].Field[*hash_func]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_init", "(Curl_hash *,size_t,hash_function,comp_function,Curl_hash_dtor)", "", "Argument[3]", "Argument[*0].Field[*comp_func]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_init", "(Curl_hash *,size_t,hash_function,comp_function,Curl_hash_dtor)", "", "Argument[4]", "Argument[*0].Field[*dtor]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_next_element", "(Curl_hash_iterator *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_hash_next_element", "(Curl_hash_iterator *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_hash_offt_init", "(Curl_hash *,size_t,Curl_hash_dtor)", "", "Argument[1]", "Argument[*0].Field[*slots]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_offt_init", "(Curl_hash *,size_t,Curl_hash_dtor)", "", "Argument[2]", "Argument[*0].Field[*dtor]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_offt_set", "(Curl_hash *,curl_off_t,void *)", "", "Argument[**2]", "ReturnValue[**]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_offt_set", "(Curl_hash *,curl_off_t,void *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_offt_set", "(Curl_hash *,curl_off_t,void *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_start_iterate", "(Curl_hash *,Curl_hash_iterator *)", "", "Argument[*0]", "Argument[*1].Field[**hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_start_iterate", "(Curl_hash *,Curl_hash_iterator *)", "", "Argument[0]", "Argument[*1].Field[*hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_hash_str", "(void *,size_t,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_hash_str", "(void *,size_t,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_hash_str", "(void *,size_t,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_hexencode", "(const unsigned char *,size_t,unsigned char *,size_t)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hexencode", "(const unsigned char *,size_t,unsigned char *,size_t)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hexencode", "(const unsigned char *,size_t,unsigned char *,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hmacit", "(const HMAC_params *,const unsigned char *,const size_t,const unsigned char *,const size_t,unsigned char *)", "", "Argument[*0].Field[*ctxtsize]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "Curl_hmacit", "(const HMAC_params *,const unsigned char *,const size_t,const unsigned char *,const size_t,unsigned char *)", "", "Argument[*0]", "Argument[*5].Field[**hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_hmacit", "(const HMAC_params *,const unsigned char *,const size_t,const unsigned char *,const size_t,unsigned char *)", "", "Argument[0]", "Argument[*5].Field[*hash]", "value", "dfc-generated"]
- ["", "", True, "Curl_hsts_cleanup", "(hsts **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http2_may_switch", "(Curl_easy *,connectdata *,int)", "", "Argument[*1].Field[**cfilter].Field[**next]", "Argument[*1].Field[**cfilter]", "value", "dfc-generated"]
- ["", "", True, "Curl_http2_request_upgrade", "(dynbuf *,Curl_easy *)", "", "Argument[*0].Field[*allc]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_http2_switch", "(Curl_easy *,connectdata *,int)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_http2_switch", "(Curl_easy *,connectdata *,int)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*next]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http2_switch", "(Curl_easy *,connectdata *,int)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*sockindex]", "value", "dfc-generated"]
- ["", "", True, "Curl_http2_upgrade", "(Curl_easy *,connectdata *,int,const char *,size_t)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_http2_upgrade", "(Curl_easy *,connectdata *,int,const char *,size_t)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*next]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http2_upgrade", "(Curl_easy *,connectdata *,int,const char *,size_t)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*sockindex]", "value", "dfc-generated"]
- ["", "", True, "Curl_http", "(Curl_easy *,bool *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_connect", "(Curl_easy *,bool *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_decode_status", "(int *,const char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_decode_status", "(int *,const char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_done", "(Curl_easy *,CURLcode,bool)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_http_getsock_do", "(Curl_easy *,connectdata *,curl_socket_t *)", "", "Argument[*0].Field[**conn].Field[*sock]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_method", "(Curl_easy *,connectdata *,const char **,Curl_HttpReq *)", "", "Argument[*0]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "Curl_http_method", "(Curl_easy *,connectdata *,const char **,Curl_HttpReq *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_http_method", "(Curl_easy *,connectdata *,const char **,Curl_HttpReq *)", "", "Argument[*0]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_http_proxy_get_destination", "(Curl_cfilter *,const char **,int *,bool *)", "", "Argument[*1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_proxy_get_destination", "(Curl_cfilter *,const char **,int *,bool *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_proxy_get_destination", "(Curl_cfilter *,const char **,int *,bool *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_req_make2", "(httpreq **,const char *,size_t,CURLU *,const char *)", "", "Argument[*1]", "Argument[**0].Field[*method]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_req_make2", "(httpreq **,const char *,size_t,CURLU *,const char *)", "", "Argument[1]", "Argument[**0].Field[*method]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[*1]", "Argument[**0].Field[*method]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[*3]", "Argument[**0].Field[**scheme]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[*5]", "Argument[**0].Field[**authority]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[*7]", "Argument[**0].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[1]", "Argument[**0].Field[*method]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[3]", "Argument[**0].Field[**scheme]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[5]", "Argument[**0].Field[**authority]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_req_make", "(httpreq **,const char *,size_t,const char *,size_t,const char *,size_t,const char *,size_t)", "", "Argument[7]", "Argument[**0].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_resp_make", "(http_resp **,int,const char *)", "", "Argument[1]", "Argument[**0].Field[*status]", "value", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hd", "(Curl_easy *,const char *,size_t,bool)", "", "Argument[2]", "Argument[*0].Field[*info].Field[*header_size]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hd", "(Curl_easy *,const char *,size_t,bool)", "", "Argument[2]", "Argument[*0].Field[*req].Field[*allheadercount]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hd", "(Curl_easy *,const char *,size_t,bool)", "", "Argument[2]", "Argument[*0].Field[*req].Field[*headerbytecount]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hds", "(Curl_easy *,const char *,size_t,size_t *)", "", "Argument[*1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hds", "(Curl_easy *,const char *,size_t,size_t *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hds", "(Curl_easy *,const char *,size_t,size_t *)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_http_write_resp_hds", "(Curl_easy *,const char *,size_t,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_httpchunk_free", "(Curl_easy *,Curl_chunker *)", "", "Argument[*1].Field[*trailer].Field[*allc]", "Argument[*1].Field[*trailer].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_httpchunk_init", "(Curl_easy *,Curl_chunker *,bool)", "", "Argument[2]", "Argument[*1].Field[*ignore_body]", "value", "dfc-generated"]
- ["", "", True, "Curl_httpchunk_read", "(Curl_easy *,Curl_chunker *,char *,size_t,size_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_httpchunk_reset", "(Curl_easy *,Curl_chunker *,bool)", "", "Argument[2]", "Argument[*1].Field[*ignore_body]", "value", "dfc-generated"]
- ["", "", True, "Curl_init_dnscache", "(Curl_hash *,size_t)", "", "Argument[1]", "Argument[*0].Field[*slots]", "value", "dfc-generated"]
- ["", "", True, "Curl_init_userdefined", "(Curl_easy *)", "", "Argument[*0].Field[*set].Field[*ssl]", "Argument[*0].Field[*set].Field[*proxy_ssl]", "value", "dfc-generated"]
- ["", "", True, "Curl_ip2addr", "(int,const void *,const char *,int)", "", "Argument[*1]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "Curl_ip2addr", "(int,const void *,const char *,int)", "", "Argument[*2]", "ReturnValue[*].Field[**ai_canonname]", "value", "dfc-generated"]
- ["", "", True, "Curl_ip2addr", "(int,const void *,const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[*ai_family]", "value", "dfc-generated"]
- ["", "", True, "Curl_ip2addr", "(int,const void *,const char *,int)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ip2addr", "(int,const void *,const char *,int)", "", "Argument[2]", "ReturnValue[*].Field[**ai_canonname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_is_absolute_url", "(const char *,char *,size_t,bool)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_is_absolute_url", "(const char *,char *,size_t,bool)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_is_absolute_url", "(const char *,char *,size_t,bool)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[**1]", "Argument[*0].Field[**_head].Field[***_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[**1]", "Argument[*0].Field[**_tail].Field[***_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[**1]", "Argument[*2].Field[***_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[*1]", "Argument[*0].Field[**_head].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[*1]", "Argument[*0].Field[**_tail].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[*1]", "Argument[*2].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[0]", "Argument[*0].Field[**_head].Field[*_list]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[0]", "Argument[*0].Field[**_tail].Field[*_list]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[0]", "Argument[*2].Field[*_list]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[1]", "Argument[*0].Field[**_head].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[1]", "Argument[*0].Field[**_tail].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_append", "(Curl_llist *,const void *,Curl_llist_node *)", "", "Argument[1]", "Argument[*2].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_count", "(Curl_llist *)", "", "Argument[*0].Field[*_size]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_head", "(Curl_llist *)", "", "Argument[*0].Field[**_head]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_head", "(Curl_llist *)", "", "Argument[*0].Field[*_head]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_init", "(Curl_llist *,Curl_llist_dtor)", "", "Argument[1]", "Argument[*0].Field[*_dtor]", "value", "dfc-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[**2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[**2]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[**2]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*0]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*1]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*2]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*3]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[*3]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[0]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[1]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[2]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[3]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_llist_insert_next", "(Curl_llist *,Curl_llist_node *,const void *,Curl_llist_node *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_memdup0", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_memdup0", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "Curl_memdup", "(const void *,size_t)", "", "Argument[**0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_memdup", "(const void *,size_t)", "", "Argument[*0]", "Argument[**0]", "value", "dfc-generated"]
- ["", "", True, "Curl_memdup", "(const void *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_memdup", "(const void *,size_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_memdup", "(const void *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "Curl_mime_cleanpart", "(curl_mimepart *)", "", "Argument[0]", "Argument[*0].Field[**arg].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_mime_cleanpart", "(curl_mimepart *)", "", "Argument[0]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_mime_duppart", "(Curl_easy *,curl_mimepart *,const curl_mimepart *)", "", "Argument[1]", "Argument[*1].Field[**arg].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_mime_duppart", "(Curl_easy *,curl_mimepart *,const curl_mimepart *)", "", "Argument[1]", "Argument[*1].Field[**arg].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "Curl_mime_duppart", "(Curl_easy *,curl_mimepart *,const curl_mimepart *)", "", "Argument[1]", "Argument[*1].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_mime_read", "(char *,size_t,size_t,void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_mime_set_subparts", "(curl_mimepart *,curl_mime *,int)", "", "Argument[1]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_add_perform", "(Curl_multi *,Curl_easy *,connectdata *)", "", "Argument[0]", "Argument[*1].Field[*multi]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_add_perform", "(Curl_multi *,Curl_easy *,connectdata *)", "", "Argument[1]", "Argument[*1].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_add_perform", "(Curl_multi *,Curl_easy *,connectdata *)", "", "Argument[1]", "Argument[*1].Field[*multi_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_add_perform", "(Curl_multi *,Curl_easy *,connectdata *)", "", "Argument[2]", "Argument[*1].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_handle", "(size_t,size_t,size_t,size_t)", "", "Argument[0]", "ReturnValue[*].Field[*sockhash].Field[*slots]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_handle", "(size_t,size_t,size_t,size_t)", "", "Argument[2]", "ReturnValue[*].Field[*hostcache].Field[*slots]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_handle", "(size_t,size_t,size_t,size_t)", "", "Argument[3]", "ReturnValue[*].Field[**ssl_scache].Field[*peer_count]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_max_concurrent_streams", "(Curl_multi *)", "", "Argument[*0].Field[*max_concurrent_streams]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_pollset_ev", "(Curl_multi *,Curl_easy *,easy_pollset *,easy_pollset *)", "", "Argument[1]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_xfer_buf_borrow", "(Curl_easy *,char **,size_t *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "Curl_multi_xfer_buf_borrow", "(Curl_easy *,char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_multi_xfer_buf_borrow", "(Curl_easy *,char **,size_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_multi_xfer_sockbuf_borrow", "(Curl_easy *,size_t,char **)", "", "Argument[*0].Field[**multi].Field[**xfer_sockbuf]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_xfer_sockbuf_borrow", "(Curl_easy *,size_t,char **)", "", "Argument[*0].Field[**multi].Field[*xfer_sockbuf]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_xfer_sockbuf_borrow", "(Curl_easy *,size_t,char **)", "", "Argument[1]", "Argument[*0].Field[**multi].Field[*xfer_sockbuf_len]", "value", "dfc-generated"]
- ["", "", True, "Curl_multi_xfer_ulbuf_borrow", "(Curl_easy *,char **,size_t *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "Curl_multi_xfer_ulbuf_borrow", "(Curl_easy *,char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_multi_xfer_ulbuf_borrow", "(Curl_easy *,char **,size_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_netrc_cleanup", "(store_netrc *)", "", "Argument[*0].Field[*filebuf].Field[*allc]", "Argument[*0].Field[*filebuf].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "Curl_node_elem", "(Curl_llist_node *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_node_elem", "(Curl_llist_node *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "Curl_node_elem", "(Curl_llist_node *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_node_llist", "(Curl_llist_node *)", "", "Argument[*0].Field[**_list]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_node_llist", "(Curl_llist_node *)", "", "Argument[*0].Field[*_list]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_node_next", "(Curl_llist_node *)", "", "Argument[*0].Field[**_next]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_node_next", "(Curl_llist_node *)", "", "Argument[*0].Field[*_next]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_node_take_elem", "(Curl_llist_node *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_node_take_elem", "(Curl_llist_node *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "Curl_node_take_elem", "(Curl_llist_node *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_ntlm_core_mk_lm_hash", "(const char *,unsigned char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ntlm_core_mk_lmv2_resp", "(unsigned char *,unsigned char *,unsigned char *,unsigned char *)", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "Curl_ntlm_core_mk_lmv2_resp", "(unsigned char *,unsigned char *,unsigned char *,unsigned char *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ntlm_core_mk_nt_hash", "(const char *,unsigned char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ntlm_core_mk_ntlmv2_resp", "(unsigned char *,unsigned char *,ntlmdata *,unsigned char **,unsigned int *)", "", "Argument[*2]", "Argument[*4]", "taint", "df-generated"]
- ["", "", True, "Curl_on_disconnect", "(Curl_easy *,connectdata *,bool)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_once_resolved", "(Curl_easy *,bool *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[*0]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[0]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[0]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_interface", "(const char *,char **,char **,char **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[*0]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[*0]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[*0]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[0]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[0]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[0]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[1]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parse_login_details", "(const char *,const size_t,char **,char **,char **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_parsenetrc", "(store_netrc *,const char *,char **,char **,char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_pgrsEarlyData", "(Curl_easy *,curl_off_t)", "", "Argument[1]", "Argument[*0].Field[*progress].Field[*earlydata_sent]", "value", "dfc-generated"]
- ["", "", True, "Curl_pgrsLimitWaitTime", "(pgrs_dir *,curl_off_t,curltime)", "", "Argument[*0].Field[*cur_size]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pgrsLimitWaitTime", "(pgrs_dir *,curl_off_t,curltime)", "", "Argument[*0].Field[*limit].Field[*start_size]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pgrsLimitWaitTime", "(pgrs_dir *,curl_off_t,curltime)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pgrsLimitWaitTime", "(pgrs_dir *,curl_off_t,curltime)", "", "Argument[2].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pgrsLimitWaitTime", "(pgrs_dir *,curl_off_t,curltime)", "", "Argument[2].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pgrsTimeWas", "(Curl_easy *,timerid,curltime)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_poll", "(pollfd[],unsigned int,timediff_t)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_pollfds_add_ps", "(curl_pollfds *,easy_pollset *)", "", "Argument[*1].Field[*sockets]", "Argument[*0].Field[**pfds].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollfds_add_sock", "(curl_pollfds *,curl_socket_t,short)", "", "Argument[1]", "Argument[*0].Field[**pfds].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollfds_add_sock", "(curl_pollfds *,curl_socket_t,short)", "", "Argument[2]", "Argument[*0].Field[**pfds].Field[*events]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollfds_init", "(curl_pollfds *,pollfd *,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**pfds]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollfds_init", "(curl_pollfds *,pollfd *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*pfds]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollfds_init", "(curl_pollfds *,pollfd *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*count]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollset_add_socks", "(Curl_easy *,easy_pollset *,..(*)(..))", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_pollset_change", "(Curl_easy *,easy_pollset *,curl_socket_t,int,int)", "", "Argument[2]", "Argument[*1].Field[*sockets]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollset_change", "(Curl_easy *,easy_pollset *,curl_socket_t,int,int)", "", "Argument[3]", "Argument[*1].Field[*actions]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollset_change", "(Curl_easy *,easy_pollset *,curl_socket_t,int,int)", "", "Argument[4]", "Argument[*1].Field[*actions]", "taint", "dfc-generated"]
- ["", "", True, "Curl_pollset_check", "(Curl_easy *,easy_pollset *,curl_socket_t,bool *,bool *)", "", "Argument[*4]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "Curl_pollset_check", "(Curl_easy *,easy_pollset *,curl_socket_t,bool *,bool *)", "", "Argument[4]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_pollset_check", "(Curl_easy *,easy_pollset *,curl_socket_t,bool *,bool *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_pollset_set", "(Curl_easy *,easy_pollset *,curl_socket_t,bool,bool)", "", "Argument[2]", "Argument[*1].Field[*sockets]", "value", "dfc-generated"]
- ["", "", True, "Curl_pp_flushsend", "(Curl_easy *,pingpong *)", "", "Argument[*1].Field[*sendsize]", "Argument[*1].Field[*sendleft]", "value", "dfc-generated"]
- ["", "", True, "Curl_pp_getsock", "(Curl_easy *,pingpong *,curl_socket_t *)", "", "Argument[*0].Field[**conn].Field[*sock]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "Curl_pp_readresp", "(Curl_easy *,int,pingpong *,int *,size_t *)", "", "Argument[*2]", "Argument[*4]", "taint", "df-generated"]
- ["", "", True, "Curl_pp_state_timeout", "(Curl_easy *,pingpong *,bool)", "", "Argument[*0].Field[*set].Field[*server_response_timeout]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pp_state_timeout", "(Curl_easy *,pingpong *,bool)", "", "Argument[*0].Field[*set].Field[*timeout]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_pp_vsendf", "(Curl_easy *,pingpong *,const char *,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_psl_use", "(Curl_easy *)", "", "Argument[*0].Field[**psl].Field[**psl]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_psl_use", "(Curl_easy *)", "", "Argument[*0].Field[**psl].Field[*psl]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_rand_alnum", "(Curl_easy *,unsigned char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_rand_bytes", "(Curl_easy *,unsigned char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_rand_hex", "(Curl_easy *,unsigned char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_raw_tolower", "(char)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_raw_toupper", "(char)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_read16_be", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_read16_be", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_read16_le", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_read16_le", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_read32_le", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_read32_le", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_req_hard_reset", "(SingleRequest *,Curl_easy *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_req_send", "(Curl_easy *,dynbuf *)", "", "Argument[*1].Field[*leng]", "Argument[*0].Field[*req].Field[*sendbuf_hds_len]", "taint", "dfc-generated"]
- ["", "", True, "Curl_req_send", "(Curl_easy *,dynbuf *)", "", "Argument[*1].Field[*leng]", "Argument[*0].Field[*req].Field[*writebytecount]", "taint", "dfc-generated"]
- ["", "", True, "Curl_req_send", "(Curl_easy *,dynbuf *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_req_send_more", "(Curl_easy *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_req_soft_reset", "(SingleRequest *,Curl_easy *)", "", "Argument[*1].Field[*set].Field[*upload_buffer_size]", "Argument[*0].Field[*sendbuf].Field[*chunk_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_req_start", "(SingleRequest *,Curl_easy *)", "", "Argument[*1].Field[*set].Field[*upload_buffer_size]", "Argument[*0].Field[*sendbuf].Field[*chunk_size]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv", "(Curl_easy *,const char *,int,bool,Curl_dns_entry **)", "", "Argument[*1]", "Argument[**4].Field[**addr].Field[**ai_canonname]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv", "(Curl_easy *,const char *,int,bool,Curl_dns_entry **)", "", "Argument[*1]", "Argument[**4].Field[*hostname]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv", "(Curl_easy *,const char *,int,bool,Curl_dns_entry **)", "", "Argument[1]", "Argument[**4].Field[**addr].Field[**ai_canonname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolv", "(Curl_easy *,const char *,int,bool,Curl_dns_entry **)", "", "Argument[1]", "Argument[**4].Field[*hostname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolv", "(Curl_easy *,const char *,int,bool,Curl_dns_entry **)", "", "Argument[2]", "Argument[**4].Field[*hostport]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv_check", "(Curl_easy *,Curl_dns_entry **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolv_timeout", "(Curl_easy *,const char *,int,Curl_dns_entry **,timediff_t)", "", "Argument[*1]", "Argument[**3].Field[**addr].Field[**ai_canonname]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv_timeout", "(Curl_easy *,const char *,int,Curl_dns_entry **,timediff_t)", "", "Argument[*1]", "Argument[**3].Field[*hostname]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv_timeout", "(Curl_easy *,const char *,int,Curl_dns_entry **,timediff_t)", "", "Argument[1]", "Argument[**3].Field[**addr].Field[**ai_canonname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolv_timeout", "(Curl_easy *,const char *,int,Curl_dns_entry **,timediff_t)", "", "Argument[1]", "Argument[**3].Field[*hostname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolv_timeout", "(Curl_easy *,const char *,int,Curl_dns_entry **,timediff_t)", "", "Argument[2]", "Argument[**3].Field[*hostport]", "value", "dfc-generated"]
- ["", "", True, "Curl_resolv_unlink", "(Curl_easy *,Curl_dns_entry **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolver_duphandle", "(Curl_easy *,void **,void *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_resolver_init", "(Curl_easy *,void **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_retry_request", "(Curl_easy *,char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_rtsp_parseheader", "(Curl_easy *,const char *)", "", "Argument[*1]", "Argument[*0].Field[*set].Field[**str]", "value", "dfc-generated"]
- ["", "", True, "Curl_rtsp_parseheader", "(Curl_easy *,const char *)", "", "Argument[*1]", "Argument[*0].Field[*state].Field[*rtsp_CSeq_recv]", "taint", "dfc-generated"]
- ["", "", True, "Curl_rtsp_parseheader", "(Curl_easy *,const char *)", "", "Argument[1]", "Argument[*0].Field[*set].Field[**str]", "taint", "dfc-generated"]
- ["", "", True, "Curl_rtsp_parseheader", "(Curl_easy *,const char *)", "", "Argument[1]", "Argument[*0].Field[*state].Field[*rtsp_CSeq_recv]", "taint", "dfc-generated"]
- ["", "", True, "Curl_sasl_init", "(SASL *,Curl_easy *,const SASLproto *)", "", "Argument[*2].Field[*defmechs]", "Argument[*0].Field[*prefmech]", "value", "dfc-generated"]
- ["", "", True, "Curl_sasl_init", "(SASL *,Curl_easy *,const SASLproto *)", "", "Argument[*2]", "Argument[*0].Field[**params]", "value", "dfc-generated"]
- ["", "", True, "Curl_sasl_init", "(SASL *,Curl_easy *,const SASLproto *)", "", "Argument[2]", "Argument[*0].Field[*params]", "value", "dfc-generated"]
- ["", "", True, "Curl_sasl_start", "(SASL *,Curl_easy *,bool,saslprogress *)", "", "Argument[2]", "Argument[*0].Field[*force_ir]", "value", "dfc-generated"]
- ["", "", True, "Curl_senddata", "(Curl_easy *,const void *,size_t,size_t *)", "", "Argument[*0]", "Argument[*0].Field[*conn_queue].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_senddata", "(Curl_easy *,const void *,size_t,size_t *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_sendrecv", "(Curl_easy *,curltime *)", "", "Argument[*1]", "Argument[*0].Field[*state].Field[*keeps_speed]", "value", "dfc-generated"]
- ["", "", True, "Curl_sendrecv", "(Curl_easy *,curltime *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_sendrecv", "(Curl_easy *,curltime *)", "", "Argument[1]", "Argument[*0].Field[*state].Field[*keeps_speed]", "taint", "dfc-generated"]
- ["", "", True, "Curl_sendrecv", "(Curl_easy *,curltime *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_set_in_callback", "(Curl_easy *,bool)", "", "Argument[1]", "Argument[*0].Field[**multi].Field[*in_callback]", "value", "dfc-generated"]
- ["", "", True, "Curl_setblobopt", "(curl_blob **,const curl_blob *)", "", "Argument[*1]", "Argument[**0]", "value", "df-generated"]
- ["", "", True, "Curl_setblobopt", "(curl_blob **,const curl_blob *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_setblobopt", "(curl_blob **,const curl_blob *)", "", "Argument[1]", "Argument[**0].Field[**data]", "taint", "dfc-generated"]
- ["", "", True, "Curl_setblobopt", "(curl_blob **,const curl_blob *)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_setblobopt", "(curl_blob **,const curl_blob *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_setstropt", "(char **,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_shutdown_start", "(Curl_easy *,int,curltime *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_shutdown_timeleft", "(connectdata *,int,curltime *)", "", "Argument[*0].Field[*shutdown].Field[*timeout_ms]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_shutdown_timeleft", "(connectdata *,int,curltime *)", "", "Argument[*2].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_shutdown_timeleft", "(connectdata *,int,curltime *)", "", "Argument[*2].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_shutdown_timeleft", "(connectdata *,int,curltime *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_slist_append_nodup", "(curl_slist *,char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_append_nodup", "(curl_slist *,char *)", "", "Argument[*1]", "Argument[*0].Field[**next].Field[**data]", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_append_nodup", "(curl_slist *,char *)", "", "Argument[*1]", "ReturnValue[*].Field[**data]", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_append_nodup", "(curl_slist *,char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_append_nodup", "(curl_slist *,char *)", "", "Argument[1]", "Argument[*0].Field[**next].Field[*data]", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_append_nodup", "(curl_slist *,char *)", "", "Argument[1]", "ReturnValue[*].Field[*data]", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_duplicate", "(curl_slist *)", "", "Argument[*0].Field[**next].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_slist_duplicate", "(curl_slist *)", "", "Argument[*0].Field[**next]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_sock_assign_addr", "(Curl_sockaddr_ex *,const Curl_addrinfo *,int)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_socket_open", "(Curl_easy *,const Curl_addrinfo *,Curl_sockaddr_ex *,int,curl_socket_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "Curl_speedcheck", "(Curl_easy *,curltime)", "", "Argument[1]", "Argument[*0].Field[*state].Field[*keeps_speed]", "value", "dfc-generated"]
- ["", "", True, "Curl_splay", "(curltime,Curl_tree *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_splay", "(curltime,Curl_tree *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"]
- ["", "", True, "Curl_splay", "(curltime,Curl_tree *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_splay", "(curltime,Curl_tree *)", "", "Argument[1]", "ReturnValue", "value", "df-generated"]
- ["", "", True, "Curl_splay", "(curltime,Curl_tree *)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_splayget", "(Curl_tree *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_splayget", "(Curl_tree *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "Curl_splayget", "(Curl_tree *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[*1]", "Argument[**2]", "value", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[*1]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[1]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[1]", "Argument[*2]", "value", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[1]", "ReturnValue", "value", "df-generated"]
- ["", "", True, "Curl_splaygetbest", "(curltime,Curl_tree *,Curl_tree **)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[*1]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[*2]", "ReturnValue[*]", "value", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[1]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[1]", "ReturnValue", "value", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[2]", "ReturnValue", "value", "df-generated"]
- ["", "", True, "Curl_splayinsert", "(curltime,Curl_tree *,Curl_tree *)", "", "Argument[2]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "Curl_splayremove", "(Curl_tree *,Curl_tree *,Curl_tree **)", "", "Argument[*0]", "Argument[**2]", "value", "df-generated"]
- ["", "", True, "Curl_splayremove", "(Curl_tree *,Curl_tree *,Curl_tree **)", "", "Argument[0]", "Argument[*2]", "value", "df-generated"]
- ["", "", True, "Curl_splayremove", "(Curl_tree *,Curl_tree *,Curl_tree **)", "", "Argument[1]", "Argument[*1].Field[**samen].Field[*samen]", "value", "dfc-generated"]
- ["", "", True, "Curl_splayremove", "(Curl_tree *,Curl_tree *,Curl_tree **)", "", "Argument[1]", "Argument[*1].Field[*samen]", "value", "dfc-generated"]
- ["", "", True, "Curl_splayset", "(Curl_tree *,void *)", "", "Argument[**1]", "Argument[*0].Field[***ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_splayset", "(Curl_tree *,void *)", "", "Argument[*1]", "Argument[*0].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_splayset", "(Curl_tree *,void *)", "", "Argument[1]", "Argument[*0].Field[*ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_cf_get_config", "(Curl_cfilter *,Curl_easy *)", "", "Argument[*1].Field[*set].Field[*proxy_ssl]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_cf_get_config", "(Curl_cfilter *,Curl_easy *)", "", "Argument[*1].Field[*set].Field[*ssl]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_cf_get_primary_config", "(Curl_cfilter *)", "", "Argument[*0].Field[**conn].Field[*proxy_ssl_config]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_cf_get_primary_config", "(Curl_cfilter *)", "", "Argument[*0].Field[**conn].Field[*ssl_config]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_cfilter_add", "(Curl_easy *,connectdata *,int)", "", "Argument[1]", "Argument[*1].Field[**cfilter].Field[*conn]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_cfilter_add", "(Curl_easy *,connectdata *,int)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*next]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ssl_cfilter_add", "(Curl_easy *,connectdata *,int)", "", "Argument[2]", "Argument[*1].Field[**cfilter].Field[*sockindex]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_easy_config_init", "(Curl_easy *)", "", "Argument[*0].Field[*set].Field[*ssl]", "Argument[*0].Field[*set].Field[*proxy_ssl]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_peer_init", "(ssl_peer *,Curl_cfilter *,const char *,int)", "", "Argument[*1].Field[**conn].Field[*remote_port]", "Argument[*0].Field[*port]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_peer_init", "(ssl_peer *,Curl_cfilter *,const char *,int)", "", "Argument[3]", "Argument[*0].Field[*transport]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_create", "(size_t,size_t,Curl_ssl_scache **)", "", "Argument[0]", "Argument[**2].Field[*peer_count]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_create", "(size_t,size_t,Curl_ssl_scache **)", "", "Argument[1]", "Argument[**2].Field[**peers].Field[*max_sessions]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_get_obj", "(Curl_cfilter *,Curl_easy *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_put", "(Curl_cfilter *,Curl_easy *,const char *,Curl_ssl_session *)", "", "Argument[*3]", "Argument[*3].Field[*list].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_put", "(Curl_cfilter *,Curl_easy *,const char *,Curl_ssl_session *)", "", "Argument[3]", "Argument[*3].Field[*list].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_return", "(Curl_cfilter *,Curl_easy *,const char *,Curl_ssl_session *)", "", "Argument[*3]", "Argument[*3].Field[*list].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_scache_return", "(Curl_cfilter *,Curl_easy *,const char *,Curl_ssl_session *)", "", "Argument[3]", "Argument[*3].Field[*list].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[*0]", "Argument[**8].Field[**sdata]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[*6]", "Argument[**8].Field[**quic_tp]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[0]", "Argument[**8].Field[*sdata]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[1]", "Argument[**8].Field[*sdata_len]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[2]", "Argument[**8].Field[*ietf_tls_id]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[4]", "Argument[**8].Field[*valid_until]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[5]", "Argument[**8].Field[*earlydata_max]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[6]", "Argument[**8].Field[*quic_tp]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create2", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,unsigned char *,size_t,Curl_ssl_session **)", "", "Argument[7]", "Argument[**8].Field[*quic_tp_len]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,Curl_ssl_session **)", "", "Argument[*0]", "Argument[**6].Field[**sdata]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,Curl_ssl_session **)", "", "Argument[0]", "Argument[**6].Field[*sdata]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,Curl_ssl_session **)", "", "Argument[1]", "Argument[**6].Field[*sdata_len]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,Curl_ssl_session **)", "", "Argument[2]", "Argument[**6].Field[*ietf_tls_id]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,Curl_ssl_session **)", "", "Argument[4]", "Argument[**6].Field[*valid_until]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_session_create", "(unsigned char *,size_t,int,const char *,curl_off_t,size_t,Curl_ssl_session **)", "", "Argument[5]", "Argument[**6].Field[*earlydata_max]", "value", "dfc-generated"]
- ["", "", True, "Curl_ssl_supports", "(Curl_easy *,unsigned int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_str2addr", "(char *,int)", "", "Argument[*0]", "ReturnValue[*].Field[**ai_canonname]", "value", "dfc-generated"]
- ["", "", True, "Curl_str2addr", "(char *,int)", "", "Argument[0]", "ReturnValue[*].Field[**ai_canonname]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_newline", "(char **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_newline", "(char **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_newline", "(char **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_number", "(char **,size_t *,size_t)", "", "Argument[**0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_number", "(char **,size_t *,size_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_number", "(char **,size_t *,size_t)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_number", "(char **,size_t *,size_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_number", "(char **,size_t *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_number", "(char **,size_t *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_quotedword", "(char **,Curl_str *,const size_t)", "", "Argument[**0]", "Argument[*1].Field[**str]", "value", "dfc-generated"]
- ["", "", True, "Curl_str_single", "(char **,char)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_single", "(char **,char)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_single", "(char **,char)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_singlespace", "(char **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_singlespace", "(char **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_singlespace", "(char **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_until", "(char **,Curl_str *,const size_t,char)", "", "Argument[**0]", "Argument[*1].Field[**str]", "value", "dfc-generated"]
- ["", "", True, "Curl_str_until", "(char **,Curl_str *,const size_t,char)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_until", "(char **,Curl_str *,const size_t,char)", "", "Argument[*0]", "Argument[*1].Field[*str]", "value", "dfc-generated"]
- ["", "", True, "Curl_str_until", "(char **,Curl_str *,const size_t,char)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_until", "(char **,Curl_str *,const size_t,char)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_until", "(char **,Curl_str *,const size_t,char)", "", "Argument[0]", "Argument[*1].Field[*str]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_word", "(char **,Curl_str *,const size_t)", "", "Argument[**0]", "Argument[*1].Field[**str]", "value", "dfc-generated"]
- ["", "", True, "Curl_str_word", "(char **,Curl_str *,const size_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_word", "(char **,Curl_str *,const size_t)", "", "Argument[*0]", "Argument[*1].Field[*str]", "value", "dfc-generated"]
- ["", "", True, "Curl_str_word", "(char **,Curl_str *,const size_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_word", "(char **,Curl_str *,const size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_str_word", "(char **,Curl_str *,const size_t)", "", "Argument[0]", "Argument[*1].Field[*str]", "taint", "dfc-generated"]
- ["", "", True, "Curl_strerror", "(int,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "Curl_strerror", "(int,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "Curl_strntolower", "(char *,const char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_strntolower", "(char *,const char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_strntolower", "(char *,const char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_strntoupper", "(char *,const char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_strntoupper", "(char *,const char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_strntoupper", "(char *,const char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_thread_destroy", "(pthread_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_thread_join", "(pthread_t **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_thread_join", "(pthread_t **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_thread_join", "(pthread_t **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff", "(curltime,curltime)", "", "Argument[0].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff", "(curltime,curltime)", "", "Argument[0].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff", "(curltime,curltime)", "", "Argument[1].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff", "(curltime,curltime)", "", "Argument[1].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_ceil", "(curltime,curltime)", "", "Argument[0].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_ceil", "(curltime,curltime)", "", "Argument[0].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_ceil", "(curltime,curltime)", "", "Argument[1].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_ceil", "(curltime,curltime)", "", "Argument[1].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_us", "(curltime,curltime)", "", "Argument[0].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_us", "(curltime,curltime)", "", "Argument[0].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_us", "(curltime,curltime)", "", "Argument[1].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timediff_us", "(curltime,curltime)", "", "Argument[1].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timeleft", "(Curl_easy *,curltime *,bool)", "", "Argument[*0].Field[*set].Field[*connecttimeout]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timeleft", "(Curl_easy *,curltime *,bool)", "", "Argument[*0].Field[*set].Field[*timeout]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timeleft", "(Curl_easy *,curltime *,bool)", "", "Argument[*1].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timeleft", "(Curl_easy *,curltime *,bool)", "", "Argument[*1].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timeleft", "(Curl_easy *,curltime *,bool)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "Curl_timestrcmp", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timestrcmp", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timestrcmp", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_timestrcmp", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "Curl_updatesocket", "(Curl_easy *)", "", "Argument[0]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "Curl_url_set_authority", "(CURLU *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**password]", "taint", "dfc-generated"]
- ["", "", True, "Curl_url_set_authority", "(CURLU *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**user]", "value", "dfc-generated"]
- ["", "", True, "Curl_url_set_authority", "(CURLU *,const char *)", "", "Argument[1]", "Argument[*0].Field[**password]", "taint", "dfc-generated"]
- ["", "", True, "Curl_url_set_authority", "(CURLU *,const char *)", "", "Argument[1]", "Argument[*0].Field[**user]", "taint", "dfc-generated"]
- ["", "", True, "Curl_urldecode", "(const char *,size_t,char **,size_t *,urlreject)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_urldecode", "(const char *,size_t,char **,size_t *,urlreject)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "Curl_urldecode", "(const char *,size_t,char **,size_t *,urlreject)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "Curl_vsetopt", "(Curl_easy *,CURLoption,va_list)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_vsetopt", "(Curl_easy *,CURLoption,va_list)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "Curl_vsetopt", "(Curl_easy *,CURLoption,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "Curl_waitfds_add_ps", "(Curl_waitfds *,easy_pollset *)", "", "Argument[*1].Field[*sockets]", "Argument[*0].Field[**wfds].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "Curl_waitfds_init", "(Curl_waitfds *,curl_waitfd *,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**wfds]", "value", "dfc-generated"]
- ["", "", True, "Curl_waitfds_init", "(Curl_waitfds *,curl_waitfd *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*wfds]", "value", "dfc-generated"]
- ["", "", True, "Curl_waitfds_init", "(Curl_waitfds *,curl_waitfd *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*count]", "value", "dfc-generated"]
- ["", "", True, "Curl_wildcard_dtor", "(WildcardData **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "Curl_xfer_send", "(Curl_easy *,const void *,size_t,bool,size_t *)", "", "Argument[*4]", "Argument[*0].Field[*info].Field[*request_size]", "taint", "dfc-generated"]
- ["", "", True, "Curl_xfer_send", "(Curl_easy *,const void *,size_t,bool,size_t *)", "", "Argument[4]", "Argument[*0].Field[*info].Field[*request_size]", "taint", "dfc-generated"]
- ["", "", True, "Curl_xfer_send", "(Curl_easy *,const void *,size_t,bool,size_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "SetHTTPrequest", "(OperationConfig *,HttpReq,HttpReq *)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "SetHTTPrequest", "(OperationConfig *,HttpReq,HttpReq *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "add2list", "(curl_slist **,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "add_file_name_to_url", "(CURL *,char **,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "curl_easy_cleanup", "(CURL *)", "", "Argument[0]", "Argument[*0]", "value", "df-generated"]
- ["", "", True, "curl_easy_duphandle", "(CURL *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "curl_easy_header", "(CURL *,const char *,size_t,unsigned int,int,curl_header **)", "", "Argument[2]", "Argument[**5].Field[*index]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_nextheader", "(CURL *,unsigned int,int,curl_header *)", "", "Argument[*3].Field[**anchor].Field[**_next]", "ReturnValue[*].Field[**anchor]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_nextheader", "(CURL *,unsigned int,int,curl_header *)", "", "Argument[*3].Field[**anchor].Field[*_next]", "ReturnValue[*].Field[*anchor]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_option_next", "(const curl_easyoption *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_option_next", "(const curl_easyoption *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "curl_easy_option_next", "(const curl_easyoption *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curl_easy_option_next", "(const curl_easyoption *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "curl_easy_pause", "(CURL *,int)", "", "Argument[0]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_perform", "(CURL *)", "", "Argument[0]", "Argument[*0]", "value", "df-generated"]
- ["", "", True, "curl_easy_recv", "(CURL *,void *,size_t,size_t *)", "", "Argument[*0]", "Argument[*0].Field[*conn_queue].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_recv", "(CURL *,void *,size_t,size_t *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_send", "(CURL *,const void *,size_t,size_t *)", "", "Argument[*0]", "Argument[*0].Field[*conn_queue].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_send", "(CURL *,const void *,size_t,size_t *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_upkeep", "(CURL *)", "", "Argument[*0]", "Argument[*0].Field[*conn_queue].Field[**_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_easy_upkeep", "(CURL *)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_formadd", "(curl_httppost **,curl_httppost **,...)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "curl_getdate", "(const char *,const time_t *)", "", "Argument[*0]", "Argument[0]", "taint", "dfc-generated"]
- ["", "", True, "curl_getdate", "(const char *,const time_t *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curl_getdate", "(const char *,const time_t *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curl_mime_addpart", "(curl_mime *)", "", "Argument[0]", "Argument[*0].Field[**firstpart].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_addpart", "(curl_mime *)", "", "Argument[0]", "Argument[*0].Field[**lastpart].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_addpart", "(curl_mime *)", "", "Argument[0]", "ReturnValue[*].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data", "(curl_mimepart *,const char *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**data]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data", "(curl_mimepart *,const char *,size_t)", "", "Argument[0]", "Argument[*0].Field[**arg].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data", "(curl_mimepart *,const char *,size_t)", "", "Argument[0]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data", "(curl_mimepart *,const char *,size_t)", "", "Argument[1]", "Argument[*0].Field[**data]", "taint", "dfc-generated"]
- ["", "", True, "curl_mime_data", "(curl_mimepart *,const char *,size_t)", "", "Argument[2]", "Argument[*0].Field[*datasize]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[**5]", "Argument[*0].Field[***arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[*5]", "Argument[*0].Field[**arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[0]", "Argument[*0].Field[**arg].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[0]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[1]", "Argument[*0].Field[*datasize]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[2]", "Argument[*0].Field[*readfunc]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[3]", "Argument[*0].Field[*seekfunc]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[4]", "Argument[*0].Field[*freefunc]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_data_cb", "(curl_mimepart *,curl_off_t,curl_read_callback,curl_seek_callback,curl_free_callback,void *)", "", "Argument[5]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_filedata", "(curl_mimepart *,const char *)", "", "Argument[0]", "Argument[*0].Field[**arg].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_filedata", "(curl_mimepart *,const char *)", "", "Argument[0]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_headers", "(curl_mimepart *,curl_slist *,int)", "", "Argument[*1]", "Argument[*0].Field[**userheaders]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_headers", "(curl_mimepart *,curl_slist *,int)", "", "Argument[1]", "Argument[*0].Field[*userheaders]", "value", "dfc-generated"]
- ["", "", True, "curl_mime_subparts", "(curl_mimepart *,curl_mime *)", "", "Argument[1]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "curl_multi_add_handle", "(CURLM *,CURL *)", "", "Argument[0]", "Argument[*1].Field[*multi]", "value", "dfc-generated"]
- ["", "", True, "curl_multi_add_handle", "(CURLM *,CURL *)", "", "Argument[1]", "Argument[*1].Field[*multi_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_multi_info_read", "(CURLM *,int *)", "", "Argument[*0].Field[*msglist].Field[*_size]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "curl_multi_perform", "(CURLM *,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "curl_multi_remove_handle", "(CURLM *,CURL *)", "", "Argument[1]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "curl_multi_socket", "(CURLM *,curl_socket_t,int *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "curl_multi_socket_action", "(CURLM *,curl_socket_t,int,int *)", "", "Argument[*0]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "curl_multi_socket_all", "(CURLM *,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "curl_mvaprintf", "(const char *,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "curl_mvfprintf", "(FILE *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "curl_mvprintf", "(const char *,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "curl_mvsnprintf", "(char *,size_t,const char *,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "curl_mvsprintf", "(char *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "curl_pushheader_byname", "(curl_pushheaders *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "curl_pushheader_byname", "(curl_pushheaders *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "curl_pushheader_bynum", "(curl_pushheaders *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curl_share_setopt", "(CURLSH *,CURLSHoption,...)", "", "Argument[0]", "Argument[*0].Field[*cpool].Field[*share]", "value", "dfc-generated"]
- ["", "", True, "curl_slist_append", "(curl_slist *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "curl_slist_append", "(curl_slist *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "curl_url_dup", "(const CURLU *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "curl_url_get", "(const CURLU *,CURLUPart,char **,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "curl_url_set", "(CURLU *,CURLUPart,const char *,unsigned int)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "curl_url_set", "(CURLU *,CURLUPart,const char *,unsigned int)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "curl_ws_recv", "(CURL *,void *,size_t,size_t *,const curl_ws_frame **)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_ws_recv", "(CURL *,void *,size_t,size_t *,const curl_ws_frame **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "curl_ws_send", "(CURL *,const void *,size_t,size_t *,curl_off_t,unsigned int)", "", "Argument[0]", "Argument[*0].Field[*conn_queue].Field[*_ptr]", "value", "dfc-generated"]
- ["", "", True, "curl_ws_send", "(CURL *,const void *,size_t,size_t *,curl_off_t,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "curlx_dyn_add", "(dynbuf *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**bufr]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_add", "(dynbuf *,const char *)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "curlx_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**bufr]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "curlx_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*allc]", "taint", "dfc-generated"]
- ["", "", True, "curlx_dyn_addn", "(dynbuf *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*leng]", "taint", "dfc-generated"]
- ["", "", True, "curlx_dyn_free", "(dynbuf *)", "", "Argument[*0].Field[*allc]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_init", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[*toobig]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_len", "(const dynbuf *)", "", "Argument[*0].Field[*leng]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_ptr", "(const dynbuf *)", "", "Argument[*0].Field[**bufr]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_ptr", "(const dynbuf *)", "", "Argument[*0].Field[*bufr]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_setlen", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_tail", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "curlx_dyn_tail", "(dynbuf *,size_t)", "", "Argument[1]", "Argument[*0].Field[*leng]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_take", "(dynbuf *,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "curlx_dyn_take", "(dynbuf *,size_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "curlx_dyn_take", "(dynbuf *,size_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "curlx_dyn_uptr", "(const dynbuf *)", "", "Argument[*0].Field[**bufr]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_uptr", "(const dynbuf *)", "", "Argument[*0].Field[*bufr]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "curlx_dyn_vaddf", "(dynbuf *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "curlx_get_line", "(dynbuf *,FILE *)", "", "Argument[1]", "Argument[*0].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "curlx_mstotv", "(timeval *,timediff_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "curlx_mstotv", "(timeval *,timediff_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "curlx_sitouz", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "curlx_sltosi", "(long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_sltoui", "(long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_sltous", "(long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_sotouz", "(curl_off_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_strtoofft", "(const char *,char **,int,curl_off_t *)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "curlx_strtoofft", "(const char *,char **,int,curl_off_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "curlx_strtoofft", "(const char *,char **,int,curl_off_t *)", "", "Argument[*0]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "curlx_strtoofft", "(const char *,char **,int,curl_off_t *)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "curlx_strtoofft", "(const char *,char **,int,curl_off_t *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "curlx_strtoofft", "(const char *,char **,int,curl_off_t *)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "curlx_sztosi", "(ssize_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_tvtoms", "(timeval *)", "", "Argument[*0].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_tvtoms", "(timeval *)", "", "Argument[*0].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_uitous", "(unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_ultouc", "(unsigned long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_ultous", "(unsigned long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_uztosi", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_uztosz", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_uztoui", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "curlx_uztoul", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "easysrc_add", "(slist_wc **,const char *)", "", "Argument[**0].Field[**last].Field[**next]", "Argument[**0].Field[**last]", "value", "dfc-generated"]
- ["", "", True, "easysrc_add", "(slist_wc **,const char *)", "", "Argument[**0].Field[**last].Field[*next]", "Argument[**0].Field[*last]", "value", "dfc-generated"]
- ["", "", True, "easysrc_add", "(slist_wc **,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "findshortopt", "(char)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[**2]", "Argument[**3]", "value", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[**2]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[**3]", "Argument[**2]", "value", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[**3]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[*2]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[*2]", "Argument[**3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[*2]", "Argument[*3]", "value", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[*3]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[*3]", "Argument[**3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[2]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[2]", "Argument[**3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[2]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[3]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[3]", "Argument[**3]", "taint", "df-generated"]
- ["", "", True, "formparse", "(OperationConfig *,const char *,tool_mime **,tool_mime **,bool)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"]
- ["", "", True, "get_url_file_name", "(GlobalConfig *,char **,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "getparameter", "(const char *,char *,char *,bool *,GlobalConfig *,OperationConfig *)", "", "Argument[*0]", "Argument[*1]", "value", "df-generated"]
- ["", "", True, "getparameter", "(const char *,char *,char *,bool *,GlobalConfig *,OperationConfig *)", "", "Argument[*1]", "Argument[*0]", "value", "df-generated"]
- ["", "", True, "getparameter", "(const char *,char *,char *,bool *,GlobalConfig *,OperationConfig *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "getparameter", "(const char *,char *,char *,bool *,GlobalConfig *,OperationConfig *)", "", "Argument[4]", "Argument[*4].Field[**last].Field[*global]", "value", "dfc-generated"]
- ["", "", True, "getpass_r", "(const char *,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "getpass_r", "(const char *,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "glob_cleanup", "(URLGlob **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "glob_match_url", "(char **,char *,URLGlob *)", "", "Argument[*1]", "Argument[1]", "taint", "dfc-generated"]
- ["", "", True, "glob_match_url", "(char **,char *,URLGlob *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "glob_next_url", "(char **,URLGlob *)", "", "Argument[*1].Field[**glob_buffer]", "Argument[**0]", "value", "dfc-generated"]
- ["", "", True, "glob_next_url", "(char **,URLGlob *)", "", "Argument[*1].Field[*glob_buffer]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "glob_next_url", "(char **,URLGlob *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "glob_url", "(URLGlob **,char *,curl_off_t *,FILE *)", "", "Argument[*1]", "Argument[**0].Field[*pos]", "taint", "dfc-generated"]
- ["", "", True, "glob_url", "(URLGlob **,char *,curl_off_t *,FILE *)", "", "Argument[1]", "Argument[**0].Field[*pos]", "taint", "dfc-generated"]
- ["", "", True, "glob_url", "(URLGlob **,char *,curl_off_t *,FILE *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "helpscan", "(unsigned char *,size_t,scan_ctx *)", "", "Argument[*0]", "Argument[*2].Field[*obuf]", "value", "dfc-generated"]
- ["", "", True, "helpscan", "(unsigned char *,size_t,scan_ctx *)", "", "Argument[*0]", "Argument[*2].Field[*rbuf]", "value", "dfc-generated"]
- ["", "", True, "helpscan", "(unsigned char *,size_t,scan_ctx *)", "", "Argument[0]", "Argument[*2].Field[*obuf]", "taint", "dfc-generated"]
- ["", "", True, "helpscan", "(unsigned char *,size_t,scan_ctx *)", "", "Argument[0]", "Argument[*2].Field[*rbuf]", "taint", "dfc-generated"]
- ["", "", True, "inithelpscan", "(scan_ctx *,const char *,const char *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**trigger]", "value", "dfc-generated"]
- ["", "", True, "inithelpscan", "(scan_ctx *,const char *,const char *,const char *)", "", "Argument[*2]", "Argument[*0].Field[**arg]", "value", "dfc-generated"]
- ["", "", True, "inithelpscan", "(scan_ctx *,const char *,const char *,const char *)", "", "Argument[*3]", "Argument[*0].Field[**endarg]", "value", "dfc-generated"]
- ["", "", True, "inithelpscan", "(scan_ctx *,const char *,const char *,const char *)", "", "Argument[1]", "Argument[*0].Field[*trigger]", "value", "dfc-generated"]
- ["", "", True, "inithelpscan", "(scan_ctx *,const char *,const char *,const char *)", "", "Argument[2]", "Argument[*0].Field[*arg]", "value", "dfc-generated"]
- ["", "", True, "inithelpscan", "(scan_ctx *,const char *,const char *,const char *)", "", "Argument[3]", "Argument[*0].Field[*endarg]", "value", "dfc-generated"]
- ["", "", True, "ipfs_url_rewrite", "(CURLU *,const char *,char **,OperationConfig *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "jsonquoted", "(const char *,size_t,dynbuf *,bool)", "", "Argument[*0]", "Argument[*2].Field[**bufr]", "value", "dfc-generated"]
- ["", "", True, "jsonquoted", "(const char *,size_t,dynbuf *,bool)", "", "Argument[0]", "Argument[*2].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "new_getout", "(OperationConfig *)", "", "Argument[*0].Field[*default_node_flags]", "ReturnValue[*].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "oct2nummax", "(long *,const char *,long)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "oct2nummax", "(long *,const char *,long)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "oct2nummax", "(long *,const char *,long)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "operate", "(GlobalConfig *,int,char *[])", "", "Argument[0]", "Argument[*0].Field[**last].Field[*global]", "value", "dfc-generated"]
- ["", "", True, "parse_args", "(GlobalConfig *,int,char *[])", "", "Argument[0]", "Argument[*0].Field[**last].Field[*global]", "value", "dfc-generated"]
- ["", "", True, "parseconfig", "(const char *,GlobalConfig *)", "", "Argument[1]", "Argument[*1].Field[**last].Field[*global]", "value", "dfc-generated"]
- ["", "", True, "progress_meter", "(GlobalConfig *,timeval *,bool)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "progressbarinit", "(ProgressData *,OperationConfig *)", "", "Argument[*1].Field[*resume_from]", "Argument[*0].Field[*initial_size]", "value", "dfc-generated"]
- ["", "", True, "proto2num", "(OperationConfig *,const char *const *,char **,const char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "secs2ms", "(long *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "secs2ms", "(long *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "setvariable", "(GlobalConfig *,const char *)", "", "Argument[*0].Field[**variables]", "Argument[*0].Field[**variables].Field[**next]", "value", "dfc-generated"]
- ["", "", True, "setvariable", "(GlobalConfig *,const char *)", "", "Argument[*0].Field[*variables]", "Argument[*0].Field[**variables].Field[*next]", "value", "dfc-generated"]
- ["", "", True, "slist_wc_append", "(slist_wc *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"]
- ["", "", True, "slist_wc_append", "(slist_wc *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "str2num", "(long *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2num", "(long *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2offset", "(curl_off_t *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2offset", "(curl_off_t *,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2offset", "(curl_off_t *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2unum", "(long *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2unum", "(long *,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2unum", "(long *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2unummax", "(long *,const char *,long)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2unummax", "(long *,const char *,long)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "str2unummax", "(long *,const char *,long)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "tool2curlmime", "(CURL *,tool_mime *,curl_mime **)", "", "Argument[*2]", "Argument[**2].Field[**firstpart].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "tool2curlmime", "(CURL *,tool_mime *,curl_mime **)", "", "Argument[*2]", "Argument[**2].Field[**lastpart].Field[*parent]", "value", "dfc-generated"]
- ["", "", True, "tool2curlmime", "(CURL *,tool_mime *,curl_mime **)", "", "Argument[2]", "Argument[**2].Field[**firstpart].Field[*parent]", "taint", "dfc-generated"]
- ["", "", True, "tool2curlmime", "(CURL *,tool_mime *,curl_mime **)", "", "Argument[2]", "Argument[**2].Field[**lastpart].Field[*parent]", "taint", "dfc-generated"]
- ["", "", True, "tool2curlmime", "(CURL *,tool_mime *,curl_mime **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "tool_header_cb", "(char *,size_t,size_t,void *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "tool_header_cb", "(char *,size_t,size_t,void *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "tool_mime_stdin_read", "(char *,size_t,size_t,void *)", "", "Argument[2]", "Argument[*3].Field[*curpos]", "taint", "dfc-generated"]
- ["", "", True, "tool_mime_stdin_read", "(char *,size_t,size_t,void *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "tool_mime_stdin_seek", "(void *,curl_off_t,int)", "", "Argument[*0].Field[*size]", "Argument[*0].Field[*curpos]", "taint", "dfc-generated"]
- ["", "", True, "tool_mime_stdin_seek", "(void *,curl_off_t,int)", "", "Argument[1]", "Argument[*0].Field[*curpos]", "value", "dfc-generated"]
- ["", "", True, "tool_read_cb", "(char *,size_t,size_t,void *)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "tool_setopt_slist", "(CURL *,GlobalConfig *,const char *,CURLoption,curl_slist *)", "", "Argument[*4].Field[**next].Field[**next]", "Argument[*4]", "value", "dfc-generated"]
- ["", "", True, "tool_setopt_slist", "(CURL *,GlobalConfig *,const char *,CURLoption,curl_slist *)", "", "Argument[*4].Field[**next]", "Argument[*4]", "value", "dfc-generated"]
- ["", "", True, "tvdiff", "(timeval,timeval)", "", "Argument[0].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "tvdiff", "(timeval,timeval)", "", "Argument[0].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "tvdiff", "(timeval,timeval)", "", "Argument[1].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "tvdiff", "(timeval,timeval)", "", "Argument[1].Field[*tv_usec]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "varexpand", "(GlobalConfig *,const char *,dynbuf *,bool *)", "", "Argument[*1]", "Argument[*2].Field[**bufr]", "value", "dfc-generated"]
- ["", "", True, "varexpand", "(GlobalConfig *,const char *,dynbuf *,bool *)", "", "Argument[1]", "Argument[*2].Field[**bufr]", "taint", "dfc-generated"]
- ["", "", True, "varexpand", "(GlobalConfig *,const char *,dynbuf *,bool *)", "", "Argument[1]", "Argument[*2].Field[*allc]", "taint", "dfc-generated"]
- ["", "", True, "varexpand", "(GlobalConfig *,const char *,dynbuf *,bool *)", "", "Argument[1]", "Argument[*2].Field[*leng]", "taint", "dfc-generated"]
- ["", "", True, "xferinfo_cb", "(void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t)", "", "Argument[1]", "Argument[*0].Field[*dltotal]", "value", "dfc-generated"]
- ["", "", True, "xferinfo_cb", "(void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t)", "", "Argument[2]", "Argument[*0].Field[*dlnow]", "value", "dfc-generated"]
- ["", "", True, "xferinfo_cb", "(void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t)", "", "Argument[3]", "Argument[*0].Field[*ultotal]", "value", "dfc-generated"]
- ["", "", True, "xferinfo_cb", "(void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t)", "", "Argument[4]", "Argument[*0].Field[*ulnow]", "value", "dfc-generated"]

View File

@@ -1,148 +0,0 @@
# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
extensions:
- addsTo:
pack: codeql/cpp-all
extensible: summaryModel
data:
- ["", "", True, "_idn2_punycode_decode", "(size_t,const char[],size_t *,uint32_t[])", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "_idn2_punycode_decode", "(size_t,const char[],size_t *,uint32_t[])", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_idn2_punycode_decode", "(size_t,const char[],size_t *,uint32_t[])", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_idn2_punycode_decode", "(size_t,const char[],size_t *,uint32_t[])", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_idn2_punycode_encode", "(size_t,const uint32_t[],size_t *,char[])", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "_idn2_punycode_encode", "(size_t,const uint32_t[],size_t *,char[])", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_idn2_punycode_encode", "(size_t,const uint32_t[],size_t *,char[])", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "c_strcasecmp", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strcasecmp", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strcasecmp", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strcasecmp", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strncasecmp", "(const char *,const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strncasecmp", "(const char *,const char *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strncasecmp", "(const char *,const char *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_strncasecmp", "(const char *,const char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "c_tolower", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "c_toupper", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "cmdline_parser2", "(int,char **,gengetopt_args_info *,int,int,int)", "", "Argument[**1]", "Argument[*2].Field[***inputs]", "value", "dfc-generated"]
- ["", "", True, "cmdline_parser2", "(int,char **,gengetopt_args_info *,int,int,int)", "", "Argument[*1]", "Argument[*2].Field[***inputs]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser2", "(int,char **,gengetopt_args_info *,int,int,int)", "", "Argument[0]", "Argument[*2].Field[*inputs_num]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser2", "(int,char **,gengetopt_args_info *,int,int,int)", "", "Argument[1]", "Argument[*2].Field[***inputs]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser", "(int,char **,gengetopt_args_info *)", "", "Argument[**1]", "Argument[*2].Field[***inputs]", "value", "dfc-generated"]
- ["", "", True, "cmdline_parser", "(int,char **,gengetopt_args_info *)", "", "Argument[*1]", "Argument[*2].Field[***inputs]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser", "(int,char **,gengetopt_args_info *)", "", "Argument[0]", "Argument[*2].Field[*inputs_num]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser", "(int,char **,gengetopt_args_info *)", "", "Argument[1]", "Argument[*2].Field[***inputs]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser_ext", "(int,char **,gengetopt_args_info *,cmdline_parser_params *)", "", "Argument[**1]", "Argument[*2].Field[***inputs]", "value", "dfc-generated"]
- ["", "", True, "cmdline_parser_ext", "(int,char **,gengetopt_args_info *,cmdline_parser_params *)", "", "Argument[*1]", "Argument[*2].Field[***inputs]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser_ext", "(int,char **,gengetopt_args_info *,cmdline_parser_params *)", "", "Argument[0]", "Argument[*2].Field[*inputs_num]", "taint", "dfc-generated"]
- ["", "", True, "cmdline_parser_ext", "(int,char **,gengetopt_args_info *,cmdline_parser_params *)", "", "Argument[1]", "Argument[*2].Field[***inputs]", "taint", "dfc-generated"]
- ["", "", True, "get_map_data", "(uint32_t *,const IDNAMap *)", "", "Argument[*1].Field[*nmappings]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "get_map_data", "(uint32_t *,const IDNAMap *)", "", "Argument[*1].Field[*offset]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "get_map_data", "(uint32_t *,const IDNAMap *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "get_stat_atime", "(const stat *)", "", "Argument[*0].Field[*st_atim]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "get_stat_atime_ns", "(const stat *)", "", "Argument[*0].Field[*st_atim].Field[*tv_nsec]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "get_stat_ctime", "(const stat *)", "", "Argument[*0].Field[*st_ctim]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "get_stat_ctime_ns", "(const stat *)", "", "Argument[*0].Field[*st_ctim].Field[*tv_nsec]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "get_stat_mtime", "(const stat *)", "", "Argument[*0].Field[*st_mtim]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "get_stat_mtime_ns", "(const stat *)", "", "Argument[*0].Field[*st_mtim].Field[*tv_nsec]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[*2]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "gl_uninorm_decompose_merge_sort_inplace", "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_lookup_u8", "(const uint8_t *,uint8_t **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "idn2_lookup_u8", "(const uint8_t *,uint8_t **,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "idn2_punycode_decode", "(const char *,size_t,uint32_t *,size_t *)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "idn2_punycode_decode", "(const char *,size_t,uint32_t *,size_t *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_punycode_decode", "(const char *,size_t,uint32_t *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_punycode_decode", "(const char *,size_t,uint32_t *,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "idn2_punycode_encode", "(const uint32_t *,size_t,char *,size_t *)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "idn2_punycode_encode", "(const uint32_t *,size_t,char *,size_t *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_punycode_encode", "(const uint32_t *,size_t,char *,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "idn2_register_u8", "(const uint8_t *,const uint8_t *,uint8_t **,int)", "", "Argument[*0]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "idn2_register_u8", "(const uint8_t *,const uint8_t *,uint8_t **,int)", "", "Argument[*1]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "idn2_register_u8", "(const uint8_t *,const uint8_t *,uint8_t **,int)", "", "Argument[0]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_register_u8", "(const uint8_t *,const uint8_t *,uint8_t **,int)", "", "Argument[1]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_register_ul", "(const char *,const char *,char **,int)", "", "Argument[*1]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "idn2_register_ul", "(const char *,const char *,char **,int)", "", "Argument[1]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "idn2_to_ascii_8z", "(const char *,char **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "idn2_to_ascii_8z", "(const char *,char **,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "idn2_to_unicode_44i", "(const uint32_t *,size_t,uint32_t *,size_t *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "last_component", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "last_component", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "last_component", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "mem_cd_iconveh", "(const char *,size_t,const iconveh_t *,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "mem_iconveh", "(const char *,size_t,const char *,const char *,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[*0]", "Argument[**6]", "value", "dfc-generated"]
- ["", "", True, "mem_iconveh", "(const char *,size_t,const char *,const char *,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[0]", "Argument[**6]", "taint", "dfc-generated"]
- ["", "", True, "mem_iconveh", "(const char *,size_t,const char *,const char *,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[1]", "Argument[*7]", "value", "dfc-generated"]
- ["", "", True, "mem_iconveh", "(const char *,size_t,const char *,const char *,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "mem_iconveha", "(const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[*0]", "Argument[**7]", "value", "dfc-generated"]
- ["", "", True, "mem_iconveha", "(const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[0]", "Argument[**7]", "taint", "dfc-generated"]
- ["", "", True, "mem_iconveha", "(const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[1]", "Argument[*8]", "value", "dfc-generated"]
- ["", "", True, "mem_iconveha", "(const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "stat_time_normalize", "(int,stat *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "str_iconveh", "(const char *,const char *,const char *,iconv_ilseq_handler)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "str_iconveh", "(const char *,const char *,const char *,iconv_ilseq_handler)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "str_iconveha", "(const char *,const char *,const char *,bool,iconv_ilseq_handler)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "str_iconveha", "(const char *,const char *,const char *,bool,iconv_ilseq_handler)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[*3]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "u32_normalize", "(uninorm_t,const uint32_t *,size_t,uint32_t *,uint32_t *__restrict__,size_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "u8_mbtouc_aux", "(ucs4_t *,const uint8_t *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "u8_mbtouc_aux", "(ucs4_t *,const uint8_t *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uc_bidi_category", "(ucs4_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_bidi_class", "(ucs4_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_canonical_decomposition", "(ucs4_t,ucs4_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uc_canonical_decomposition", "(ucs4_t,ucs4_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uc_combining_class", "(ucs4_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_composition", "(ucs4_t,ucs4_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_composition", "(ucs4_t,ucs4_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_general_category", "(ucs4_t)", "", "Argument[0]", "ReturnValue.Field[*bitmask]", "taint", "dfc-generated"]
- ["", "", True, "uc_is_general_category_withtable", "(ucs4_t,uint32_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_is_general_category_withtable", "(ucs4_t,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_joining_type", "(ucs4_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_script", "(ucs4_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uc_script", "(ucs4_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uc_script_byname", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uc_script_byname", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "uc_script_byname", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uc_script_byname", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "version_etc", "(FILE *,const char *,const char *,const char *,...)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc", "(FILE *,const char *,const char *,const char *,...)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc", "(FILE *,const char *,const char *,const char *,...)", "", "Argument[*3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc", "(FILE *,const char *,const char *,const char *,...)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc", "(FILE *,const char *,const char *,const char *,...)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc", "(FILE *,const char *,const char *,const char *,...)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[**4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[*3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[*4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_ar", "(FILE *,const char *,const char *,const char *,const char *const *)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[**4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[*3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[*4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_arn", "(FILE *,const char *,const char *,const char *,const char *const *,size_t)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[*3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[*4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "version_etc_va", "(FILE *,const char *,const char *,const char *,va_list)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]

View File

@@ -1,517 +0,0 @@
# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
extensions:
- addsTo:
pack: codeql/cpp-all
extensible: summaryModel
data:
- ["", "", True, "_libssh2_base64_decode", "(LIBSSH2_SESSION *,char **,size_t *,const char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_close", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_extended_data", "(LIBSSH2_CHANNEL *,int)", "", "Argument[1]", "Argument[*0].Field[*remote].Field[*extended_data_ignore_mode]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_flush", "(LIBSSH2_CHANNEL *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_forward_cancel", "(LIBSSH2_LISTENER *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_free", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_locate", "(LIBSSH2_SESSION *,uint32_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_locate", "(LIBSSH2_SESSION *,uint32_t)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_nextid", "(LIBSSH2_SESSION *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**open_channel].Field[**channel_type]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[*1]", "ReturnValue[*].Field[**channel_type]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[1]", "Argument[*0].Field[**open_channel].Field[**channel_type]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[1]", "ReturnValue[*].Field[**channel_type]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[3]", "ReturnValue[*].Field[*remote].Field[*window_size]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[3]", "ReturnValue[*].Field[*remote].Field[*window_size_initial]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_open", "(LIBSSH2_SESSION *,const char *,uint32_t,uint32_t,uint32_t,const unsigned char *,size_t)", "", "Argument[4]", "ReturnValue[*].Field[*remote].Field[*packet_size]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_process_startup", "(LIBSSH2_CHANNEL *,const char *,size_t,const char *,size_t)", "", "Argument[2]", "Argument[*0].Field[*process_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_read", "(LIBSSH2_CHANNEL *,int,char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_read", "(LIBSSH2_CHANNEL *,int,char *,size_t)", "", "Argument[3]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_read", "(LIBSSH2_CHANNEL *,int,char *,size_t)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_channel_receive_window_adjust", "(LIBSSH2_CHANNEL *,uint32_t,unsigned char,unsigned int *)", "", "Argument[1]", "Argument[*0].Field[*adjust_adjust]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_receive_window_adjust", "(LIBSSH2_CHANNEL *,uint32_t,unsigned char,unsigned int *)", "", "Argument[1]", "Argument[*0].Field[*adjust_queue]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_receive_window_adjust", "(LIBSSH2_CHANNEL *,uint32_t,unsigned char,unsigned int *)", "", "Argument[1]", "Argument[*0].Field[*remote].Field[*window_size]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_write", "(LIBSSH2_CHANNEL *,int,const unsigned char *,size_t)", "", "Argument[3]", "Argument[*0].Field[*local].Field[*window_size]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_channel_write", "(LIBSSH2_CHANNEL *,int,const unsigned char *,size_t)", "", "Argument[3]", "Argument[*0].Field[*write_bufwrite]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_channel_write", "(LIBSSH2_CHANNEL *,int,const unsigned char *,size_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_cipher_crypt", "(EVP_CIPHER_CTX **,..(*)(..),int,unsigned char *,size_t,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_cipher_init", "(EVP_CIPHER_CTX **,..(*)(..),unsigned char *,unsigned char *,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_copy_string", "(LIBSSH2_SESSION *,string_buf *,unsigned char **,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_curve25519_gen_k", "(BIGNUM **,uint8_t[32],uint8_t[32])", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_dh_dtor", "(BIGNUM **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_dh_key_pair", "(BIGNUM **,BIGNUM *,BIGNUM *,BIGNUM *,int,BN_CTX *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_dh_secret", "(BIGNUM **,BIGNUM *,BIGNUM *,BIGNUM *,BN_CTX *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdh_gen_k", "(BIGNUM **,EVP_PKEY *,const unsigned char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_create_key", "(LIBSSH2_SESSION *,EVP_PKEY **,unsigned char **,size_t *,libssh2_curve_type)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private", "(EVP_PKEY **,LIBSSH2_SESSION *,const char *,const unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_frommemory", "(EVP_PKEY **,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_frommemory_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_frommemory_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_frommemory_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const unsigned char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const unsigned char *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ecdsa_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const unsigned char *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ed25519_new_private_frommemory_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ed25519_new_private_frommemory_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ed25519_new_private_frommemory_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ed25519_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const uint8_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ed25519_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const uint8_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ed25519_new_private_sk", "(EVP_PKEY **,unsigned char *,const char **,const unsigned char **,size_t *,LIBSSH2_SESSION *,const char *,const uint8_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[*2]", "Argument[*0].Field[**err_msg]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[1]", "Argument[*0].Field[*err_code]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[2]", "Argument[*0].Field[**err_msg]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[2]", "Argument[*0].Field[*err_msg]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error_flags", "(LIBSSH2_SESSION *,int,const char *,int)", "", "Argument[*2]", "Argument[*0].Field[**err_msg]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error_flags", "(LIBSSH2_SESSION *,int,const char *,int)", "", "Argument[1]", "Argument[*0].Field[*err_code]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error_flags", "(LIBSSH2_SESSION *,int,const char *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_error_flags", "(LIBSSH2_SESSION *,int,const char *,int)", "", "Argument[2]", "Argument[*0].Field[**err_msg]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_error_flags", "(LIBSSH2_SESSION *,int,const char *,int)", "", "Argument[2]", "Argument[*0].Field[*err_msg]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_get_bignum_bytes", "(string_buf *,unsigned char **,size_t *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_bignum_bytes", "(string_buf *,unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_bignum_bytes", "(string_buf *,unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_byte", "(string_buf *,unsigned char *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_string", "(string_buf *,unsigned char **,size_t *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_string", "(string_buf *,unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_string", "(string_buf *,unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_u32", "(string_buf *,uint32_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_get_u64", "(string_buf *,libssh2_uint64_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "_libssh2_hmac_cleanup", "(EVP_MAC_CTX **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_hmac_final", "(EVP_MAC_CTX **,void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_hmac_sha1_init", "(EVP_MAC_CTX **,void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_hmac_sha256_init", "(EVP_MAC_CTX **,void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_hmac_sha512_init", "(EVP_MAC_CTX **,void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_hmac_update", "(EVP_MAC_CTX **,const void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_htonu32", "(unsigned char *,uint32_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_kex_agree_instr", "(unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_kex_agree_instr", "(unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_kex_agree_instr", "(unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_kex_agree_instr", "(unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_kex_agree_instr", "(unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_kex_agree_instr", "(unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_kex_exchange", "(LIBSSH2_SESSION *,int,key_exchange_state_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "_libssh2_kex_exchange", "(LIBSSH2_SESSION *,int,key_exchange_state_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_kex_exchange", "(LIBSSH2_SESSION *,int,key_exchange_state_t *)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "_libssh2_list_add", "(list_head *,list_node *)", "", "Argument[0]", "Argument[*0].Field[**first].Field[*head]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_add", "(list_head *,list_node *)", "", "Argument[0]", "Argument[*0].Field[**last].Field[*head]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_add", "(list_head *,list_node *)", "", "Argument[0]", "Argument[*1].Field[*head]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_add", "(list_head *,list_node *)", "", "Argument[1]", "Argument[*0].Field[*first]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_add", "(list_head *,list_node *)", "", "Argument[1]", "Argument[*0].Field[*last]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_add", "(list_head *,list_node *)", "", "Argument[1]", "Argument[*1].Field[**prev].Field[*next]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_first", "(list_head *)", "", "Argument[*0].Field[**first]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_first", "(list_head *)", "", "Argument[*0].Field[*first]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_init", "(list_head *)", "", "Argument[*0].Field[**last]", "Argument[*0].Field[**first]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_init", "(list_head *)", "", "Argument[*0].Field[*last]", "Argument[*0].Field[*first]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_next", "(list_node *)", "", "Argument[*0].Field[**next]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_next", "(list_node *)", "", "Argument[*0].Field[*next]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_prev", "(list_node *)", "", "Argument[*0].Field[**prev]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_list_prev", "(list_node *)", "", "Argument[*0].Field[*prev]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_ntohu32", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ntohu32", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ntohu64", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_ntohu64", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_packet_add", "(LIBSSH2_SESSION *,unsigned char *,size_t,int,uint32_t)", "", "Argument[2]", "Argument[*0].Field[**packAdd_channelp].Field[*adjust_adjust]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_packet_add", "(LIBSSH2_SESSION *,unsigned char *,size_t,int,uint32_t)", "", "Argument[2]", "Argument[*0].Field[**packAdd_channelp].Field[*adjust_queue]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_packet_burn", "(LIBSSH2_SESSION *,libssh2_nonblocking_states *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_packet_require", "(LIBSSH2_SESSION *,unsigned char,unsigned char **,size_t *,int,const unsigned char *,size_t,packet_require_state_t *)", "", "Argument[1]", "Argument[*0].Field[*fullpacket_required_type]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_packet_requirev", "(LIBSSH2_SESSION *,const unsigned char *,unsigned char **,size_t *,int,const unsigned char *,size_t,packet_requirev_state_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_pem_decode_integer", "(unsigned char **,size_t *,unsigned char **,unsigned int *)", "", "Argument[**0]", "Argument[**2]", "value", "df-generated"]
- ["", "", True, "_libssh2_pem_decode_integer", "(unsigned char **,size_t *,unsigned char **,unsigned int *)", "", "Argument[**0]", "Argument[*3]", "value", "df-generated"]
- ["", "", True, "_libssh2_pem_decode_integer", "(unsigned char **,size_t *,unsigned char **,unsigned int *)", "", "Argument[*0]", "Argument[*2]", "value", "df-generated"]
- ["", "", True, "_libssh2_pem_decode_integer", "(unsigned char **,size_t *,unsigned char **,unsigned int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[**0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[**0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_decode_sequence", "(unsigned char **,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_parse", "(LIBSSH2_SESSION *,const char *,const char *,const unsigned char *,FILE *,unsigned char **,size_t *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pem_parse_memory", "(LIBSSH2_SESSION *,const char *,const char *,const char *,size_t,unsigned char **,size_t *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pub_priv_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pub_priv_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pub_priv_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_pub_priv_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_rsa_new_private", "(EVP_PKEY **,LIBSSH2_SESSION *,const char *,const unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_rsa_new_private_frommemory", "(EVP_PKEY **,LIBSSH2_SESSION *,const char *,size_t,const unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_session_set_blocking", "(LIBSSH2_SESSION *,int)", "", "Argument[*0].Field[*api_block_mode]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "_libssh2_session_set_blocking", "(LIBSSH2_SESSION *,int)", "", "Argument[1]", "Argument[*0].Field[*api_block_mode]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_sha1_final", "(EVP_MD_CTX **,unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha1_init", "(EVP_MD_CTX **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha1_update", "(EVP_MD_CTX **,const void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha256_final", "(EVP_MD_CTX **,unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha256_init", "(EVP_MD_CTX **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha256_update", "(EVP_MD_CTX **,const void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha384_final", "(EVP_MD_CTX **,unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha384_init", "(EVP_MD_CTX **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha384_update", "(EVP_MD_CTX **,const void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha512_final", "(EVP_MD_CTX **,unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha512_init", "(EVP_MD_CTX **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sha512_update", "(EVP_MD_CTX **,const void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_sk_pub_keyfilememory", "(LIBSSH2_SESSION *,unsigned char **,size_t *,unsigned char **,size_t *,int *,unsigned char *,const char **,const unsigned char **,size_t *,const char *,size_t,const char *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[*1]", "Argument[**0]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_bignum2_bytes", "(unsigned char **,const unsigned char *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[*1]", "Argument[**0]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_str", "(unsigned char **,const char *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u32", "(unsigned char **,uint32_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u32", "(unsigned char **,uint32_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u32", "(unsigned char **,uint32_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u32", "(unsigned char **,uint32_t)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u64", "(unsigned char **,libssh2_uint64_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u64", "(unsigned char **,libssh2_uint64_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_store_u64", "(unsigned char **,libssh2_uint64_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_transport_read", "(LIBSSH2_SESSION *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_transport_send", "(LIBSSH2_SESSION *,const unsigned char *,size_t,const unsigned char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,..(*)(..),void *)", "", "Argument[*1]", "Argument[*0].Field[**userauth_pblc_b]", "value", "dfc-generated"]
- ["", "", True, "_libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,..(*)(..),void *)", "", "Argument[1]", "Argument[*0].Field[**userauth_pblc_b]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,..(*)(..),void *)", "", "Argument[4]", "Argument[*0].Field[**userauth_pblc_s]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,..(*)(..),void *)", "", "Argument[4]", "Argument[*0].Field[*userauth_pblc_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,..(*)(..),void *)", "", "Argument[4]", "Argument[*0].Field[*userauth_pblc_s]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,..(*)(..),void *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_wait_socket", "(LIBSSH2_SESSION *,time_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "_libssh2_xor_data", "(unsigned char *,const unsigned char *,const unsigned char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_xor_data", "(unsigned char *,const unsigned char *,const unsigned char *,size_t)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_xor_data", "(unsigned char *,const unsigned char *,const unsigned char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_xor_data", "(unsigned char *,const unsigned char *,const unsigned char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "_libssh2_xor_data", "(unsigned char *,const unsigned char *,const unsigned char *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "chacha_encrypt_bytes", "(chacha_ctx *,const u8 *,u8 *,u32)", "", "Argument[*0].Field[*input]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chacha_encrypt_bytes", "(chacha_ctx *,const u8 *,u8 *,u32)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "chacha_encrypt_bytes", "(chacha_ctx *,const u8 *,u8 *,u32)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chacha_encrypt_bytes", "(chacha_ctx *,const u8 *,u8 *,u32)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chacha_ivsetup", "(chacha_ctx *,const u8 *,const u8 *)", "", "Argument[*1]", "Argument[*0].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chacha_ivsetup", "(chacha_ctx *,const u8 *,const u8 *)", "", "Argument[*2]", "Argument[*0].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chacha_ivsetup", "(chacha_ctx *,const u8 *,const u8 *)", "", "Argument[1]", "Argument[*0].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chacha_ivsetup", "(chacha_ctx *,const u8 *,const u8 *)", "", "Argument[2]", "Argument[*0].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chacha_keysetup", "(chacha_ctx *,const u8 *,u32)", "", "Argument[*1]", "Argument[*0].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chacha_keysetup", "(chacha_ctx *,const u8 *,u32)", "", "Argument[1]", "Argument[*0].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_crypt", "(chachapoly_ctx *,u_int,u_char *,const u_char *,u_int,u_int,int)", "", "Argument[*3]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "chachapoly_crypt", "(chachapoly_ctx *,u_int,u_char *,const u_char *,u_int,u_int,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_crypt", "(chachapoly_ctx *,u_int,u_char *,const u_char *,u_int,u_int,int)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_crypt", "(chachapoly_ctx *,u_int,u_char *,const u_char *,u_int,u_int,int)", "", "Argument[4]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_crypt", "(chachapoly_ctx *,u_int,u_char *,const u_char *,u_int,u_int,int)", "", "Argument[5]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_get_length", "(chachapoly_ctx *,unsigned int *,unsigned int,const unsigned char *,unsigned int)", "", "Argument[*3]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_get_length", "(chachapoly_ctx *,unsigned int *,unsigned int,const unsigned char *,unsigned int)", "", "Argument[3]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_init", "(chachapoly_ctx *,const u_char *,u_int)", "", "Argument[*1]", "Argument[*0].Field[*header_ctx].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_init", "(chachapoly_ctx *,const u_char *,u_int)", "", "Argument[*1]", "Argument[*0].Field[*main_ctx].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_init", "(chachapoly_ctx *,const u_char *,u_int)", "", "Argument[1]", "Argument[*0].Field[*header_ctx].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_init", "(chachapoly_ctx *,const u_char *,u_int)", "", "Argument[1]", "Argument[*0].Field[*main_ctx].Field[*input]", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_timingsafe_bcmp", "(const void *,const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_timingsafe_bcmp", "(const void *,const void *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_timingsafe_bcmp", "(const void *,const void *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "chachapoly_timingsafe_bcmp", "(const void *,const void *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_agent_get_identity", "(LIBSSH2_AGENT *,libssh2_agent_publickey **,libssh2_agent_publickey *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "libssh2_agent_get_identity_path", "(LIBSSH2_AGENT *)", "", "Argument[*0].Field[**identity_agent_path]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_get_identity_path", "(LIBSSH2_AGENT *)", "", "Argument[*0].Field[*identity_agent_path]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_init", "(LIBSSH2_SESSION *)", "", "Argument[*0]", "ReturnValue[*].Field[**session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_set_identity_path", "(LIBSSH2_AGENT *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**identity_agent_path]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_set_identity_path", "(LIBSSH2_AGENT *,const char *)", "", "Argument[1]", "Argument[*0].Field[**identity_agent_path]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[*1].Field[**node]", "Argument[*0].Field[**identity]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[*1].Field[*node]", "Argument[*0].Field[*identity]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[*6]", "Argument[*0].Field[**session].Field[**userauth_pblc_method]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[6]", "Argument[*0].Field[**session].Field[**userauth_pblc_method]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_agent_sign", "(LIBSSH2_AGENT *,libssh2_agent_publickey *,unsigned char **,size_t *,const unsigned char *,size_t,const char *,unsigned int)", "", "Argument[7]", "Argument[*0].Field[**session].Field[*userauth_pblc_method_len]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_userauth", "(LIBSSH2_AGENT *,const char *,libssh2_agent_publickey *)", "", "Argument[*1]", "Argument[*0].Field[**session].Field[**userauth_pblc_b]", "value", "dfc-generated"]
- ["", "", True, "libssh2_agent_userauth", "(LIBSSH2_AGENT *,const char *,libssh2_agent_publickey *)", "", "Argument[1]", "Argument[*0].Field[**session].Field[**userauth_pblc_b]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_banner_set", "(LIBSSH2_SESSION *,const char *)", "", "Argument[*1]", "Argument[*0].Field[*local].Field[**banner]", "value", "dfc-generated"]
- ["", "", True, "libssh2_banner_set", "(LIBSSH2_SESSION *,const char *)", "", "Argument[1]", "Argument[*0].Field[*local].Field[**banner]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_base64_decode", "(LIBSSH2_SESSION *,char **,unsigned int *,const char *,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_close", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_direct_streamlocal_ex", "(LIBSSH2_SESSION *,const char *,const char *,int)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_direct_streamlocal_ex", "(LIBSSH2_SESSION *,const char *,const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_direct_tcpip_ex", "(LIBSSH2_SESSION *,const char *,int,const char *,int)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_direct_tcpip_ex", "(LIBSSH2_SESSION *,const char *,int,const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_eof", "(LIBSSH2_CHANNEL *)", "", "Argument[*0].Field[*remote].Field[*eof]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_flush_ex", "(LIBSSH2_CHANNEL *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_forward_accept", "(LIBSSH2_LISTENER *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_forward_accept", "(LIBSSH2_LISTENER *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_forward_cancel", "(LIBSSH2_LISTENER *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_forward_listen_ex", "(LIBSSH2_SESSION *,const char *,int,int *,int)", "", "Argument[*1]", "ReturnValue[*].Field[**host]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_forward_listen_ex", "(LIBSSH2_SESSION *,const char *,int,int *,int)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_forward_listen_ex", "(LIBSSH2_SESSION *,const char *,int,int *,int)", "", "Argument[1]", "ReturnValue[*].Field[**host]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_forward_listen_ex", "(LIBSSH2_SESSION *,const char *,int,int *,int)", "", "Argument[2]", "Argument[*3]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_forward_listen_ex", "(LIBSSH2_SESSION *,const char *,int,int *,int)", "", "Argument[2]", "ReturnValue[*].Field[*port]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_forward_listen_ex", "(LIBSSH2_SESSION *,const char *,int,int *,int)", "", "Argument[4]", "ReturnValue[*].Field[*queue_maxsize]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_free", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_get_exit_signal", "(LIBSSH2_CHANNEL *,char **,size_t *,char **,size_t *,char **,size_t *)", "", "Argument[*0].Field[**exit_signal]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_get_exit_signal", "(LIBSSH2_CHANNEL *,char **,size_t *,char **,size_t *,char **,size_t *)", "", "Argument[*0].Field[*exit_signal]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_get_exit_signal", "(LIBSSH2_CHANNEL *,char **,size_t *,char **,size_t *,char **,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_get_exit_status", "(LIBSSH2_CHANNEL *)", "", "Argument[*0].Field[*exit_status]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_handle_extended_data2", "(LIBSSH2_CHANNEL *,int)", "", "Argument[1]", "Argument[*0].Field[*remote].Field[*extended_data_ignore_mode]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_handle_extended_data", "(LIBSSH2_CHANNEL *,int)", "", "Argument[1]", "Argument[*0].Field[*remote].Field[*extended_data_ignore_mode]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**open_channel].Field[**channel_type]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[*1]", "ReturnValue[*].Field[**channel_type]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**open_channel].Field[**channel_type]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[1]", "ReturnValue[*].Field[**channel_type]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[3]", "ReturnValue[*].Field[*remote].Field[*window_size]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[3]", "ReturnValue[*].Field[*remote].Field[*window_size_initial]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_open_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,unsigned int,unsigned int,const char *,unsigned int)", "", "Argument[4]", "ReturnValue[*].Field[*remote].Field[*packet_size]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_process_startup", "(LIBSSH2_CHANNEL *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*process_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_read_ex", "(LIBSSH2_CHANNEL *,int,char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_read_ex", "(LIBSSH2_CHANNEL *,int,char *,size_t)", "", "Argument[3]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_read_ex", "(LIBSSH2_CHANNEL *,int,char *,size_t)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_receive_window_adjust2", "(LIBSSH2_CHANNEL *,unsigned long,unsigned char,unsigned int *)", "", "Argument[1]", "Argument[*0].Field[*adjust_adjust]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_receive_window_adjust2", "(LIBSSH2_CHANNEL *,unsigned long,unsigned char,unsigned int *)", "", "Argument[1]", "Argument[*0].Field[*adjust_queue]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_receive_window_adjust2", "(LIBSSH2_CHANNEL *,unsigned long,unsigned char,unsigned int *)", "", "Argument[1]", "Argument[*0].Field[*remote].Field[*window_size]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_receive_window_adjust", "(LIBSSH2_CHANNEL *,unsigned long,unsigned char)", "", "Argument[1]", "Argument[*0].Field[*adjust_adjust]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_receive_window_adjust", "(LIBSSH2_CHANNEL *,unsigned long,unsigned char)", "", "Argument[1]", "Argument[*0].Field[*adjust_queue]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_receive_window_adjust", "(LIBSSH2_CHANNEL *,unsigned long,unsigned char)", "", "Argument[1]", "Argument[*0].Field[*remote].Field[*window_size]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_request_auth_agent", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_request_pty_ex", "(LIBSSH2_CHANNEL *,const char *,unsigned int,const char *,unsigned int,int,int,int,int)", "", "Argument[2]", "Argument[*0].Field[*reqPTY_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_request_pty_ex", "(LIBSSH2_CHANNEL *,const char *,unsigned int,const char *,unsigned int,int,int,int,int)", "", "Argument[4]", "Argument[*0].Field[*reqPTY_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_request_pty_size_ex", "(LIBSSH2_CHANNEL *,int,int,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_send_eof", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_set_blocking", "(LIBSSH2_CHANNEL *,int)", "", "Argument[1]", "Argument[*0].Field[**session].Field[*api_block_mode]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_setenv_ex", "(LIBSSH2_CHANNEL *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*setenv_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_setenv_ex", "(LIBSSH2_CHANNEL *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[4]", "Argument[*0].Field[*setenv_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_signal_ex", "(LIBSSH2_CHANNEL *,const char *,size_t)", "", "Argument[2]", "Argument[*0].Field[*sendsignal_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_wait_closed", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_wait_eof", "(LIBSSH2_CHANNEL *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_window_read_ex", "(LIBSSH2_CHANNEL *,unsigned long *,unsigned long *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_window_read_ex", "(LIBSSH2_CHANNEL *,unsigned long *,unsigned long *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_channel_window_write_ex", "(LIBSSH2_CHANNEL *,unsigned long *)", "", "Argument[*0].Field[*local].Field[*window_size]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_window_write_ex", "(LIBSSH2_CHANNEL *,unsigned long *)", "", "Argument[*0].Field[*local].Field[*window_size_initial]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_write_ex", "(LIBSSH2_CHANNEL *,int,const char *,size_t)", "", "Argument[3]", "Argument[*0].Field[*local].Field[*window_size]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_write_ex", "(LIBSSH2_CHANNEL *,int,const char *,size_t)", "", "Argument[3]", "Argument[*0].Field[*write_bufwrite]", "value", "dfc-generated"]
- ["", "", True, "libssh2_channel_write_ex", "(LIBSSH2_CHANNEL *,int,const char *,size_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_channel_x11_req_ex", "(LIBSSH2_CHANNEL *,int,const char *,const char *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_hostkey_hash", "(LIBSSH2_SESSION *,int)", "", "Argument[*0].Field[*server_hostkey_sha1]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "libssh2_hostkey_hash", "(LIBSSH2_SESSION *,int)", "", "Argument[*0].Field[*server_hostkey_sha256]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "libssh2_keepalive_config", "(LIBSSH2_SESSION *,int,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*keepalive_interval]", "value", "dfc-generated"]
- ["", "", True, "libssh2_keepalive_send", "(LIBSSH2_SESSION *,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "libssh2_keepalive_send", "(LIBSSH2_SESSION *,int *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*1]", "Argument[**6].Field[**name]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*1]", "Argument[**6].Field[**node].Field[**name]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*3]", "Argument[**6].Field[**key]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*3]", "Argument[**6].Field[**node].Field[**key]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[1]", "Argument[**6].Field[**name]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[1]", "Argument[**6].Field[**node].Field[**name]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[3]", "Argument[**6].Field[**key]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[3]", "Argument[**6].Field[**node].Field[**key]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[5]", "Argument[**6].Field[**node].Field[*typemask]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_add", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[5]", "Argument[**6].Field[*typemask]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*1]", "Argument[**8].Field[**name]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*1]", "Argument[**8].Field[**node].Field[**name]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*3]", "Argument[**8].Field[**key]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*3]", "Argument[**8].Field[**node].Field[**key]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*5]", "Argument[**8].Field[**node].Field[**comment]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[1]", "Argument[**8].Field[**name]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[1]", "Argument[**8].Field[**node].Field[**name]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[3]", "Argument[**8].Field[**key]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[3]", "Argument[**8].Field[**node].Field[**key]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[5]", "Argument[**8].Field[**node].Field[**comment]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[6]", "Argument[**8].Field[**node].Field[*comment_len]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[7]", "Argument[**8].Field[**node].Field[*typemask]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_addc", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,const char *,size_t,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[7]", "Argument[**8].Field[*typemask]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_check", "(LIBSSH2_KNOWNHOSTS *,const char *,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*0]", "Argument[**5]", "taint", "df-generated"]
- ["", "", True, "libssh2_knownhost_checkp", "(LIBSSH2_KNOWNHOSTS *,const char *,int,const char *,size_t,int,libssh2_knownhost **)", "", "Argument[*0]", "Argument[**6]", "taint", "df-generated"]
- ["", "", True, "libssh2_knownhost_get", "(LIBSSH2_KNOWNHOSTS *,libssh2_knownhost **,libssh2_knownhost *)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"]
- ["", "", True, "libssh2_knownhost_init", "(LIBSSH2_SESSION *)", "", "Argument[*0]", "ReturnValue[*].Field[**session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_knownhost_writeline", "(LIBSSH2_KNOWNHOSTS *,libssh2_knownhost *,char *,size_t,size_t *,int)", "", "Argument[*1]", "Argument[*2]", "taint", "df-generated"]
- ["", "", True, "libssh2_knownhost_writeline", "(LIBSSH2_KNOWNHOSTS *,libssh2_knownhost *,char *,size_t,size_t *,int)", "", "Argument[*1]", "Argument[*4]", "taint", "df-generated"]
- ["", "", True, "libssh2_poll", "(LIBSSH2_POLLFD *,unsigned int,long)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[*1]", "Argument[*0].Field[**add_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[*3]", "Argument[*0].Field[**add_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[1]", "Argument[*0].Field[**add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[2]", "Argument[*0].Field[**add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[2]", "Argument[*0].Field[*add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[3]", "Argument[*0].Field[**add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[4]", "Argument[*0].Field[**add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[4]", "Argument[*0].Field[*add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_add_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long,char,unsigned long,const libssh2_publickey_attribute[])", "", "Argument[6]", "Argument[*0].Field[**add_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "Argument[*0].Field[**pkeyInit_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "ReturnValue[*].Field[**channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_list_fetch", "(LIBSSH2_PUBLICKEY *,unsigned long *,libssh2_publickey_list **)", "", "Argument[*0]", "Argument[**2]", "taint", "df-generated"]
- ["", "", True, "libssh2_publickey_list_fetch", "(LIBSSH2_PUBLICKEY *,unsigned long *,libssh2_publickey_list **)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[*1]", "Argument[*0].Field[**remove_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[*3]", "Argument[*0].Field[**remove_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[1]", "Argument[*0].Field[**remove_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[2]", "Argument[*0].Field[**remove_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[2]", "Argument[*0].Field[*remove_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[3]", "Argument[*0].Field[**remove_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[4]", "Argument[*0].Field[**remove_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[4]", "Argument[*0].Field[*remove_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_publickey_remove_ex", "(LIBSSH2_PUBLICKEY *,const unsigned char *,unsigned long,const unsigned char *,unsigned long)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[*1]", "Argument[*0].Field[**scpRecv_command]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[*1]", "ReturnValue[*].Field[**session].Field[**scpRecv_command]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[0]", "Argument[*0].Field[**scpRecv_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[1]", "Argument[*0].Field[**scpRecv_command]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv2", "(LIBSSH2_SESSION *,const char *,libssh2_struct_stat *)", "", "Argument[1]", "ReturnValue[*].Field[**session].Field[**scpRecv_command]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[*1]", "Argument[*0].Field[**scpRecv_command]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[*1]", "ReturnValue[*].Field[**session].Field[**scpRecv_command]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[0]", "Argument[*0].Field[**scpRecv_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[1]", "Argument[*0].Field[**scpRecv_command]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_recv", "(LIBSSH2_SESSION *,const char *,stat *)", "", "Argument[1]", "ReturnValue[*].Field[**session].Field[**scpRecv_command]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[0]", "Argument[*0].Field[**scpSend_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[2]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[2]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[3]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[3]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[4]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[4]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[5]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send64", "(LIBSSH2_SESSION *,const char *,int,libssh2_int64_t,time_t,time_t)", "", "Argument[5]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[0]", "Argument[*0].Field[**scpSend_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[0]", "ReturnValue[*].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[2]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[2]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[3]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[3]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[4]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[4]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[5]", "Argument[*0].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_scp_send_ex", "(LIBSSH2_SESSION *,const char *,int,size_t,long,long)", "", "Argument[5]", "ReturnValue[*].Field[**session].Field[*scpSend_response]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_session_abstract", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[**abstract]", "ReturnValue[**]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_abstract", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*abstract]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_banner_get", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*remote].Field[**banner]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_banner_get", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*remote].Field[*banner]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_banner_set", "(LIBSSH2_SESSION *,const char *)", "", "Argument[*1]", "Argument[*0].Field[*local].Field[**banner]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_banner_set", "(LIBSSH2_SESSION *,const char *)", "", "Argument[1]", "Argument[*0].Field[*local].Field[**banner]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_session_block_directions", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*socket_block_directions]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_callback_set2", "(LIBSSH2_SESSION *,int,libssh2_cb_generic *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_session_callback_set2", "(LIBSSH2_SESSION *,int,libssh2_cb_generic *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "libssh2_session_callback_set", "(LIBSSH2_SESSION *,int,void *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_session_callback_set", "(LIBSSH2_SESSION *,int,void *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "libssh2_session_disconnect_ex", "(LIBSSH2_SESSION *,int,const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_session_flag", "(LIBSSH2_SESSION *,int,int)", "", "Argument[2]", "Argument[*0].Field[*flag].Field[*compress]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_flag", "(LIBSSH2_SESSION *,int,int)", "", "Argument[2]", "Argument[*0].Field[*flag].Field[*quote_paths]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_flag", "(LIBSSH2_SESSION *,int,int)", "", "Argument[2]", "Argument[*0].Field[*flag].Field[*sigpipe]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_free", "(LIBSSH2_SESSION *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_session_get_blocking", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*api_block_mode]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_get_read_timeout", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*packet_read_timeout]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_get_timeout", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*api_timeout]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_handshake", "(LIBSSH2_SESSION *,libssh2_socket_t)", "", "Argument[1]", "Argument[*0].Field[*socket_fd]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_hostkey", "(LIBSSH2_SESSION *,size_t *,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "libssh2_session_hostkey", "(LIBSSH2_SESSION *,size_t *,int *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_session_hostkey", "(LIBSSH2_SESSION *,size_t *,int *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "libssh2_session_init_ex", "(..(*)(..),..(*)(..),..(*)(..),void *)", "", "Argument[**3]", "ReturnValue[*].Field[***abstract]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_init_ex", "(..(*)(..),..(*)(..),..(*)(..),void *)", "", "Argument[*3]", "ReturnValue[*].Field[**abstract]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_init_ex", "(..(*)(..),..(*)(..),..(*)(..),void *)", "", "Argument[0]", "ReturnValue[*].Field[*alloc]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_init_ex", "(..(*)(..),..(*)(..),..(*)(..),void *)", "", "Argument[1]", "ReturnValue[*].Field[*free]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_init_ex", "(..(*)(..),..(*)(..),..(*)(..),void *)", "", "Argument[2]", "ReturnValue[*].Field[*realloc]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_init_ex", "(..(*)(..),..(*)(..),..(*)(..),void *)", "", "Argument[3]", "ReturnValue[*].Field[*abstract]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_last_errno", "(LIBSSH2_SESSION *)", "", "Argument[*0].Field[*err_code]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_last_error", "(LIBSSH2_SESSION *,char **,int *,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_session_methods", "(LIBSSH2_SESSION *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_session_methods", "(LIBSSH2_SESSION *,int)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "libssh2_session_set_blocking", "(LIBSSH2_SESSION *,int)", "", "Argument[1]", "Argument[*0].Field[*api_block_mode]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_set_last_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[*2]", "Argument[*0].Field[**err_msg]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_set_last_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[1]", "Argument[*0].Field[*err_code]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_set_last_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_set_last_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[2]", "Argument[*0].Field[**err_msg]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_session_set_last_error", "(LIBSSH2_SESSION *,int,const char *)", "", "Argument[2]", "Argument[*0].Field[*err_msg]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_set_read_timeout", "(LIBSSH2_SESSION *,long)", "", "Argument[1]", "Argument[*0].Field[*packet_read_timeout]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_set_timeout", "(LIBSSH2_SESSION *,long)", "", "Argument[1]", "Argument[*0].Field[*api_timeout]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_startup", "(LIBSSH2_SESSION *,int)", "", "Argument[1]", "Argument[*0].Field[*socket_fd]", "value", "dfc-generated"]
- ["", "", True, "libssh2_session_supported_algs", "(LIBSSH2_SESSION *,int,const char ***)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_close_handle", "(LIBSSH2_SFTP_HANDLE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_dtor", "(LIBSSH2_SESSION *,void **,LIBSSH2_CHANNEL *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_fstat_ex", "(LIBSSH2_SFTP_HANDLE *,LIBSSH2_SFTP_ATTRIBUTES *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_fstatvfs", "(LIBSSH2_SFTP_HANDLE *,LIBSSH2_SFTP_STATVFS *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_fsync", "(LIBSSH2_SFTP_HANDLE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_get_channel", "(LIBSSH2_SFTP *)", "", "Argument[*0].Field[**channel]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_get_channel", "(LIBSSH2_SFTP *)", "", "Argument[*0].Field[*channel]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "Argument[*0].Field[**open_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "Argument[*0].Field[**sftpInit_channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_init", "(LIBSSH2_SESSION *)", "", "Argument[0]", "ReturnValue[*].Field[**channel].Field[*session]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_last_error", "(LIBSSH2_SFTP *)", "", "Argument[*0].Field[*last_errno]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_mkdir_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,long)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_open_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,unsigned long,long,int)", "", "Argument[0]", "ReturnValue[*].Field[*sftp]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_open_ex_r", "(LIBSSH2_SFTP *,const char *,size_t,unsigned long,long,int,LIBSSH2_SFTP_ATTRIBUTES *)", "", "Argument[0]", "ReturnValue[*].Field[*sftp]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_posix_rename_ex", "(LIBSSH2_SFTP *,const char *,size_t,const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_read", "(LIBSSH2_SFTP_HANDLE *,char *,size_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_readdir_ex", "(LIBSSH2_SFTP_HANDLE *,char *,size_t,char *,size_t,LIBSSH2_SFTP_ATTRIBUTES *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[*1]", "Argument[*0].Field[**rename_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[*3]", "Argument[*0].Field[**rename_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[1]", "Argument[*0].Field[**rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[2]", "Argument[*0].Field[**rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[2]", "Argument[*0].Field[*rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[3]", "Argument[*0].Field[**rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[4]", "Argument[*0].Field[**rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[4]", "Argument[*0].Field[*rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rename_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,const char *,unsigned int,long)", "", "Argument[5]", "Argument[*0].Field[**rename_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_rmdir_ex", "(LIBSSH2_SFTP *,const char *,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_stat_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,int,LIBSSH2_SFTP_ATTRIBUTES *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_statvfs", "(LIBSSH2_SFTP *,const char *,size_t,LIBSSH2_SFTP_STATVFS *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "libssh2_sftp_symlink_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,char *,unsigned int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_symlink_ex", "(LIBSSH2_SFTP *,const char *,unsigned int,char *,unsigned int,int)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_unlink_ex", "(LIBSSH2_SFTP *,const char *,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sftp_write", "(LIBSSH2_SFTP_HANDLE *,const char *,size_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[*2]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[2]", "Argument[**1]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_sign_sk", "(LIBSSH2_SESSION *,unsigned char **,size_t *,const unsigned char *,size_t,void **)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_banner", "(LIBSSH2_SESSION *,char **)", "", "Argument[*0].Field[**userauth_banner]", "Argument[**1]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_banner", "(LIBSSH2_SESSION *,char **)", "", "Argument[*0].Field[*userauth_banner]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**userauth_host_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[*6]", "Argument[*0].Field[**userauth_host_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[*8]", "Argument[*0].Field[**userauth_host_s]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[**userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*userauth_host_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[6]", "Argument[*0].Field[**userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[7]", "Argument[*0].Field[**userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[7]", "Argument[*0].Field[*userauth_host_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[7]", "Argument[*0].Field[*userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[8]", "Argument[*0].Field[**userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[9]", "Argument[*0].Field[**userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[9]", "Argument[*0].Field[*userauth_host_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_hostbased_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *,const char *,unsigned int,const char *,unsigned int)", "", "Argument[9]", "Argument[*0].Field[*userauth_host_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_keyboard_interactive_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,..(*)(..))", "", "Argument[2]", "Argument[*0].Field[*userauth_kybd_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_list", "(LIBSSH2_SESSION *,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*userauth_list_data_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_password_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,unsigned int,..(*)(..))", "", "Argument[2]", "Argument[*0].Field[*userauth_pswd_data_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_password_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,unsigned int,..(*)(..))", "", "Argument[4]", "Argument[*0].Field[*userauth_pswd_data_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,const unsigned char *,size_t,..(*)(..),void **)", "", "Argument[*1]", "Argument[*0].Field[**userauth_pblc_b]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,const unsigned char *,size_t,..(*)(..),void **)", "", "Argument[1]", "Argument[*0].Field[**userauth_pblc_b]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,const unsigned char *,size_t,..(*)(..),void **)", "", "Argument[3]", "Argument[*0].Field[**userauth_pblc_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,const unsigned char *,size_t,..(*)(..),void **)", "", "Argument[3]", "Argument[*0].Field[*userauth_pblc_packet_len]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey", "(LIBSSH2_SESSION *,const char *,const unsigned char *,size_t,..(*)(..),void **)", "", "Argument[3]", "Argument[*0].Field[*userauth_pblc_s]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**userauth_pblc_b]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey_fromfile_ex", "(LIBSSH2_SESSION *,const char *,unsigned int,const char *,const char *,const char *)", "", "Argument[1]", "Argument[*0].Field[**userauth_pblc_b]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey_frommemory", "(LIBSSH2_SESSION *,const char *,size_t,const char *,size_t,const char *,size_t,const char *)", "", "Argument[*1]", "Argument[*0].Field[**userauth_pblc_b]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey_frommemory", "(LIBSSH2_SESSION *,const char *,size_t,const char *,size_t,const char *,size_t,const char *)", "", "Argument[1]", "Argument[*0].Field[**userauth_pblc_b]", "taint", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey_sk", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,const char *,size_t,const char *,..(*)(..),void **)", "", "Argument[*1]", "Argument[*0].Field[**userauth_pblc_b]", "value", "dfc-generated"]
- ["", "", True, "libssh2_userauth_publickey_sk", "(LIBSSH2_SESSION *,const char *,size_t,const unsigned char *,size_t,const char *,size_t,const char *,..(*)(..),void **)", "", "Argument[1]", "Argument[*0].Field[**userauth_pblc_b]", "taint", "dfc-generated"]
- ["", "", True, "plain_method", "(char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "poly1305_auth", "(u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32])", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "poly1305_auth", "(u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32])", "", "Argument[*3]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "poly1305_auth", "(u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32])", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "poly1305_auth", "(u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32])", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"]

View File

@@ -1,646 +0,0 @@
# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT.
extensions:
- addsTo:
pack: codeql/cpp-all
extensible: summaryModel
data:
- ["", "", True, "uv__accept", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__count_bufs", "(const uv_buf_t[],unsigned int)", "", "Argument[*0].Field[*len]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__fs_poll_close", "(uv_fs_poll_t *)", "", "Argument[0]", "Argument[*0].Field[**loop].Field[*closing_handles]", "value", "dfc-generated"]
- ["", "", True, "uv__fs_post", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__fs_post", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__get_constrained_cpu", "(long long *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__getsockpeername", "(const uv_handle_t *,uv__peersockfunc,sockaddr *,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "uv__idna_toascii", "(const char *,const char *,char *,char *)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"]
- ["", "", True, "uv__idna_toascii", "(const char *,const char *,char *,char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__idna_toascii", "(const char *,const char *,char *,char *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__idna_toascii", "(const char *,const char *,char *,char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__idna_toascii", "(const char *,const char *,char *,char *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__io_active", "(const uv__io_t *,unsigned int)", "", "Argument[*0].Field[*pevents]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__io_active", "(const uv__io_t *,unsigned int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__io_close", "(uv_loop_t *,uv__io_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "uv__io_close", "(uv_loop_t *,uv__io_t *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "uv__io_feed", "(uv_loop_t *,uv__io_t *)", "", "Argument[*1].Field[*pending_queue]", "Argument[*0].Field[*pending_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init", "(uv__io_t *,uv__io_cb,int)", "", "Argument[1]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init", "(uv__io_t *,uv__io_cb,int)", "", "Argument[2]", "Argument[*0].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**watchers]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[2]", "Argument[*0].Field[***watchers].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[2]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[3]", "Argument[*0].Field[***watchers].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[3]", "Argument[*0].Field[*nwatchers]", "taint", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[3]", "Argument[*1].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[4]", "Argument[*0].Field[***watchers].Field[*pevents]", "taint", "dfc-generated"]
- ["", "", True, "uv__io_init_start", "(uv_loop_t *,uv__io_t *,uv__io_cb,int,unsigned int)", "", "Argument[4]", "Argument[*1].Field[*pevents]", "taint", "dfc-generated"]
- ["", "", True, "uv__io_start", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**watchers]", "value", "dfc-generated"]
- ["", "", True, "uv__io_start", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[***watchers].Field[*pevents]", "taint", "dfc-generated"]
- ["", "", True, "uv__io_start", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[2]", "Argument[*1].Field[*pevents]", "taint", "dfc-generated"]
- ["", "", True, "uv__io_stop", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[2]", "Argument[*1].Field[*pevents]", "taint", "dfc-generated"]
- ["", "", True, "uv__iou_fs_close", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_close", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_fsync_or_fdatasync", "(uv_loop_t *,uv_fs_t *,uint32_t)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_fsync_or_fdatasync", "(uv_loop_t *,uv_fs_t *,uint32_t)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_ftruncate", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_ftruncate", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_link", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_link", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_mkdir", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_mkdir", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_open", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_open", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_read_or_write", "(uv_loop_t *,uv_fs_t *,int)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_read_or_write", "(uv_loop_t *,uv_fs_t *,int)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_rename", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_rename", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_statx", "(uv_loop_t *,uv_fs_t *,int,int)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_statx", "(uv_loop_t *,uv_fs_t *,int,int)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_symlink", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_symlink", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_unlink", "(uv_loop_t *,uv_fs_t *)", "", "Argument[*0]", "Argument[*1].Field[*work_req].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__iou_fs_unlink", "(uv_loop_t *,uv_fs_t *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__loop_configure", "(uv_loop_t *,uv_loop_option,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__make_close_pending", "(uv_handle_t *)", "", "Argument[0]", "Argument[*0].Field[**loop].Field[*closing_handles]", "value", "dfc-generated"]
- ["", "", True, "uv__next_timeout", "(const uv_loop_t *)", "", "Argument[*0].Field[*time]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__pipe_listen", "(uv_pipe_t *,int,uv_connection_cb)", "", "Argument[2]", "Argument[*0].Field[*connection_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__process_init", "(uv_loop_t *)", "", "Argument[0]", "Argument[*0].Field[*child_watcher].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__random_devurandom", "(void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__random_getrandom", "(void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__random_readpath", "(const char *,void *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv__read_start", "(uv_stream_t *,uv_alloc_cb,uv_read_cb)", "", "Argument[1]", "Argument[*0].Field[*alloc_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__read_start", "(uv_stream_t *,uv_alloc_cb,uv_read_cb)", "", "Argument[2]", "Argument[*0].Field[*read_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__search_path", "(const char *,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__server_io", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "uv__server_io", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "uv__server_io", "(uv_loop_t *,uv__io_t *,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "uv__socket_sockopt", "(uv_handle_t *,int,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__statx_to_stat", "(const uv__statx *,uv_stat_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "uv__strdup", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv__strdup", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv__stream_init", "(uv_loop_t *,uv_stream_t *,uv_handle_type)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__stream_init", "(uv_loop_t *,uv_stream_t *,uv_handle_type)", "", "Argument[2]", "Argument[*1].Field[*type]", "value", "dfc-generated"]
- ["", "", True, "uv__stream_open", "(uv_stream_t *,int,int)", "", "Argument[1]", "Argument[*0].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv__stream_open", "(uv_stream_t *,int,int)", "", "Argument[2]", "Argument[*0].Field[*flags]", "taint", "dfc-generated"]
- ["", "", True, "uv__strndup", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv__strndup", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv__strscpy", "(char *,const char *,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"]
- ["", "", True, "uv__strscpy", "(char *,const char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[**2]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[*0]", "Argument[**2]", "value", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[*2]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[0]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__strtok", "(char *,const char *,char **)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,unsigned int,uv_connect_cb)", "", "Argument[0]", "Argument[*1].Field[*connect_req]", "value", "dfc-generated"]
- ["", "", True, "uv__tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,unsigned int,uv_connect_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv__tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,unsigned int,uv_connect_cb)", "", "Argument[1]", "Argument[*1].Field[**connect_req].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv__tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,unsigned int,uv_connect_cb)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv__tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,unsigned int,uv_connect_cb)", "", "Argument[4]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv__tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,unsigned int,uv_connect_cb)", "", "Argument[4]", "Argument[*1].Field[**connect_req].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv__tcp_listen", "(uv_tcp_t *,int,uv_connection_cb)", "", "Argument[2]", "Argument[*0].Field[*connection_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__thread_getname", "(uv_thread_t *,char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__udp_init_ex", "(uv_loop_t *,uv_udp_t *,unsigned int,int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_recv_start", "(uv_udp_t *,uv_alloc_cb,uv_udp_recv_cb)", "", "Argument[1]", "Argument[*0].Field[*alloc_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_recv_start", "(uv_udp_t *,uv_alloc_cb,uv_udp_recv_cb)", "", "Argument[2]", "Argument[*0].Field[*recv_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[*2].Field[*len]", "Argument[*1].Field[*send_queue_size]", "taint", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[*2]", "Argument[*0].Field[**bufs]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[*4]", "Argument[*0].Field[*u].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[2]", "Argument[*0].Field[**bufs]", "taint", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[3]", "Argument[*0].Field[*nbufs]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[4]", "Argument[*0].Field[*u].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"]
- ["", "", True, "uv__udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int,uv_udp_send_cb)", "", "Argument[6]", "Argument[*0].Field[*send_cb]", "value", "dfc-generated"]
- ["", "", True, "uv__udp_try_send2", "(uv_udp_t *,unsigned int,uv_buf_t *[],unsigned int[],sockaddr *[])", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "uv__udp_try_send2", "(uv_udp_t *,unsigned int,uv_buf_t *[],unsigned int[],sockaddr *[])", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "uv__udp_try_send", "(uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,unsigned int)", "", "Argument[*1].Field[*len]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__utf8_decode1", "(const char **,const char *)", "", "Argument[**0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv__utf8_decode1", "(const char **,const char *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "uv__utf8_decode1", "(const char **,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__utf8_decode1", "(const char **,const char *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"]
- ["", "", True, "uv__utf8_decode1", "(const char **,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv__utf8_decode1", "(const char **,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv__work_done", "(uv_async_t *)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "uv__work_submit", "(uv_loop_t *,uv__work *,uv__work_kind,..(*)(..),..(*)(..))", "", "Argument[*0]", "Argument[*1].Field[**loop]", "value", "dfc-generated"]
- ["", "", True, "uv__work_submit", "(uv_loop_t *,uv__work *,uv__work_kind,..(*)(..),..(*)(..))", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv__work_submit", "(uv_loop_t *,uv__work *,uv__work_kind,..(*)(..),..(*)(..))", "", "Argument[3]", "Argument[*1].Field[*work]", "value", "dfc-generated"]
- ["", "", True, "uv__work_submit", "(uv_loop_t *,uv__work *,uv__work_kind,..(*)(..),..(*)(..))", "", "Argument[4]", "Argument[*1].Field[*done]", "value", "dfc-generated"]
- ["", "", True, "uv_accept", "(uv_stream_t *,uv_stream_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"]
- ["", "", True, "uv_async_init", "(uv_loop_t *,uv_async_t *,uv_async_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_async_init", "(uv_loop_t *,uv_async_t *,uv_async_cb)", "", "Argument[2]", "Argument[*1].Field[*async_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_backend_fd", "(const uv_loop_t *)", "", "Argument[*0].Field[*backend_fd]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_backend_timeout", "(const uv_loop_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uv_buf_init", "(char *,unsigned int)", "", "Argument[*0]", "ReturnValue.Field[**base]", "value", "dfc-generated"]
- ["", "", True, "uv_buf_init", "(char *,unsigned int)", "", "Argument[0]", "ReturnValue.Field[*base]", "value", "dfc-generated"]
- ["", "", True, "uv_buf_init", "(char *,unsigned int)", "", "Argument[1]", "ReturnValue.Field[*len]", "value", "dfc-generated"]
- ["", "", True, "uv_check_init", "(uv_loop_t *,uv_check_t *)", "", "Argument[*1].Field[*handle_queue]", "Argument[*0].Field[*handle_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv_check_init", "(uv_loop_t *,uv_check_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_check_start", "(uv_check_t *,uv_check_cb)", "", "Argument[1]", "Argument[*0].Field[*check_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_close", "(uv_handle_t *,uv_close_cb)", "", "Argument[0]", "Argument[*0].Field[**loop].Field[*closing_handles]", "value", "dfc-generated"]
- ["", "", True, "uv_close", "(uv_handle_t *,uv_close_cb)", "", "Argument[1]", "Argument[*0].Field[*close_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_cpu_info", "(uv_cpu_info_t **,int *)", "", "Argument[*0]", "Argument[**0].Field[**model]", "taint", "dfc-generated"]
- ["", "", True, "uv_cpu_info", "(uv_cpu_info_t **,int *)", "", "Argument[*0]", "Argument[**0].Field[*model]", "taint", "dfc-generated"]
- ["", "", True, "uv_cpu_info", "(uv_cpu_info_t **,int *)", "", "Argument[0]", "Argument[**0].Field[**model]", "taint", "dfc-generated"]
- ["", "", True, "uv_cpu_info", "(uv_cpu_info_t **,int *)", "", "Argument[0]", "Argument[**0].Field[*model]", "taint", "dfc-generated"]
- ["", "", True, "uv_cpu_info", "(uv_cpu_info_t **,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_cwd", "(char *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_dlerror", "(const uv_lib_t *)", "", "Argument[*0].Field[**errmsg]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv_dlerror", "(const uv_lib_t *)", "", "Argument[*0].Field[*errmsg]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_dlsym", "(uv_lib_t *,const char *,void **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_err_name", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv_err_name_r", "(int,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv_err_name_r", "(int,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_err_name_r", "(int,char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv_err_name_r", "(int,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_exepath", "(char *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_fileno", "(const uv_handle_t *,uv_os_fd_t *)", "", "Argument[*0].Field[*io_watcher].Field[*fd]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_access", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*mode]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chmod", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*uid]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*gid]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_chown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_close", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_close", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_close", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_close", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_closedir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_closedir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_closedir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_closedir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*ptr]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_closedir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[*3]", "Argument[*1].Field[**new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[**new_path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_copyfile", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_event_getpath", "(uv_fs_event_t *,char *,size_t *)", "", "Argument[*0].Field[**path]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_event_getpath", "(uv_fs_event_t *,char *,size_t *)", "", "Argument[*0].Field[*path]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_event_getpath", "(uv_fs_event_t *,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_event_init", "(uv_loop_t *,uv_fs_event_t *)", "", "Argument[*1].Field[*handle_queue]", "Argument[*0].Field[*handle_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_event_init", "(uv_loop_t *,uv_fs_event_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_event_start", "(uv_fs_event_t *,uv_fs_event_cb,const char *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_event_start", "(uv_fs_event_t *,uv_fs_event_cb,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_fchmod", "(uv_loop_t *,uv_fs_t *,uv_file,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchmod", "(uv_loop_t *,uv_fs_t *,uv_file,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchmod", "(uv_loop_t *,uv_fs_t *,uv_file,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchmod", "(uv_loop_t *,uv_fs_t *,uv_file,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*mode]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchmod", "(uv_loop_t *,uv_fs_t *,uv_file,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchown", "(uv_loop_t *,uv_fs_t *,uv_file,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchown", "(uv_loop_t *,uv_fs_t *,uv_file,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchown", "(uv_loop_t *,uv_fs_t *,uv_file,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchown", "(uv_loop_t *,uv_fs_t *,uv_file,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*uid]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchown", "(uv_loop_t *,uv_fs_t *,uv_file,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*gid]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fchown", "(uv_loop_t *,uv_fs_t *,uv_file,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fdatasync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fdatasync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fdatasync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fdatasync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fstat", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fstat", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fstat", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fstat", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fsync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fsync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fsync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_fsync", "(uv_loop_t *,uv_fs_t *,uv_file,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_ftruncate", "(uv_loop_t *,uv_fs_t *,uv_file,int64_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_ftruncate", "(uv_loop_t *,uv_fs_t *,uv_file,int64_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_ftruncate", "(uv_loop_t *,uv_fs_t *,uv_file,int64_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_ftruncate", "(uv_loop_t *,uv_fs_t *,uv_file,int64_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*off]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_ftruncate", "(uv_loop_t *,uv_fs_t *,uv_file,int64_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_futime", "(uv_loop_t *,uv_fs_t *,uv_file,double,double,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_futime", "(uv_loop_t *,uv_fs_t *,uv_file,double,double,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_futime", "(uv_loop_t *,uv_fs_t *,uv_file,double,double,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_futime", "(uv_loop_t *,uv_fs_t *,uv_file,double,double,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*atime]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_futime", "(uv_loop_t *,uv_fs_t *,uv_file,double,double,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*mtime]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_futime", "(uv_loop_t *,uv_fs_t *,uv_file,double,double,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_get_path", "(const uv_fs_t *)", "", "Argument[*0].Field[**path]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_get_path", "(const uv_fs_t *)", "", "Argument[*0].Field[*path]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_fs_get_ptr", "(const uv_fs_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uv_fs_get_ptr", "(const uv_fs_t *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "uv_fs_get_ptr", "(const uv_fs_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "uv_fs_get_result", "(const uv_fs_t *)", "", "Argument[*0].Field[*result]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_fs_get_statbuf", "(uv_fs_t *)", "", "Argument[*0].Field[*statbuf]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_get_system_error", "(const uv_fs_t *)", "", "Argument[*0].Field[*result]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_get_type", "(const uv_fs_t *)", "", "Argument[*0].Field[*fs_type]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*uid]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*gid]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lchown", "(uv_loop_t *,uv_fs_t *,const char *,uv_uid_t,uv_gid_t,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[*3]", "Argument[*1].Field[**new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[**new_path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_link", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lstat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lstat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lstat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lstat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_lstat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lstat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*atime]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*mtime]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_lutime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*mode]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdtemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdtemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdtemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkdtemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_mkdtemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkstemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkstemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkstemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_mkstemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_mkstemp", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*mode]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_open", "(uv_loop_t *,uv_fs_t *,const char *,int,int,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_opendir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_opendir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_opendir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_opendir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_opendir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_opendir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_getpath", "(uv_fs_poll_t *,char *,size_t *)", "", "Argument[*0].Field[**poll_ctx].Field[**path]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_getpath", "(uv_fs_poll_t *,char *,size_t *)", "", "Argument[*0].Field[**poll_ctx].Field[*path]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_getpath", "(uv_fs_poll_t *,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_poll_init", "(uv_loop_t *,uv_fs_poll_t *)", "", "Argument[*1].Field[*handle_queue]", "Argument[*0].Field[*handle_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_init", "(uv_loop_t *,uv_fs_poll_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_start", "(uv_fs_poll_t *,uv_fs_poll_cb,const char *,unsigned int)", "", "Argument[*2]", "Argument[*0].Field[**poll_ctx].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_start", "(uv_fs_poll_t *,uv_fs_poll_cb,const char *,unsigned int)", "", "Argument[0]", "Argument[*0].Field[**poll_ctx].Field[*parent_handle]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_start", "(uv_fs_poll_t *,uv_fs_poll_cb,const char *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**poll_ctx].Field[*poll_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_poll_start", "(uv_fs_poll_t *,uv_fs_poll_cb,const char *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[**poll_ctx].Field[*path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_poll_start", "(uv_fs_poll_t *,uv_fs_poll_cb,const char *,unsigned int)", "", "Argument[3]", "Argument[*0].Field[**poll_ctx].Field[*interval]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[*3]", "Argument[*1].Field[**bufs]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[**bufs]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*bufs]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*nbufs]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*off]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_read", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[6]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readdir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**ptr]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readdir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readdir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readdir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*ptr]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readdir", "(uv_loop_t *,uv_fs_t *,uv_dir_t *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_readlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_readlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_realpath", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_realpath", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_realpath", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_realpath", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_realpath", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_realpath", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[*3]", "Argument[*1].Field[**new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[**new_path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rename", "(uv_loop_t *,uv_fs_t *,const char *,const char *,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rmdir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rmdir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rmdir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rmdir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_rmdir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_rmdir", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir", "(uv_loop_t *,uv_fs_t *,const char *,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir_next", "(uv_fs_t *,uv_dirent_t *)", "", "Argument[*0].Field[***ptr].Field[*d_name]", "Argument[*1].Field[**name]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_scandir_next", "(uv_fs_t *,uv_dirent_t *)", "", "Argument[*0].Field[*result]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*off]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*bufsml].Field[*len]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_sendfile", "(uv_loop_t *,uv_fs_t *,uv_file,uv_file,int64_t,size_t,uv_fs_cb)", "", "Argument[6]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_stat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_stat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_stat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_stat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_stat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_stat", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_statfs", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_statfs", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_statfs", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_statfs", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_statfs", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_statfs", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[*3]", "Argument[*1].Field[**new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[**new_path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*new_path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_symlink", "(uv_loop_t *,uv_fs_t *,const char *,const char *,int,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_unlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_unlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_unlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_unlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_unlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_unlink", "(uv_loop_t *,uv_fs_t *,const char *,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[*2]", "Argument[*1].Field[**path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[**path]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*path]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[*atime]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*mtime]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_utime", "(uv_loop_t *,uv_fs_t *,const char *,double,double,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[*3]", "Argument[*1].Field[**bufs]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[2]", "Argument[*1].Field[*file]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[3]", "Argument[*1].Field[**bufs]", "taint", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[4]", "Argument[*1].Field[*nbufs]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[5]", "Argument[*1].Field[*off]", "value", "dfc-generated"]
- ["", "", True, "uv_fs_write", "(uv_loop_t *,uv_fs_t *,uv_file,const uv_buf_t[],unsigned int,int64_t,uv_fs_cb)", "", "Argument[6]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_get_osfhandle", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[*3]", "Argument[*1].Field[**hostname]", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[*4]", "Argument[*1].Field[**service]", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[*5]", "Argument[*1].Field[**hints]", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[2]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[3]", "Argument[*1].Field[**hostname]", "taint", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[4]", "Argument[*1].Field[**service]", "taint", "dfc-generated"]
- ["", "", True, "uv_getaddrinfo", "(uv_loop_t *,uv_getaddrinfo_t *,uv_getaddrinfo_cb,const char *,const char *,const addrinfo *)", "", "Argument[5]", "Argument[*1].Field[**hints]", "taint", "dfc-generated"]
- ["", "", True, "uv_getnameinfo", "(uv_loop_t *,uv_getnameinfo_t *,uv_getnameinfo_cb,const sockaddr *,int)", "", "Argument[*3]", "Argument[*1].Field[*storage]", "value", "dfc-generated"]
- ["", "", True, "uv_getnameinfo", "(uv_loop_t *,uv_getnameinfo_t *,uv_getnameinfo_cb,const sockaddr *,int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_getnameinfo", "(uv_loop_t *,uv_getnameinfo_t *,uv_getnameinfo_cb,const sockaddr *,int)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_getnameinfo", "(uv_loop_t *,uv_getnameinfo_t *,uv_getnameinfo_cb,const sockaddr *,int)", "", "Argument[2]", "Argument[*1].Field[*getnameinfo_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_getnameinfo", "(uv_loop_t *,uv_getnameinfo_t *,uv_getnameinfo_cb,const sockaddr *,int)", "", "Argument[3]", "Argument[*1].Field[*storage]", "taint", "dfc-generated"]
- ["", "", True, "uv_getnameinfo", "(uv_loop_t *,uv_getnameinfo_t *,uv_getnameinfo_cb,const sockaddr *,int)", "", "Argument[4]", "Argument[*1].Field[*flags]", "value", "dfc-generated"]
- ["", "", True, "uv_handle_get_data", "(const uv_handle_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uv_handle_get_data", "(const uv_handle_t *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "uv_handle_get_data", "(const uv_handle_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "uv_handle_get_loop", "(const uv_handle_t *)", "", "Argument[*0].Field[**loop]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv_handle_get_loop", "(const uv_handle_t *)", "", "Argument[*0].Field[*loop]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_handle_get_type", "(const uv_handle_t *)", "", "Argument[*0].Field[*type]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_handle_set_data", "(uv_handle_t *,void *)", "", "Argument[**1]", "Argument[*0].Field[***data]", "value", "dfc-generated"]
- ["", "", True, "uv_handle_set_data", "(uv_handle_t *,void *)", "", "Argument[*1]", "Argument[*0].Field[**data]", "value", "dfc-generated"]
- ["", "", True, "uv_handle_set_data", "(uv_handle_t *,void *)", "", "Argument[1]", "Argument[*0].Field[*data]", "value", "dfc-generated"]
- ["", "", True, "uv_has_ref", "(const uv_handle_t *)", "", "Argument[*0].Field[*flags]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_idle_init", "(uv_loop_t *,uv_idle_t *)", "", "Argument[*1].Field[*handle_queue]", "Argument[*0].Field[*handle_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv_idle_init", "(uv_loop_t *,uv_idle_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_idle_start", "(uv_idle_t *,uv_idle_cb)", "", "Argument[1]", "Argument[*0].Field[*idle_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_if_indextoiid", "(unsigned int,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_if_indextoname", "(unsigned int,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_inet_ntop", "(int,const void *,char *,size_t)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_inet_ntop", "(int,const void *,char *,size_t)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_interface_addresses", "(uv_interface_address_t **,int *)", "", "Argument[*0]", "Argument[**0].Field[*name]", "taint", "dfc-generated"]
- ["", "", True, "uv_interface_addresses", "(uv_interface_address_t **,int *)", "", "Argument[*1]", "Argument[**0].Field[*name]", "taint", "dfc-generated"]
- ["", "", True, "uv_interface_addresses", "(uv_interface_address_t **,int *)", "", "Argument[0]", "Argument[**0].Field[*name]", "taint", "dfc-generated"]
- ["", "", True, "uv_interface_addresses", "(uv_interface_address_t **,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_interface_addresses", "(uv_interface_address_t **,int *)", "", "Argument[1]", "Argument[**0].Field[*name]", "taint", "dfc-generated"]
- ["", "", True, "uv_interface_addresses", "(uv_interface_address_t **,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_ip4_name", "(const sockaddr_in *,char *,size_t)", "", "Argument[*0].Field[*sin_addr]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_ip6_name", "(const sockaddr_in6 *,char *,size_t)", "", "Argument[*0].Field[*sin6_addr]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_ip_name", "(const sockaddr *,char *,size_t)", "", "Argument[*0].Field[*sin6_addr]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_ip_name", "(const sockaddr *,char *,size_t)", "", "Argument[*0].Field[*sin_addr]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_is_active", "(const uv_handle_t *)", "", "Argument[*0].Field[*flags]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_is_closing", "(const uv_handle_t *)", "", "Argument[*0].Field[*flags]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_key_delete", "(uv_key_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_key_get", "(uv_key_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_key_set", "(uv_key_t *,void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_listen", "(uv_stream_t *,int,uv_connection_cb)", "", "Argument[2]", "Argument[*0].Field[*connection_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_loop_get_data", "(const uv_loop_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uv_loop_get_data", "(const uv_loop_t *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "uv_loop_get_data", "(const uv_loop_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "uv_loop_init", "(uv_loop_t *)", "", "Argument[0]", "Argument[*0].Field[*child_watcher].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_loop_init", "(uv_loop_t *)", "", "Argument[0]", "Argument[*0].Field[*wq_async].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_loop_set_data", "(uv_loop_t *,void *)", "", "Argument[**1]", "Argument[*0].Field[***data]", "value", "dfc-generated"]
- ["", "", True, "uv_loop_set_data", "(uv_loop_t *,void *)", "", "Argument[*1]", "Argument[*0].Field[**data]", "value", "dfc-generated"]
- ["", "", True, "uv_loop_set_data", "(uv_loop_t *,void *)", "", "Argument[1]", "Argument[*0].Field[*data]", "value", "dfc-generated"]
- ["", "", True, "uv_now", "(const uv_loop_t *)", "", "Argument[*0].Field[*time]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_open_osfhandle", "(uv_os_fd_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_os_environ", "(uv_env_item_t **,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_os_free_environ", "(uv_env_item_t *,int)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"]
- ["", "", True, "uv_os_getenv", "(const char *,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_os_gethostname", "(char *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_os_homedir", "(char *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_os_tmpdir", "(char *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_pipe_bind2", "(uv_pipe_t *,const char *,size_t,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**pipe_fname]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_bind2", "(uv_pipe_t *,const char *,size_t,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**pipe_fname]", "taint", "dfc-generated"]
- ["", "", True, "uv_pipe_bind", "(uv_pipe_t *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**pipe_fname]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_bind", "(uv_pipe_t *,const char *)", "", "Argument[1]", "Argument[*0].Field[**pipe_fname]", "taint", "dfc-generated"]
- ["", "", True, "uv_pipe_connect2", "(uv_connect_t *,uv_pipe_t *,const char *,size_t,unsigned int,uv_connect_cb)", "", "Argument[0]", "Argument[*0].Field[**handle].Field[*connect_req]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect2", "(uv_connect_t *,uv_pipe_t *,const char *,size_t,unsigned int,uv_connect_cb)", "", "Argument[0]", "Argument[*1].Field[*connect_req]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect2", "(uv_connect_t *,uv_pipe_t *,const char *,size_t,unsigned int,uv_connect_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect2", "(uv_connect_t *,uv_pipe_t *,const char *,size_t,unsigned int,uv_connect_cb)", "", "Argument[5]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect", "(uv_connect_t *,uv_pipe_t *,const char *,uv_connect_cb)", "", "Argument[0]", "Argument[*0].Field[**handle].Field[*connect_req]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect", "(uv_connect_t *,uv_pipe_t *,const char *,uv_connect_cb)", "", "Argument[0]", "Argument[*1].Field[*connect_req]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect", "(uv_connect_t *,uv_pipe_t *,const char *,uv_connect_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect", "(uv_connect_t *,uv_pipe_t *,const char *,uv_connect_cb)", "", "Argument[1]", "Argument[*1].Field[**connect_req].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect", "(uv_connect_t *,uv_pipe_t *,const char *,uv_connect_cb)", "", "Argument[3]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_connect", "(uv_connect_t *,uv_pipe_t *,const char *,uv_connect_cb)", "", "Argument[3]", "Argument[*1].Field[**connect_req].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_getpeername", "(const uv_pipe_t *,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_pipe_getsockname", "(const uv_pipe_t *,char *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_pipe_init", "(uv_loop_t *,uv_pipe_t *,int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_init", "(uv_loop_t *,uv_pipe_t *,int)", "", "Argument[2]", "Argument[*1].Field[*ipc]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_open", "(uv_pipe_t *,uv_file)", "", "Argument[1]", "Argument[*0].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv_pipe_pending_count", "(uv_pipe_t *)", "", "Argument[*0].Field[**queued_fds].Field[*offset]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_poll_init", "(uv_loop_t *,uv_poll_t *,int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_poll_init", "(uv_loop_t *,uv_poll_t *,int)", "", "Argument[2]", "Argument[*1].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv_poll_init_socket", "(uv_loop_t *,uv_poll_t *,uv_os_sock_t)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_poll_init_socket", "(uv_loop_t *,uv_poll_t *,uv_os_sock_t)", "", "Argument[2]", "Argument[*1].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv_poll_start", "(uv_poll_t *,int,uv_poll_cb)", "", "Argument[2]", "Argument[*0].Field[*poll_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_prepare_init", "(uv_loop_t *,uv_prepare_t *)", "", "Argument[*1].Field[*handle_queue]", "Argument[*0].Field[*handle_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv_prepare_init", "(uv_loop_t *,uv_prepare_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_prepare_start", "(uv_prepare_t *,uv_prepare_cb)", "", "Argument[1]", "Argument[*0].Field[*prepare_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_print_active_handles", "(uv_loop_t *,FILE *)", "", "Argument[*0].Field[*handle_queue].Field[**next]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_print_active_handles", "(uv_loop_t *,FILE *)", "", "Argument[*0].Field[*handle_queue].Field[*next]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_print_all_handles", "(uv_loop_t *,FILE *)", "", "Argument[*0].Field[*handle_queue].Field[**next]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_print_all_handles", "(uv_loop_t *,FILE *)", "", "Argument[*0].Field[*handle_queue].Field[*next]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_process_get_pid", "(const uv_process_t *)", "", "Argument[*0].Field[*pid]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_queue_work", "(uv_loop_t *,uv_work_t *,uv_work_cb,uv_after_work_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_queue_work", "(uv_loop_t *,uv_work_t *,uv_work_cb,uv_after_work_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_queue_work", "(uv_loop_t *,uv_work_t *,uv_work_cb,uv_after_work_cb)", "", "Argument[2]", "Argument[*1].Field[*work_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_queue_work", "(uv_loop_t *,uv_work_t *,uv_work_cb,uv_after_work_cb)", "", "Argument[3]", "Argument[*1].Field[*after_work_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[**2]", "Argument[*1].Field[***buf]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[*2]", "Argument[*1].Field[**buf]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[0]", "Argument[*1].Field[*work_req].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[2]", "Argument[*1].Field[*buf]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[3]", "Argument[*1].Field[*buflen]", "value", "dfc-generated"]
- ["", "", True, "uv_random", "(uv_loop_t *,uv_random_t *,void *,size_t,unsigned int,uv_random_cb)", "", "Argument[5]", "Argument[*1].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_read_start", "(uv_stream_t *,uv_alloc_cb,uv_read_cb)", "", "Argument[1]", "Argument[*0].Field[*alloc_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_read_start", "(uv_stream_t *,uv_alloc_cb,uv_read_cb)", "", "Argument[2]", "Argument[*0].Field[*read_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_recv_buffer_size", "(uv_handle_t *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_req_get_data", "(const uv_req_t *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"]
- ["", "", True, "uv_req_get_data", "(const uv_req_t *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"]
- ["", "", True, "uv_req_get_data", "(const uv_req_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"]
- ["", "", True, "uv_req_get_type", "(const uv_req_t *)", "", "Argument[*0].Field[*type]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_req_set_data", "(uv_req_t *,void *)", "", "Argument[**1]", "Argument[*0].Field[***data]", "value", "dfc-generated"]
- ["", "", True, "uv_req_set_data", "(uv_req_t *,void *)", "", "Argument[*1]", "Argument[*0].Field[**data]", "value", "dfc-generated"]
- ["", "", True, "uv_req_set_data", "(uv_req_t *,void *)", "", "Argument[1]", "Argument[*0].Field[*data]", "value", "dfc-generated"]
- ["", "", True, "uv_sem_destroy", "(uv_sem_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_sem_post", "(uv_sem_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_sem_trywait", "(uv_sem_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_sem_wait", "(uv_sem_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_send_buffer_size", "(uv_handle_t *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_setup_args", "(int,char **)", "", "Argument[**1]", "ReturnValue[**]", "value", "dfc-generated"]
- ["", "", True, "uv_setup_args", "(int,char **)", "", "Argument[*1]", "ReturnValue[**]", "taint", "dfc-generated"]
- ["", "", True, "uv_setup_args", "(int,char **)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"]
- ["", "", True, "uv_setup_args", "(int,char **)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv_setup_args", "(int,char **)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_setup_args", "(int,char **)", "", "Argument[1]", "ReturnValue[**]", "taint", "dfc-generated"]
- ["", "", True, "uv_shutdown", "(uv_shutdown_t *,uv_stream_t *,uv_shutdown_cb)", "", "Argument[*0]", "Argument[*1].Field[**shutdown_req]", "value", "dfc-generated"]
- ["", "", True, "uv_shutdown", "(uv_shutdown_t *,uv_stream_t *,uv_shutdown_cb)", "", "Argument[0]", "Argument[*1].Field[*shutdown_req]", "value", "dfc-generated"]
- ["", "", True, "uv_shutdown", "(uv_shutdown_t *,uv_stream_t *,uv_shutdown_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_shutdown", "(uv_shutdown_t *,uv_stream_t *,uv_shutdown_cb)", "", "Argument[1]", "Argument[*1].Field[**shutdown_req].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_shutdown", "(uv_shutdown_t *,uv_stream_t *,uv_shutdown_cb)", "", "Argument[2]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_shutdown", "(uv_shutdown_t *,uv_stream_t *,uv_shutdown_cb)", "", "Argument[2]", "Argument[*1].Field[**shutdown_req].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_signal_init", "(uv_loop_t *,uv_signal_t *)", "", "Argument[*1].Field[*handle_queue]", "Argument[*0].Field[*handle_queue].Field[**prev]", "value", "dfc-generated"]
- ["", "", True, "uv_signal_init", "(uv_loop_t *,uv_signal_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_signal_start", "(uv_signal_t *,uv_signal_cb,int)", "", "Argument[1]", "Argument[*0].Field[*signal_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_signal_start", "(uv_signal_t *,uv_signal_cb,int)", "", "Argument[2]", "Argument[*0].Field[*signum]", "value", "dfc-generated"]
- ["", "", True, "uv_signal_start_oneshot", "(uv_signal_t *,uv_signal_cb,int)", "", "Argument[1]", "Argument[*0].Field[*signal_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_signal_start_oneshot", "(uv_signal_t *,uv_signal_cb,int)", "", "Argument[2]", "Argument[*0].Field[*signum]", "value", "dfc-generated"]
- ["", "", True, "uv_spawn", "(uv_loop_t *,uv_process_t *,const uv_process_options_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_stream_get_write_queue_size", "(const uv_stream_t *)", "", "Argument[*0].Field[*write_queue_size]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_strerror", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv_strerror_r", "(int,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_strerror_r", "(int,char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"]
- ["", "", True, "uv_strerror_r", "(int,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_close_reset", "(uv_tcp_t *,uv_close_cb)", "", "Argument[0]", "Argument[*0].Field[**loop].Field[*closing_handles]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_close_reset", "(uv_tcp_t *,uv_close_cb)", "", "Argument[1]", "Argument[*0].Field[*close_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,uv_connect_cb)", "", "Argument[0]", "Argument[*1].Field[*connect_req]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,uv_connect_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,uv_connect_cb)", "", "Argument[1]", "Argument[*1].Field[**connect_req].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,uv_connect_cb)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,uv_connect_cb)", "", "Argument[3]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_connect", "(uv_connect_t *,uv_tcp_t *,const sockaddr *,uv_connect_cb)", "", "Argument[3]", "Argument[*1].Field[**connect_req].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_getpeername", "(const uv_tcp_t *,sockaddr *,int *)", "", "Argument[*0].Field[*delayed_error]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_getpeername", "(const uv_tcp_t *,sockaddr *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_tcp_getsockname", "(const uv_tcp_t *,sockaddr *,int *)", "", "Argument[*0].Field[*delayed_error]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_getsockname", "(const uv_tcp_t *,sockaddr *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_tcp_init", "(uv_loop_t *,uv_tcp_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_init_ex", "(uv_loop_t *,uv_tcp_t *,unsigned int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_tcp_open", "(uv_tcp_t *,uv_os_sock_t)", "", "Argument[1]", "Argument[*0].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv_thread_detach", "(uv_thread_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_thread_getaffinity", "(uv_thread_t *,char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_thread_getname", "(uv_thread_t *,char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_thread_join", "(uv_thread_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_thread_setaffinity", "(uv_thread_t *,char *,char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_timer_get_due_in", "(const uv_timer_t *)", "", "Argument[*0].Field[**loop].Field[*time]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_timer_get_due_in", "(const uv_timer_t *)", "", "Argument[*0].Field[*timeout]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_timer_get_repeat", "(const uv_timer_t *)", "", "Argument[*0].Field[*repeat]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_timer_init", "(uv_loop_t *,uv_timer_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_timer_set_repeat", "(uv_timer_t *,uint64_t)", "", "Argument[1]", "Argument[*0].Field[*repeat]", "value", "dfc-generated"]
- ["", "", True, "uv_timer_start", "(uv_timer_t *,uv_timer_cb,uint64_t,uint64_t)", "", "Argument[1]", "Argument[*0].Field[*timer_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_timer_start", "(uv_timer_t *,uv_timer_cb,uint64_t,uint64_t)", "", "Argument[2]", "Argument[*0].Field[*timeout]", "taint", "dfc-generated"]
- ["", "", True, "uv_timer_start", "(uv_timer_t *,uv_timer_cb,uint64_t,uint64_t)", "", "Argument[3]", "Argument[*0].Field[*repeat]", "value", "dfc-generated"]
- ["", "", True, "uv_translate_sys_error", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_tty_init", "(uv_loop_t *,uv_tty_t *,int,uv_file,int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_tty_init", "(uv_loop_t *,uv_tty_t *,int,uv_file,int)", "", "Argument[2]", "Argument[*1].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv_tty_set_mode", "(uv_tty_t *,uv_tty_mode_t)", "", "Argument[1]", "Argument[*0].Field[*mode]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_get_send_queue_count", "(const uv_udp_t *)", "", "Argument[*0].Field[*send_queue_count]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_udp_get_send_queue_size", "(const uv_udp_t *)", "", "Argument[*0].Field[*send_queue_size]", "ReturnValue", "value", "dfc-generated"]
- ["", "", True, "uv_udp_getpeername", "(const uv_udp_t *,sockaddr *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_getsockname", "(const uv_udp_t *,sockaddr *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_init", "(uv_loop_t *,uv_udp_t *)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_init_ex", "(uv_loop_t *,uv_udp_t *,unsigned int)", "", "Argument[0]", "Argument[*1].Field[*loop]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_open", "(uv_udp_t *,uv_os_sock_t)", "", "Argument[1]", "Argument[*0].Field[*io_watcher].Field[*fd]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_recv_start", "(uv_udp_t *,uv_alloc_cb,uv_udp_recv_cb)", "", "Argument[1]", "Argument[*0].Field[*alloc_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_recv_start", "(uv_udp_t *,uv_alloc_cb,uv_udp_recv_cb)", "", "Argument[2]", "Argument[*0].Field[*recv_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[*2].Field[*len]", "Argument[*1].Field[*send_queue_size]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[*2]", "Argument[*0].Field[**bufs]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[*4]", "Argument[*0].Field[*u].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[2]", "Argument[*0].Field[**bufs]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[3]", "Argument[*0].Field[*nbufs]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[4]", "Argument[*0].Field[*u].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_send", "(uv_udp_send_t *,uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *,uv_udp_send_cb)", "", "Argument[5]", "Argument[*0].Field[*send_cb]", "value", "dfc-generated"]
- ["", "", True, "uv_udp_try_send2", "(uv_udp_t *,unsigned int,uv_buf_t *[],unsigned int[],sockaddr *[],unsigned int)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_try_send2", "(uv_udp_t *,unsigned int,uv_buf_t *[],unsigned int[],sockaddr *[],unsigned int)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"]
- ["", "", True, "uv_udp_try_send", "(uv_udp_t *,const uv_buf_t[],unsigned int,const sockaddr *)", "", "Argument[*1].Field[*len]", "ReturnValue", "taint", "dfc-generated"]
- ["", "", True, "uv_utf16_to_wtf8", "(const uint16_t *,ssize_t,char **,size_t *)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "uv_utf16_to_wtf8", "(const uint16_t *,ssize_t,char **,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"]
- ["", "", True, "uv_utf16_to_wtf8", "(const uint16_t *,ssize_t,char **,size_t *)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "uv_utf16_to_wtf8", "(const uint16_t *,ssize_t,char **,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[*2].Field[*len]", "Argument[*1].Field[*write_queue_size]", "taint", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[*2]", "Argument[*0].Field[**bufs]", "value", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[*4]", "Argument[*0].Field[**send_handle]", "value", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[2]", "Argument[*0].Field[**bufs]", "taint", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[3]", "Argument[*0].Field[*nbufs]", "value", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[4]", "Argument[*0].Field[*send_handle]", "value", "dfc-generated"]
- ["", "", True, "uv_write2", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_stream_t *,uv_write_cb)", "", "Argument[5]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_write", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)", "", "Argument[*2].Field[*len]", "Argument[*1].Field[*write_queue_size]", "taint", "dfc-generated"]
- ["", "", True, "uv_write", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)", "", "Argument[*2]", "Argument[*0].Field[**bufs]", "value", "dfc-generated"]
- ["", "", True, "uv_write", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)", "", "Argument[1]", "Argument[*0].Field[*handle]", "value", "dfc-generated"]
- ["", "", True, "uv_write", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)", "", "Argument[2]", "Argument[*0].Field[**bufs]", "taint", "dfc-generated"]
- ["", "", True, "uv_write", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)", "", "Argument[3]", "Argument[*0].Field[*nbufs]", "value", "dfc-generated"]
- ["", "", True, "uv_write", "(uv_write_t *,uv_stream_t *,const uv_buf_t[],unsigned int,uv_write_cb)", "", "Argument[4]", "Argument[*0].Field[*cb]", "value", "dfc-generated"]
- ["", "", True, "uv_wtf8_length_as_utf16", "(const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_wtf8_to_utf16", "(const char *,uint16_t *,size_t)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"]
- ["", "", True, "uv_wtf8_to_utf16", "(const char *,uint16_t *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"]
- ["", "", True, "uv_wtf8_to_utf16", "(const char *,uint16_t *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"]
- ["", "", True, "uv_wtf8_to_utf16", "(const char *,uint16_t *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"]

Some files were not shown because too many files have changed in this diff Show More