diff --git a/.gitattributes b/.gitattributes index df5bed028be1..251558a58941 100644 --- a/.gitattributes +++ b/.gitattributes @@ -88,3 +88,8 @@ # swift prebuilt resources /swift/third_party/resources/*.zip filter=lfs diff=lfs merge=lfs -text /swift/third_party/resources/*.tar.zst filter=lfs diff=lfs merge=lfs -text + +# This upgrade script must use windows line-endings to be compatible with old +# databases. +/powershell/ql/lib/upgrades/ce269c61feda10a8ca0d16519085f7e55741a694/old.dbscheme eol=crlf +/powershell/downgrades/802d5b9f407fb0dac894df1c0b4584f2215e1512/semmlecode.powershell.dbscheme eol=crlf \ No newline at end of file diff --git a/.github/workflows/go-tests-other-os.yml b/.github/workflows/go-tests-other-os.yml deleted file mode 100644 index c06135ab82b9..000000000000 --- a/.github/workflows/go-tests-other-os.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: "Go: Run Tests - Other OS" -on: - pull_request: - paths: - - "go/**" - - "!go/documentation/**" - - "!go/ql/**" # don't run other-os if only ql/ files changed - - .github/workflows/go-tests-other-os.yml - - .github/actions/** - - codeql-workspace.yml - - MODULE.bazel - - .bazelrc - - misc/bazel/** - -permissions: - contents: read - -jobs: - test-mac: - name: Test MacOS - runs-on: macos-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Run tests - uses: ./go/actions/test - - test-win: - name: Test Windows - runs-on: windows-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Run tests - uses: ./go/actions/test diff --git a/.github/workflows/go-tests-rtjo.yml b/.github/workflows/go-tests-rtjo.yml deleted file mode 100644 index 43721fa1011a..000000000000 --- a/.github/workflows/go-tests-rtjo.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: "Go: Run RTJO Tests" -on: - pull_request: - types: - - labeled - -permissions: - contents: read - -jobs: - test-linux: - if: "github.repository_owner == 'github' && github.event.label.name == 'Run: RTJO Language Tests'" - name: RTJO Test Linux (Ubuntu) - runs-on: ubuntu-latest-xl - steps: - - name: Check out code - uses: actions/checkout@v4 - - name: Run tests - uses: ./go/actions/test - with: - run-code-checks: true - dynamic-join-order-mode: all diff --git a/.github/workflows/go-tests.yml b/.github/workflows/go-tests.yml index 994aba441826..c30abdd9e5d7 100644 --- a/.github/workflows/go-tests.yml +++ b/.github/workflows/go-tests.yml @@ -1,20 +1,9 @@ name: "Go: Run Tests" on: - push: - paths: - - "go/**" - - "!go/documentation/**" - - "shared/**" - - .github/workflows/go-tests.yml - - .github/actions/** - - codeql-workspace.yml - branches: - - main - - "rc/*" pull_request: paths: - "go/**" - - "!go/documentation/**" + - "!go/documentation/**" - "shared/**" - .github/workflows/go-tests.yml - .github/actions/** diff --git a/.github/workflows/microsoft-codeql-pack-publish.yml b/.github/workflows/microsoft-codeql-pack-publish.yml new file mode 100644 index 000000000000..55b553e738f2 --- /dev/null +++ b/.github/workflows/microsoft-codeql-pack-publish.yml @@ -0,0 +1,152 @@ +name: Microsoft CodeQL Pack Publish + +on: + workflow_dispatch: + +jobs: + check-branch: + runs-on: ubuntu-latest + steps: + - name: Fail if not on main branch + run: | + if [ "$GITHUB_REF" != "refs/heads/main" ]; then + echo "This workflow can only run on the 'main' branch." + exit 1 + fi + codeqlversion: + needs: check-branch + runs-on: ubuntu-latest + outputs: + codeql_version: ${{ steps.set_codeql_version.outputs.codeql_version }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set CodeQL Version + id: set_codeql_version + run: | + git fetch + git fetch --tags + CURRENT_COMMIT=$(git rev-list -1 HEAD) + CURRENT_TAG=$(git describe --tags --abbrev=0 --match 'codeql-cli/v*' $CURRENT_COMMIT) + CODEQL_VERSION="${CURRENT_TAG#codeql-cli/}" + echo "CODEQL_VERSION=$CODEQL_VERSION" >> $GITHUB_OUTPUT + publishlibs: + environment: secure-publish + needs: codeqlversion + runs-on: ubuntu-latest + strategy: + matrix: + language: ['powershell'] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install CodeQL + shell: bash + run: | + gh extension install github/gh-codeql + gh codeql download "${{ needs.codeqlversion.outputs.codeql_version }}" + gh codeql set-version "${{ needs.codeqlversion.outputs.codeql_version }}" + env: + GITHUB_TOKEN: ${{ github.token }} + - name: Publish OS Microsoft CodeQL Lib Pack + shell: bash + run: | + # Download latest qlpack + gh codeql pack download "microsoft/$LANGUAGE-all" + PACK_DIR="$HOME/.codeql/packages/microsoft/$LANGUAGE-all" + VERSION_COUNT=$(ls -d "$PACK_DIR"/*/ | wc -l) + [[ "$VERSION_COUNT" -ne 1 ]] && { echo "Expected exactly one version in $PACK_DIR, but found $VERSION_COUNT. Exiting."; exit 1; } + + # Increment version + CURRENT_VERSION=$(ls -v "$PACK_DIR" | tail -n 1) + MAJOR=$(echo "$CURRENT_VERSION" | cut -d. -f1) + MINOR=$(echo "$CURRENT_VERSION" | cut -d. -f2) + PATCH=$(echo "$CURRENT_VERSION" | cut -d. -f3) + NEXT_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" + + # Extract dependencies from the existing qlpack.yml before deleting + DEPENDENCIES=$(yq 'select(has("dependencies")) | .dependencies | {"dependencies": .}' "$LANGUAGE/ql/lib/qlpack.yml" 2>/dev/null) + DATAEXTENSIONS=$(yq 'select(has("dataExtensions")) | .dataExtensions | {"dataExtensions": .}' "$LANGUAGE/ql/lib/qlpack.yml" 2>/dev/null) + rm -f "$LANGUAGE/ql/lib/qlpack.yml" "$LANGUAGE/ql/lib/qlpack.lock" + + # Create new qlpack.yml with modified content + cat < "$LANGUAGE/ql/lib/qlpack.yml" + name: microsoft/$LANGUAGE-all + version: $NEXT_VERSION + extractor: $LANGUAGE + groups: + - $LANGUAGE + - microsoft-all + dbscheme: semmlecode.$LANGUAGE.dbscheme + extractor: $LANGUAGE + library: true + upgrades: upgrades + $DEPENDENCIES + $DATAEXTENSIONS + warnOnImplicitThis: true + EOF + + # Publish pack + cat "$LANGUAGE/ql/lib/qlpack.yml" + gh codeql pack publish "$LANGUAGE/ql/lib" + env: + LANGUAGE: ${{ matrix.language }} + GITHUB_TOKEN: ${{ secrets.PACKAGE_PUBLISH }} + publish: + environment: secure-publish + needs: codeqlversion + runs-on: ubuntu-latest + strategy: + matrix: + language: ['csharp', 'cpp', 'java', 'javascript', 'python', 'ruby', 'go', 'rust', 'swift', 'powershell', 'iac'] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install CodeQL + shell: bash + run: | + gh extension install github/gh-codeql + gh codeql download "${{ needs.codeqlversion.outputs.codeql_version }}" + gh codeql set-version "${{ needs.codeqlversion.outputs.codeql_version }}" + env: + GITHUB_TOKEN: ${{ github.token }} + - name: Publish OS Microsoft CodeQL Pack + shell: bash + run: | + # Download latest qlpack + gh codeql pack download "microsoft/$LANGUAGE-queries" + PACK_DIR="$HOME/.codeql/packages/microsoft/$LANGUAGE-queries" + VERSION_COUNT=$(ls -d "$PACK_DIR"/*/ | wc -l) + [[ "$VERSION_COUNT" -ne 1 ]] && { echo "Expected exactly one version in $PACK_DIR, but found $VERSION_COUNT. Exiting."; exit 1; } + + # Increment version + CURRENT_VERSION=$(ls -v "$PACK_DIR" | tail -n 1) + MAJOR=$(echo "$CURRENT_VERSION" | cut -d. -f1) + MINOR=$(echo "$CURRENT_VERSION" | cut -d. -f2) + PATCH=$(echo "$CURRENT_VERSION" | cut -d. -f3) + NEXT_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" + + # Extract dependencies from the existing qlpack.yml before deleting + DEPENDENCIES=$(yq 'select(has("dependencies")) | .dependencies | {"dependencies": .}' "$LANGUAGE/ql/src/qlpack.yml" 2>/dev/null) + rm -f "$LANGUAGE/ql/src/qlpack.yml" "$LANGUAGE/ql/src/qlpack.lock" + + # Create new qlpack.yml with modified content + cat < "$LANGUAGE/ql/src/qlpack.yml" + name: microsoft/$LANGUAGE-queries + version: $NEXT_VERSION + extractor: $LANGUAGE + groups: + - $LANGUAGE + - queries + $DEPENDENCIES + EOF + + # Publish pack + cat "$LANGUAGE/ql/src/qlpack.yml" + gh codeql pack publish "$LANGUAGE/ql/src" + env: + LANGUAGE: ${{ matrix.language }} + GITHUB_TOKEN: ${{ secrets.PACKAGE_PUBLISH }} + diff --git a/.github/workflows/powershell-pr-check.yml b/.github/workflows/powershell-pr-check.yml new file mode 100644 index 000000000000..d6ab90989808 --- /dev/null +++ b/.github/workflows/powershell-pr-check.yml @@ -0,0 +1,32 @@ +name: PowerShell PR Check + +on: + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + powershell-pr-check: + name: powershell-pr-check + runs-on: windows-latest + if: github.repository == 'microsoft/codeql' + permissions: + contents: read + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ github.token }} + - name: Setup CodeQL + uses: ./.github/actions/fetch-codeql + with: + channel: release + - name: Install PowerShell + run: | + $path = Split-Path (Get-Command codeql).Source + ./powershell/build-win64.ps1 $path + - name: Run QL tests + run: | + codeql test run --threads=0 powershell/ql/test diff --git a/.github/workflows/sync-main-tags.yml b/.github/workflows/sync-main-tags.yml new file mode 100644 index 000000000000..a22cf8ceba9b --- /dev/null +++ b/.github/workflows/sync-main-tags.yml @@ -0,0 +1,28 @@ +name: Sync Main Tags + +on: + pull_request: + types: + - closed + branches: + - main + +jobs: + sync-main-tags: + name: Sync Main Tags + runs-on: ubuntu-latest + if: github.repository == 'microsoft/codeql' && github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'auto/sync-main-pr' + permissions: + contents: write + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Push Tags + run: | + git remote add upstream https://github.com/github/codeql.git + git fetch upstream --tags --force + git push --force origin --tags + env: + GH_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} diff --git a/.github/workflows/sync-main.yml b/.github/workflows/sync-main.yml new file mode 100644 index 000000000000..cdc3e27f0e89 --- /dev/null +++ b/.github/workflows/sync-main.yml @@ -0,0 +1,91 @@ +name: Sync Main + +on: + push: + branches: + - main + paths: + - .github/workflows/sync-main.yml + schedule: + - cron: '55 * * * *' + +jobs: + sync-main: + name: Sync-main + runs-on: ubuntu-latest + if: github.repository == 'microsoft/codeql' + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.WORKFLOW_TOKEN }} + - name: Git config + shell: bash + run: | + git config user.name "dilanbhalla" + git config user.email "dilanbhalla@microsoft.com" + - name: Git checkout auto/sync-main-pr + shell: bash + run: | + git fetch origin + if git ls-remote --exit-code --heads origin auto/sync-main-pr > /dev/null; then + echo "Branch exists remotely. Checking it out." + git checkout -B auto/sync-main-pr origin/auto/sync-main-pr + else + echo "Branch does not exist remotely. Creating from main." + git checkout -B auto/sync-main-pr origin/main + git push -u origin auto/sync-main-pr + fi + - name: Sync origin/main + shell: bash + run: | + echo "::group::Sync with main branch" + git pull origin auto/sync-main-pr; exitCode=$?; if [ $exitCode -ne 0 ]; then exitCode=0; fi + git pull origin main --no-rebase + git push --force origin auto/sync-main-pr + echo "::endgroup::" + - name: Sync upstream/codeql-cli/latest + shell: bash + run: | + echo "::group::Set up remote" + git remote add upstream https://github.com/github/codeql.git + git fetch upstream --tags --force + echo "::endgroup::" + echo "::group::Merge codeql-cli/latest" + set -x + git merge codeql-cli/latest + set +x + echo "::endgroup::" + - name: Push sync branch + run: | + git push origin auto/sync-main-pr + env: + GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} + GH_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} + - name: Create PR if it doesn't exist + shell: bash + run: | + pr_number=$(gh pr list --repo microsoft/codeql --head auto/sync-main-pr --base main --json number --jq '.[0].number') + if [ -n "$pr_number" ]; then + echo "PR from auto/sync-main-pr to main already exists (PR #$pr_number). Exiting gracefully." + else + if git fetch origin main auto/sync-main-pr && [ -n "$(git rev-list origin/main..origin/auto/sync-main-pr)" ]; then + echo "PR does not exist. Creating one..." + gh pr create --repo microsoft/codeql --fill -B main -H auto/sync-main-pr \ + --label 'autogenerated' \ + --title 'Sync Main (autogenerated)' \ + --body "This PR syncs the latest changes from \`codeql-cli/latest\` into \`main\`." \ + --reviewer 'MathiasVP' \ + --reviewer 'ropwareJB' + else + echo "No changes to sync from auto/sync-main-pr to main. Exiting gracefully." + fi + fi + env: + GH_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000000..9a2df7094cc1 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "iac"] + path = iac + url = https://github.com/advanced-security/codeql-extractor-iac diff --git a/MODULE.bazel b/MODULE.bazel index c30304156e37..474e6df0aba8 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -37,6 +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" +# run buildutils-internal/scripts/fill-rust-sha256s.py when updating (internal repo) RUST_VERSION = "1.86.0" rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") @@ -47,6 +48,29 @@ rust.toolchain( "x86_64-apple-darwin", "aarch64-apple-darwin", ], + # generated by buildutils-internal/scripts/fill-rust-sha256s.py (internal repo) + sha256s = { + "rustc-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "4438b809ce4a083af31ed17aeeedcc8fc60ccffc0625bef1926620751b6989d7", + "rustc-1.86.0-x86_64-apple-darwin.tar.xz": "42b76253626febb7912541a30d3379f463dec89581aad4cb72c6c04fb5a71dc5", + "rustc-1.86.0-aarch64-apple-darwin.tar.xz": "23b8f52102249a47ab5bc859d54c9a3cb588a3259ba3f00f557d50edeca4fde9", + "rustc-1.86.0-x86_64-pc-windows-msvc.tar.xz": "fdde839fea274529a31e51eb85c6df1782cc8479c9d1bc24e2914d66a0de41ab", + "clippy-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "02aaff2c1407d2da8dba19aa4970dd873e311902b120a66cbcdbe51eb8836edf", + "clippy-1.86.0-x86_64-apple-darwin.tar.xz": "bb85efda7bbffaf124867f5ca36d50932b1e8f533c62ee923438afb32ff8fe9a", + "clippy-1.86.0-aarch64-apple-darwin.tar.xz": "239fa3a604b124f0312f2af08537874a1227dba63385484b468cca62e7c4f2f2", + "clippy-1.86.0-x86_64-pc-windows-msvc.tar.xz": "d00498f47d49219f032e2c5eeebdfc3d32317c0dc3d3fd7125327445bc482cb4", + "cargo-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "c5c1590f7e9246ad9f4f97cfe26ffa92707b52a769726596a9ef81565ebd908b", + "cargo-1.86.0-x86_64-apple-darwin.tar.xz": "af163eb02d1a178044d1b4f2375960efd47130f795f6e33d09e345454bb26f4e", + "cargo-1.86.0-aarch64-apple-darwin.tar.xz": "3cb13873d48c3e1e4cc684d42c245226a11fba52af6b047c3346ed654e7a05c0", + "cargo-1.86.0-x86_64-pc-windows-msvc.tar.xz": "e57a9d89619b5604899bac443e68927bdd371e40f2e03e18950b6ceb3eb67966", + "llvm-tools-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "282145ab7a63c98b625856f44b905b4dc726b497246b824632a5790debe95a78", + "llvm-tools-1.86.0-x86_64-apple-darwin.tar.xz": "b55706e92f7da989207c50c13c7add483a9fedd233bc431b106eca2a8f151ec9", + "llvm-tools-1.86.0-aarch64-apple-darwin.tar.xz": "04d3618c686845853585f036e3211eb9e18f2d290f4610a7a78bdc1fcce1ebd9", + "llvm-tools-1.86.0-x86_64-pc-windows-msvc.tar.xz": "721a17cc8dc219177e4277a3592253934ef08daa1e1b12eda669a67d15fad8dd", + "rust-std-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "67be7184ea388d8ce0feaf7fdea46f1775cfc2970930264343b3089898501d37", + "rust-std-1.86.0-x86_64-apple-darwin.tar.xz": "3b1140d54870a080080e84700143f4a342fbd02a410a319b05d9c02e7dcf44cc", + "rust-std-1.86.0-aarch64-apple-darwin.tar.xz": "0fb121fb3b8fa9027d79ff598500a7e5cd086ddbc3557482ed3fdda00832c61b", + "rust-std-1.86.0-x86_64-pc-windows-msvc.tar.xz": "3d5354b7b9cb950b58bff3fce18a652aa374bb30c8f70caebd3bd0b43cb41a33", + }, versions = [RUST_VERSION], ) use_repo(rust, "rust_toolchains") diff --git a/README.md b/README.md index 99433b8ca49f..b0f6c52bbdcd 100644 --- a/README.md +++ b/README.md @@ -29,3 +29,5 @@ You can install the [CodeQL for Visual Studio Code](https://marketplace.visualst ### Tasks The `.vscode/tasks.json` file defines custom tasks specific to working in this repository. To invoke one of these tasks, select the `Terminal | Run Task...` menu option, and then select the desired task from the dropdown. You can also invoke the `Tasks: Run Task` command from the command palette. + + diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000000..e138ec5d6a77 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). + + diff --git a/actions/ql/lib/CHANGELOG.md b/actions/ql/lib/CHANGELOG.md index 9547b4d46096..a3bde634d393 100644 --- a/actions/ql/lib/CHANGELOG.md +++ b/actions/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.4.13 + +### Bug Fixes + +* The `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` queries now exclude artifacts downloaded to `$[{ runner.temp }}` in addition to `/tmp`. + ## 0.4.12 ### Minor Analysis Improvements diff --git a/actions/ql/lib/change-notes/released/0.4.13.md b/actions/ql/lib/change-notes/released/0.4.13.md new file mode 100644 index 000000000000..1c7fa59a3568 --- /dev/null +++ b/actions/ql/lib/change-notes/released/0.4.13.md @@ -0,0 +1,5 @@ +## 0.4.13 + +### Bug Fixes + +* The `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` queries now exclude artifacts downloaded to `$[{ runner.temp }}` in addition to `/tmp`. diff --git a/actions/ql/lib/codeql-pack.release.yml b/actions/ql/lib/codeql-pack.release.yml index 530dc320490d..88ad5ab8f224 100644 --- a/actions/ql/lib/codeql-pack.release.yml +++ b/actions/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.4.12 +lastReleaseVersion: 0.4.13 diff --git a/actions/ql/lib/codeql/actions/Helper.qll b/actions/ql/lib/codeql/actions/Helper.qll index 48b70061ec0f..348ec75a5193 100644 --- a/actions/ql/lib/codeql/actions/Helper.qll +++ b/actions/ql/lib/codeql/actions/Helper.qll @@ -72,7 +72,7 @@ string normalizePath(string path) { then result = path else // foo -> GITHUB_WORKSPACE/foo - if path.regexpMatch("^[^/~].*") + if path.regexpMatch("^[^$/~].*") then result = "GITHUB_WORKSPACE/" + path.regexpReplaceAll("/$", "") else // ~/foo -> ~/foo diff --git a/actions/ql/lib/codeql/actions/security/ArtifactPoisoningQuery.qll b/actions/ql/lib/codeql/actions/security/ArtifactPoisoningQuery.qll index d8d5f83c867d..f0649bb8174e 100644 --- a/actions/ql/lib/codeql/actions/security/ArtifactPoisoningQuery.qll +++ b/actions/ql/lib/codeql/actions/security/ArtifactPoisoningQuery.qll @@ -262,8 +262,10 @@ class ArtifactPoisoningSink extends DataFlow::Node { ArtifactPoisoningSink() { download.getAFollowingStep() = poisonable and - // excluding artifacts downloaded to /tmp + // excluding artifacts downloaded to the temporary directory not download.getPath().regexpMatch("^/tmp.*") and + not download.getPath().regexpMatch("^\\$\\{\\{\\s*runner\\.temp\\s*}}.*") and + not download.getPath().regexpMatch("^\\$RUNNER_TEMP.*") and ( poisonable.(Run).getScript() = this.asExpr() and ( diff --git a/actions/ql/lib/qlpack.yml b/actions/ql/lib/qlpack.yml index c6a0df46cfc1..f67a9ff9142f 100644 --- a/actions/ql/lib/qlpack.yml +++ b/actions/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-all -version: 0.4.13-dev +version: 0.4.13 library: true warnOnImplicitThis: true dependencies: diff --git a/actions/ql/src/CHANGELOG.md b/actions/ql/src/CHANGELOG.md index b2846cd81fc0..d0db2aff304d 100644 --- a/actions/ql/src/CHANGELOG.md +++ b/actions/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.5 + +No user-facing changes. + ## 0.6.4 No user-facing changes. diff --git a/actions/ql/src/change-notes/released/0.6.5.md b/actions/ql/src/change-notes/released/0.6.5.md new file mode 100644 index 000000000000..b2bc387588d8 --- /dev/null +++ b/actions/ql/src/change-notes/released/0.6.5.md @@ -0,0 +1,3 @@ +## 0.6.5 + +No user-facing changes. diff --git a/actions/ql/src/codeql-pack.release.yml b/actions/ql/src/codeql-pack.release.yml index ced8cf94614b..86780fb61480 100644 --- a/actions/ql/src/codeql-pack.release.yml +++ b/actions/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.6.4 +lastReleaseVersion: 0.6.5 diff --git a/actions/ql/src/qlpack.yml b/actions/ql/src/qlpack.yml index 4a4bdde8147c..7addbb8de912 100644 --- a/actions/ql/src/qlpack.yml +++ b/actions/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-queries -version: 0.6.5-dev +version: 0.6.5 library: false warnOnImplicitThis: true groups: [actions, queries] diff --git a/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning93.yml b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning93.yml new file mode 100644 index 000000000000..5bebc3484e68 --- /dev/null +++ b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning93.yml @@ -0,0 +1,19 @@ +on: + workflow_run: + workflows: + - Benchmark + types: + - completed + +jobs: + benchmark: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Download From PR + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + path: ${{ runner.temp }}/artifacts/ + - run: npm install \ No newline at end of file diff --git a/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning94.yml b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning94.yml new file mode 100644 index 000000000000..bee8abd41206 --- /dev/null +++ b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning94.yml @@ -0,0 +1,19 @@ +on: + workflow_run: + workflows: + - Benchmark + types: + - completed + +jobs: + benchmark: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Download From PR + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + path: /tmp/artifacts/ + - run: npm install \ No newline at end of file diff --git a/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning95.yml b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning95.yml new file mode 100644 index 000000000000..7a1aca467604 --- /dev/null +++ b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning95.yml @@ -0,0 +1,19 @@ +on: + workflow_run: + workflows: + - Benchmark + types: + - completed + +jobs: + benchmark: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Download From PR + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + path: $RUNNER_TEMP/artifacts/ + - run: npm install \ No newline at end of file diff --git a/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning96.yml b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning96.yml new file mode 100644 index 000000000000..f970a3fa1979 --- /dev/null +++ b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning96.yml @@ -0,0 +1,18 @@ +on: + workflow_run: + workflows: + - Benchmark + types: + - completed + +jobs: + benchmark: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Download From PR + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + - run: npm install \ No newline at end of file diff --git a/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning97.yml b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning97.yml new file mode 100644 index 000000000000..1bd28bafdd6e --- /dev/null +++ b/actions/ql/test/query-tests/Security/CWE-829/.github/workflows/artifactpoisoning97.yml @@ -0,0 +1,19 @@ +on: + workflow_run: + workflows: + - Benchmark + types: + - completed + +jobs: + benchmark: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Download From PR + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + run-id: ${{ github.event.workflow_run.id }} + path: ${{ runner.temp }}/artifacts/ + - run: npm install diff --git a/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningCritical.expected b/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningCritical.expected index aa0057d60a1b..2d29cd9b79b4 100644 --- a/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningCritical.expected +++ b/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningCritical.expected @@ -13,6 +13,7 @@ edges | .github/workflows/artifactpoisoning42.yml:13:9:21:6 | Run Step | .github/workflows/artifactpoisoning42.yml:22:14:22:18 | ./cmd | provenance | Config | | .github/workflows/artifactpoisoning71.yml:9:9:16:6 | Uses Step | .github/workflows/artifactpoisoning71.yml:17:14:18:40 | sed -f config foo.md > bar.md\n | provenance | Config | | .github/workflows/artifactpoisoning81.yml:28:9:31:6 | Uses Step | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | provenance | Config | +| .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | provenance | Config | | .github/workflows/artifactpoisoning101.yml:10:9:16:6 | Uses Step | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | provenance | Config | | .github/workflows/test18.yml:12:15:33:12 | Uses Step | .github/workflows/test18.yml:36:15:40:58 | Uses Step | provenance | Config | | .github/workflows/test25.yml:22:9:32:6 | Uses Step: downloadBuildScan | .github/workflows/test25.yml:39:14:40:45 | ./gradlew buildScanPublishPrevious\n | provenance | Config | @@ -44,6 +45,8 @@ nodes | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | semmle.label | python test.py | | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | semmle.label | Uses Step | | .github/workflows/artifactpoisoning92.yml:29:14:29:26 | make snapshot | semmle.label | make snapshot | +| .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | semmle.label | Uses Step | +| .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | semmle.label | npm install | | .github/workflows/artifactpoisoning101.yml:10:9:16:6 | Uses Step | semmle.label | Uses Step | | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | semmle.label | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | | .github/workflows/test18.yml:12:15:33:12 | Uses Step | semmle.label | Uses Step | @@ -66,6 +69,7 @@ subpaths | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | .github/workflows/artifactpoisoning81.yml:28:9:31:6 | Uses Step | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | python test.py | .github/workflows/artifactpoisoning81.yml:3:5:3:23 | pull_request_target | pull_request_target | | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | .github/actions/download-artifact-2/action.yaml:6:7:25:4 | Uses Step | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | Uses Step | .github/workflows/artifactpoisoning92.yml:3:3:3:14 | workflow_run | workflow_run | | .github/workflows/artifactpoisoning92.yml:29:14:29:26 | make snapshot | .github/actions/download-artifact-2/action.yaml:6:7:25:4 | Uses Step | .github/workflows/artifactpoisoning92.yml:29:14:29:26 | make snapshot | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/artifactpoisoning92.yml:29:14:29:26 | make snapshot | make snapshot | .github/workflows/artifactpoisoning92.yml:3:3:3:14 | workflow_run | workflow_run | +| .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | npm install | .github/workflows/artifactpoisoning96.yml:2:3:2:14 | workflow_run | workflow_run | | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | .github/workflows/artifactpoisoning101.yml:10:9:16:6 | Uses Step | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | .github/workflows/artifactpoisoning101.yml:4:3:4:21 | pull_request_target | pull_request_target | | .github/workflows/test18.yml:36:15:40:58 | Uses Step | .github/workflows/test18.yml:12:15:33:12 | Uses Step | .github/workflows/test18.yml:36:15:40:58 | Uses Step | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/test18.yml:36:15:40:58 | Uses Step | Uses Step | .github/workflows/test18.yml:3:5:3:16 | workflow_run | workflow_run | | .github/workflows/test25.yml:39:14:40:45 | ./gradlew buildScanPublishPrevious\n | .github/workflows/test25.yml:22:9:32:6 | Uses Step: downloadBuildScan | .github/workflows/test25.yml:39:14:40:45 | ./gradlew buildScanPublishPrevious\n | Potential artifact poisoning in $@, which may be controlled by an external user ($@). | .github/workflows/test25.yml:39:14:40:45 | ./gradlew buildScanPublishPrevious\n | ./gradlew buildScanPublishPrevious\n | .github/workflows/test25.yml:2:3:2:14 | workflow_run | workflow_run | diff --git a/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningMedium.expected b/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningMedium.expected index 09aed9e34a10..c0c52e47f5b3 100644 --- a/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningMedium.expected +++ b/actions/ql/test/query-tests/Security/CWE-829/ArtifactPoisoningMedium.expected @@ -13,6 +13,7 @@ edges | .github/workflows/artifactpoisoning42.yml:13:9:21:6 | Run Step | .github/workflows/artifactpoisoning42.yml:22:14:22:18 | ./cmd | provenance | Config | | .github/workflows/artifactpoisoning71.yml:9:9:16:6 | Uses Step | .github/workflows/artifactpoisoning71.yml:17:14:18:40 | sed -f config foo.md > bar.md\n | provenance | Config | | .github/workflows/artifactpoisoning81.yml:28:9:31:6 | Uses Step | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | provenance | Config | +| .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | provenance | Config | | .github/workflows/artifactpoisoning101.yml:10:9:16:6 | Uses Step | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | provenance | Config | | .github/workflows/test18.yml:12:15:33:12 | Uses Step | .github/workflows/test18.yml:36:15:40:58 | Uses Step | provenance | Config | | .github/workflows/test25.yml:22:9:32:6 | Uses Step: downloadBuildScan | .github/workflows/test25.yml:39:14:40:45 | ./gradlew buildScanPublishPrevious\n | provenance | Config | @@ -44,6 +45,8 @@ nodes | .github/workflows/artifactpoisoning81.yml:31:14:31:27 | python test.py | semmle.label | python test.py | | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | semmle.label | Uses Step | | .github/workflows/artifactpoisoning92.yml:29:14:29:26 | make snapshot | semmle.label | make snapshot | +| .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | semmle.label | Uses Step | +| .github/workflows/artifactpoisoning96.yml:18:14:18:24 | npm install | semmle.label | npm install | | .github/workflows/artifactpoisoning101.yml:10:9:16:6 | Uses Step | semmle.label | Uses Step | | .github/workflows/artifactpoisoning101.yml:17:14:19:59 | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | semmle.label | PR_NUMBER=$(./get_pull_request_number.sh pr_number.txt)\necho "PR_NUMBER=$PR_NUMBER" >> $GITHUB_OUTPUT \n | | .github/workflows/test18.yml:12:15:33:12 | Uses Step | semmle.label | Uses Step | diff --git a/actions/ql/test/query-tests/Security/CWE-829/UntrustedCheckoutCritical.expected b/actions/ql/test/query-tests/Security/CWE-829/UntrustedCheckoutCritical.expected index 5d7a94aead0b..39e54b2bbaed 100644 --- a/actions/ql/test/query-tests/Security/CWE-829/UntrustedCheckoutCritical.expected +++ b/actions/ql/test/query-tests/Security/CWE-829/UntrustedCheckoutCritical.expected @@ -51,6 +51,16 @@ edges | .github/workflows/artifactpoisoning92.yml:19:9:25:6 | Run Step: metadata | .github/workflows/artifactpoisoning92.yml:25:9:28:6 | Uses Step | | .github/workflows/artifactpoisoning92.yml:25:9:28:6 | Uses Step | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | | .github/workflows/artifactpoisoning92.yml:28:9:29:6 | Uses Step | .github/workflows/artifactpoisoning92.yml:29:9:29:27 | Run Step | +| .github/workflows/artifactpoisoning93.yml:12:9:13:6 | Uses Step | .github/workflows/artifactpoisoning93.yml:13:9:19:6 | Uses Step | +| .github/workflows/artifactpoisoning93.yml:13:9:19:6 | Uses Step | .github/workflows/artifactpoisoning93.yml:19:9:19:24 | Run Step | +| .github/workflows/artifactpoisoning94.yml:12:9:13:6 | Uses Step | .github/workflows/artifactpoisoning94.yml:13:9:19:6 | Uses Step | +| .github/workflows/artifactpoisoning94.yml:13:9:19:6 | Uses Step | .github/workflows/artifactpoisoning94.yml:19:9:19:24 | Run Step | +| .github/workflows/artifactpoisoning95.yml:12:9:13:6 | Uses Step | .github/workflows/artifactpoisoning95.yml:13:9:19:6 | Uses Step | +| .github/workflows/artifactpoisoning95.yml:13:9:19:6 | Uses Step | .github/workflows/artifactpoisoning95.yml:19:9:19:24 | Run Step | +| .github/workflows/artifactpoisoning96.yml:12:9:13:6 | Uses Step | .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | +| .github/workflows/artifactpoisoning96.yml:13:9:18:6 | Uses Step | .github/workflows/artifactpoisoning96.yml:18:9:18:24 | Run Step | +| .github/workflows/artifactpoisoning97.yml:12:9:13:6 | Uses Step | .github/workflows/artifactpoisoning97.yml:13:9:19:6 | Uses Step | +| .github/workflows/artifactpoisoning97.yml:13:9:19:6 | Uses Step | .github/workflows/artifactpoisoning97.yml:19:9:19:25 | Run Step | | .github/workflows/artifactpoisoning101.yml:10:9:16:6 | Uses Step | .github/workflows/artifactpoisoning101.yml:16:9:19:59 | Run Step: pr_number | | .github/workflows/auto_ci.yml:20:9:27:6 | Uses Step | .github/workflows/auto_ci.yml:27:9:32:6 | Uses Step | | .github/workflows/auto_ci.yml:27:9:32:6 | Uses Step | .github/workflows/auto_ci.yml:32:9:37:6 | Run Step | diff --git a/config/identical-files.json b/config/identical-files.json index 56aac5604734..89beb48acd40 100644 --- a/config/identical-files.json +++ b/config/identical-files.json @@ -231,35 +231,10 @@ "java/ql/src/experimental/Security/CWE/CWE-400/LocalThreadResourceAbuse.qhelp", "java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qhelp" ], - "CryptoAlgorithms Python/JS/Ruby": [ - "javascript/ql/lib/semmle/javascript/security/CryptoAlgorithms.qll", - "python/ql/lib/semmle/python/concepts/CryptoAlgorithms.qll", - "ruby/ql/lib/codeql/ruby/security/CryptoAlgorithms.qll", - "rust/ql/lib/codeql/rust/security/CryptoAlgorithms.qll" - ], - "CryptoAlgorithmNames Python/JS/Ruby": [ - "javascript/ql/lib/semmle/javascript/security/internal/CryptoAlgorithmNames.qll", - "python/ql/lib/semmle/python/concepts/internal/CryptoAlgorithmNames.qll", - "ruby/ql/lib/codeql/ruby/security/internal/CryptoAlgorithmNames.qll", - "rust/ql/lib/codeql/rust/security/internal/CryptoAlgorithmNames.qll" - ], - "SensitiveDataHeuristics Python/JS": [ - "javascript/ql/lib/semmle/javascript/security/internal/SensitiveDataHeuristics.qll", - "python/ql/lib/semmle/python/security/internal/SensitiveDataHeuristics.qll", - "ruby/ql/lib/codeql/ruby/security/internal/SensitiveDataHeuristics.qll", - "swift/ql/lib/codeql/swift/security/internal/SensitiveDataHeuristics.qll", - "rust/ql/lib/codeql/rust/security/internal/SensitiveDataHeuristics.qll" - ], "IncompleteUrlSubstringSanitization": [ "javascript/ql/src/Security/CWE-020/IncompleteUrlSubstringSanitization.qll", "ruby/ql/src/queries/security/cwe-020/IncompleteUrlSubstringSanitization.qll" ], - "Concepts Python/Ruby/JS": [ - "python/ql/lib/semmle/python/internal/ConceptsShared.qll", - "ruby/ql/lib/codeql/ruby/internal/ConceptsShared.qll", - "javascript/ql/lib/semmle/javascript/internal/ConceptsShared.qll", - "rust/ql/lib/codeql/rust/internal/ConceptsShared.qll" - ], "ApiGraphModels": [ "javascript/ql/lib/semmle/javascript/frameworks/data/internal/ApiGraphModels.qll", "ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModels.qll", diff --git a/cpp/bulk_generation_targets.yml b/cpp/bulk_generation_targets.yml index dbcec7bf9ddf..39b5d4e56f9a 100644 --- a/cpp/bulk_generation_targets.yml +++ b/cpp/bulk_generation_targets.yml @@ -2,6 +2,9 @@ language: cpp strategy: dca destination: cpp/ql/lib/ext/generated targets: +- name: glibc + with-sinks: false + with-sources: false - name: zlib with-sinks: false with-sources: false diff --git a/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/old.dbscheme b/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/old.dbscheme new file mode 100644 index 000000000000..5340d6d5f428 --- /dev/null +++ b/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/old.dbscheme @@ -0,0 +1,2423 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +case @function.kind of + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function ref +) + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/semmlecode.cpp.dbscheme b/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/semmlecode.cpp.dbscheme new file mode 100644 index 000000000000..801b2f03360d --- /dev/null +++ b/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/semmlecode.cpp.dbscheme @@ -0,0 +1,2433 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function ref +) + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @type_operator.kind of +| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; +*/ + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +/* +case @usertype.kind of +| 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/upgrade.properties b/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/upgrade.properties new file mode 100644 index 000000000000..a469b3025bfb --- /dev/null +++ b/cpp/downgrades/5340d6d5f428557632b1a50113e406430f29ef7d/upgrade.properties @@ -0,0 +1,2 @@ +description: Uncomment cases in dbscheme +compatibility: full diff --git a/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/functions.ql b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/functions.ql new file mode 100644 index 000000000000..229e70616590 --- /dev/null +++ b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/functions.ql @@ -0,0 +1,9 @@ +class Function extends @function { + string toString() { none() } +} + +from Function f, string n, int k, int new_k +where + functions(f, n, k) and + if builtin_functions(f) then new_k = 6 else new_k = k +select f, n, new_k diff --git a/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/old.dbscheme b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/old.dbscheme new file mode 100644 index 000000000000..801b2f03360d --- /dev/null +++ b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/old.dbscheme @@ -0,0 +1,2433 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function ref +) + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @type_operator.kind of +| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; +*/ + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +/* +case @usertype.kind of +| 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/semmlecode.cpp.dbscheme b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/semmlecode.cpp.dbscheme new file mode 100644 index 000000000000..5491582ac851 --- /dev/null +++ b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/semmlecode.cpp.dbscheme @@ -0,0 +1,2428 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @type_operator.kind of +| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; +*/ + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +/* +case @usertype.kind of +| 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/upgrade.properties b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/upgrade.properties new file mode 100644 index 000000000000..64195daeaeea --- /dev/null +++ b/cpp/downgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/upgrade.properties @@ -0,0 +1,4 @@ +description: Move builtin function identification to its own table +compatibility: full +functions.rel: run functions.qlo +builtin_functions.rel: delete diff --git a/cpp/ql/integration-tests/header-variant-tests/clang-pch/b.c b/cpp/ql/integration-tests/header-variant-tests/clang-pch/b.c index 76369e11f221..e9973998d64a 100644 --- a/cpp/ql/integration-tests/header-variant-tests/clang-pch/b.c +++ b/cpp/ql/integration-tests/header-variant-tests/clang-pch/b.c @@ -4,4 +4,3 @@ int main() { return ONE + TWO + THREE + FOUR; } -// semmle-extractor-options: --clang -include-pch ${testdir}/clang-pch.testproj/a.pch -Iextra_dummy_path diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 392305a64890..1b9acfd9e539 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,20 @@ +## 5.3.0 + +### Deprecated APIs + +* The `UnknownDefaultLocation`, `UnknownExprLocation`, and `UnknownStmtLocation` classes have been deprecated. Use `UnknownLocation` instead. + +### New Features + +* Added a `isFinalValueOfParameter` predicate to `DataFlow::Node` which holds when a dataflow node represents the final value of an output parameter of a function. + +### Minor Analysis Improvements + +* The `FunctionWithWrappers` library (`semmle.code.cpp.security.FunctionWithWrappers`) no longer considers calls through function pointers as wrapper functions. +* The analysis of C/C++ code targeting 64-bit Arm platforms has been improved. This includes support for the Arm-specific builtin functions, support for the `arm_neon.h` header and Neon vector types, and support for the `fp8` scalar type. The `arm_sve.h` header and scalable vectors are only partially supported at this point. +* Added support for `__fp16 _Complex` and `__bf16 _Complex` types +* Added `sql-injection` sink models for the Oracle Call Interface (OCI) database library functions `OCIStmtPrepare` and `OCIStmtPrepare2`. + ## 5.2.0 ### Deprecated APIs diff --git a/cpp/ql/lib/change-notes/2023-10-12-additional-call-targets.md b/cpp/ql/lib/change-notes/2023-10-12-additional-call-targets.md new file mode 100644 index 000000000000..f87fba1f1720 --- /dev/null +++ b/cpp/ql/lib/change-notes/2023-10-12-additional-call-targets.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added a new class `AdditionalCallTarget` for specifying additional call targets. diff --git a/cpp/ql/lib/change-notes/2025-06-20-oracle-oci-models.md b/cpp/ql/lib/change-notes/2025-06-20-oracle-oci-models.md deleted file mode 100644 index 09661e619385..000000000000 --- a/cpp/ql/lib/change-notes/2025-06-20-oracle-oci-models.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added `sql-injection` sink models for the Oracle Call Interface (OCI) database library functions `OCIStmtPrepare` and `OCIStmtPrepare2`. diff --git a/cpp/ql/lib/change-notes/2025-06-24-float16 copy.md b/cpp/ql/lib/change-notes/2025-06-24-float16 copy.md deleted file mode 100644 index 0e88694e1169..000000000000 --- a/cpp/ql/lib/change-notes/2025-06-24-float16 copy.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The analysis of C/C++ code targeting 64-bit Arm platforms has been improved. This includes support for the Arm-specific builtin functions, support for the `arm_neon.h` header and Neon vector types, and support for the `fp8` scalar type. The `arm_sve.h` header and scalable vectors are only partially supported at this point. diff --git a/cpp/ql/lib/change-notes/2025-06-24-float16.md b/cpp/ql/lib/change-notes/2025-06-24-float16.md deleted file mode 100644 index 24737d2b4065..000000000000 --- a/cpp/ql/lib/change-notes/2025-06-24-float16.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added support for `__fp16 _Complex` and `__bf16 _Complex` types diff --git a/cpp/ql/lib/change-notes/2025-06-27-locations.md b/cpp/ql/lib/change-notes/2025-06-27-locations.md deleted file mode 100644 index 55acf55ee87e..000000000000 --- a/cpp/ql/lib/change-notes/2025-06-27-locations.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: deprecated ---- -* The `UnknownDefaultLocation`, `UnknownExprLocation`, and `UnknownStmtLocation` classes have been deprecated. Use `UnknownLocation` instead. diff --git a/cpp/ql/lib/change-notes/released/5.3.0.md b/cpp/ql/lib/change-notes/released/5.3.0.md new file mode 100644 index 000000000000..a7ea151fcf33 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/5.3.0.md @@ -0,0 +1,16 @@ +## 5.3.0 + +### Deprecated APIs + +* The `UnknownDefaultLocation`, `UnknownExprLocation`, and `UnknownStmtLocation` classes have been deprecated. Use `UnknownLocation` instead. + +### New Features + +* Added a `isFinalValueOfParameter` predicate to `DataFlow::Node` which holds when a dataflow node represents the final value of an output parameter of a function. + +### Minor Analysis Improvements + +* The `FunctionWithWrappers` library (`semmle.code.cpp.security.FunctionWithWrappers`) no longer considers calls through function pointers as wrapper functions. +* The analysis of C/C++ code targeting 64-bit Arm platforms has been improved. This includes support for the Arm-specific builtin functions, support for the `arm_neon.h` header and Neon vector types, and support for the `fp8` scalar type. The `arm_sve.h` header and scalable vectors are only partially supported at this point. +* Added support for `__fp16 _Complex` and `__bf16 _Complex` types +* Added `sql-injection` sink models for the Oracle Call Interface (OCI) database library functions `OCIStmtPrepare` and `OCIStmtPrepare2`. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 9e57a36a7dce..b0a1c83e5bc9 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.2.0 +lastReleaseVersion: 5.3.0 diff --git a/cpp/ql/lib/experimental/cryptography/utils/OpenSSL/CryptoFunction.qll b/cpp/ql/lib/experimental/cryptography/utils/OpenSSL/CryptoFunction.qll index 2c46a7c06744..a265241a36bd 100644 --- a/cpp/ql/lib/experimental/cryptography/utils/OpenSSL/CryptoFunction.qll +++ b/cpp/ql/lib/experimental/cryptography/utils/OpenSSL/CryptoFunction.qll @@ -115,6 +115,10 @@ private string normalizeFunctionName(Function f, string algType) { (result.matches("RSA") implies not f.getName().toUpperCase().matches("%UNIVERSAL%")) and //rsaz functions deemed to be too low level, and can be ignored not f.getLocation().getFile().getBaseName().matches("rsaz_exp.c") and + // SHA false positives + (result.matches("SHA") implies not f.getName().toUpperCase().matches("%SHAKE%")) and + // CAST false positives + (result.matches("CAST") implies not f.getName().toUpperCase().matches(["%UPCAST%", "%DOWNCAST%"])) and // General False positives // Functions that 'get' do not set an algorithm, and therefore are considered ignorable not f.getName().toLowerCase().matches("%get%") diff --git a/cpp/ql/lib/ext/Windows.model.yml b/cpp/ql/lib/ext/Windows.model.yml index 810a98de85d4..9df7c16850f8 100644 --- a/cpp/ql/lib/ext/Windows.model.yml +++ b/cpp/ql/lib/ext/Windows.model.yml @@ -32,4 +32,8 @@ extensions: - ["", "", False, "CommandLineToArgvA", "", "", "Argument[*0]", "ReturnValue[**]", "taint", "manual"] - ["", "", False, "CommandLineToArgvW", "", "", "Argument[*0]", "ReturnValue[**]", "taint", "manual"] # fileapi.h - - ["", "", False, "ReadFileEx", "", "", "Argument[*3].Field[@hEvent]", "Argument[4].Parameter[*2].Field[@hEvent]", "value", "manual"] \ No newline at end of file + - ["", "", False, "ReadFileEx", "", "", "Argument[*3].Field[@hEvent]", "Argument[4].Parameter[*2].Field[@hEvent]", "value", "manual"] + # processthreadsapi.h + - ["", "", False, "CreateThread", "", "", "Argument[@3]", "Argument[2].Parameter[@0]", "value", "manual"] + - ["", "", False, "CreateRemoteThread", "", "", "Argument[@4]", "Argument[3].Parameter[@0]", "value", "manual"] + - ["", "", False, "CreateRemoteThreadEx", "", "", "Argument[@4]", "Argument[3].Parameter[@0]", "value", "manual"] \ No newline at end of file diff --git a/cpp/ql/lib/ext/generated/glibc/glibc.model.yml b/cpp/ql/lib/ext/generated/glibc/glibc.model.yml new file mode 100644 index 000000000000..0a35aae15605 --- /dev/null +++ b/cpp/ql/lib/ext/generated/glibc/glibc.model.yml @@ -0,0 +1,5494 @@ +# THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: + - ["", "", True, "_IO_adjust_column", "(unsigned int,const char *,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_adjust_column", "(unsigned int,const char *,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_adjust_column", "(unsigned int,const char *,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_adjust_wcolumn", "(unsigned int,const wchar_t *,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_adjust_wcolumn", "(unsigned int,const wchar_t *,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_adjust_wcolumn", "(unsigned int,const wchar_t *,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_cookie_init", "(_IO_cookie_file *,int,void *,cookie_io_functions_t)", "", "Argument[**2]", "Argument[*0].Field[***__cookie]", "value", "dfc-generated"] + - ["", "", True, "_IO_cookie_init", "(_IO_cookie_file *,int,void *,cookie_io_functions_t)", "", "Argument[*2]", "Argument[*0].Field[**__cookie]", "value", "dfc-generated"] + - ["", "", True, "_IO_cookie_init", "(_IO_cookie_file *,int,void *,cookie_io_functions_t)", "", "Argument[2]", "Argument[*0].Field[*__cookie]", "value", "dfc-generated"] + - ["", "", True, "_IO_cookie_init", "(_IO_cookie_file *,int,void *,cookie_io_functions_t)", "", "Argument[3]", "Argument[*0].Field[*__io_functions]", "value", "dfc-generated"] + - ["", "", True, "_IO_cookie_seek", "(FILE *,off64_t,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_default_pbackfail", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**_IO_read_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_default_pbackfail", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_default_setbuf", "(FILE *,char *,ssize_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_default_setbuf", "(FILE *,char *,ssize_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_default_uflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_default_xsgetn", "(FILE *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_default_xsgetn", "(FILE *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_default_xsgetn", "(FILE *,void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_default_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_default_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**_IO_write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_default_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[**_IO_write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_default_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_feof", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_ferror", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_fgets", "(char *,int,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_IO_fgets", "(char *,int,FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_file_close_mmap", "(FILE *)", "", "Argument[*0].Field[**_IO_buf_end]", "Argument[*0].Field[**_IO_buf_base]", "value", "dfc-generated"] + - ["", "", True, "_IO_file_close_mmap", "(FILE *)", "", "Argument[*0].Field[*_IO_buf_end]", "Argument[*0].Field[*_IO_buf_base]", "value", "dfc-generated"] + - ["", "", True, "_IO_file_open", "(FILE *,const char *,int,int,int,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_file_open", "(FILE *,const char *,int,int,int,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_file_open", "(FILE *,const char *,int,int,int,int)", "", "Argument[4]", "Argument[*0].Field[*_flags]", "taint", "dfc-generated"] + - ["", "", True, "_IO_file_open", "(FILE *,const char *,int,int,int,int)", "", "Argument[4]", "ReturnValue[*].Field[*_flags]", "taint", "dfc-generated"] + - ["", "", True, "_IO_file_seekoff_mmap", "(FILE *,off64_t,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_file_seekoff_mmap", "(FILE *,off64_t,int,int)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_file_seekoff_mmap", "(FILE *,off64_t,int,int)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_IO_file_setbuf_mmap", "(FILE *,char *,ssize_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_file_setbuf_mmap", "(FILE *,char *,ssize_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_file_underflow_mmap", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_file_xsgetn", "(FILE *,void *,size_t)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_IO_file_xsgetn", "(FILE *,void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_file_xsgetn", "(FILE *,void *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_file_xsgetn", "(FILE *,void *,size_t)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_IO_file_xsgetn", "(FILE *,void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_file_xsgetn_mmap", "(FILE *,void *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_file_xsgetn_mmap", "(FILE *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_file_xsgetn_mmap", "(FILE *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_fread", "(void *,size_t,size_t,FILE *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_fread", "(void *,size_t,size_t,FILE *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_ftell", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_fwide", "(FILE *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_fwrite", "(const void *,size_t,size_t,FILE *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_fwrite", "(const void *,size_t,size_t,FILE *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_getc", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_getline", "(FILE *,char *,size_t,int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline", "(FILE *,char *,size_t,int,int)", "", "Argument[3]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline", "(FILE *,char *,size_t,int,int)", "", "Argument[3]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline", "(FILE *,char *,size_t,int,int)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline_info", "(FILE *,char *,size_t,int,int,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline_info", "(FILE *,char *,size_t,int,int,int *)", "", "Argument[3]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline_info", "(FILE *,char *,size_t,int,int,int *)", "", "Argument[3]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_getline_info", "(FILE *,char *,size_t,int,int,int *)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_gets", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_IO_gets", "(char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_IO_gets", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_gets", "(char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_IO_getwc", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_getwline", "(FILE *,wchar_t *,size_t,wint_t,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_getwline_info", "(FILE *,wchar_t *,size_t,wint_t,int,wint_t *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_init", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[*_flags]", "taint", "dfc-generated"] + - ["", "", True, "_IO_init_internal", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[*_flags]", "taint", "dfc-generated"] + - ["", "", True, "_IO_init_marker", "(_IO_marker *,FILE *)", "", "Argument[*0]", "Argument[*1].Field[**_markers]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_marker", "(_IO_marker *,FILE *)", "", "Argument[0]", "Argument[*1].Field[*_markers]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_marker", "(_IO_marker *,FILE *)", "", "Argument[1]", "Argument[*0].Field[*_sbuf]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_marker", "(_IO_marker *,FILE *)", "", "Argument[1]", "Argument[*1].Field[**_markers].Field[*_sbuf]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_wmarker", "(_IO_marker *,FILE *)", "", "Argument[*0]", "Argument[*1].Field[**_markers]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_wmarker", "(_IO_marker *,FILE *)", "", "Argument[0]", "Argument[*1].Field[*_markers]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_wmarker", "(_IO_marker *,FILE *)", "", "Argument[1]", "Argument[*0].Field[*_sbuf]", "value", "dfc-generated"] + - ["", "", True, "_IO_init_wmarker", "(_IO_marker *,FILE *)", "", "Argument[1]", "Argument[*1].Field[**_markers].Field[*_sbuf]", "value", "dfc-generated"] + - ["", "", True, "_IO_iter_file", "(_IO_ITER)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_IO_iter_file", "(_IO_ITER)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_iter_next", "(_IO_ITER)", "", "Argument[*0].Field[**_chain]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_IO_iter_next", "(_IO_ITER)", "", "Argument[*0].Field[*_chain]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_least_wmarker", "(FILE *,wchar_t *)", "", "Argument[*0].Field[**_markers].Field[*_pos]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_least_wmarker", "(FILE *,wchar_t *)", "", "Argument[*0].Field[**_wide_data].Field[*_IO_read_base]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_least_wmarker", "(FILE *,wchar_t *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_marker_delta", "(_IO_marker *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_marker_difference", "(_IO_marker *,_IO_marker *)", "", "Argument[*0].Field[*_pos]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_marker_difference", "(_IO_marker *,_IO_marker *)", "", "Argument[*1].Field[*_pos]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_do_write", "(FILE *,const char *,size_t)", "", "Argument[1]", "Argument[*0].Field[*_cur_column]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_fdopen", "(int,const char *)", "", "Argument[0]", "ReturnValue[*].Field[*_fileno]", "value", "dfc-generated"] + - ["", "", True, "_IO_new_fgetpos", "(FILE *,__fpos_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_IO_new_file_attach", "(FILE *,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_new_file_attach", "(FILE *,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_attach", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[*_fileno]", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_attach", "(FILE *,int)", "", "Argument[1]", "ReturnValue[*].Field[*_fileno]", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_fopen", "(FILE *,const char *,const char *,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_new_file_fopen", "(FILE *,const char *,const char *,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_overflow", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_setbuf", "(FILE *,char *,ssize_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_new_file_setbuf", "(FILE *,char *,ssize_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_underflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_new_file_write", "(FILE *,const void *,ssize_t)", "", "Argument[2]", "Argument[*0].Field[*_offset]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_write", "(FILE *,const void *,ssize_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**_IO_write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*_cur_column]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[**_IO_write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*_cur_column]", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_new_fsetpos", "(FILE *,const __fpos_t *)", "", "Argument[*1].Field[*__state]", "Argument[*0].Field[**_wide_data].Field[*_IO_state]", "value", "dfc-generated"] + - ["", "", True, "_IO_new_proc_open", "(FILE *,const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_IO_new_proc_open", "(FILE *,const char *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_no_init", "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)", "", "Argument[*3]", "Argument[*0].Field[**_wide_data]", "value", "dfc-generated"] + - ["", "", True, "_IO_no_init", "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)", "", "Argument[*4]", "Argument[*0].Field[**_wide_data].Field[**_wide_vtable]", "value", "dfc-generated"] + - ["", "", True, "_IO_no_init", "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)", "", "Argument[1]", "Argument[*0].Field[*_flags]", "taint", "dfc-generated"] + - ["", "", True, "_IO_no_init", "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)", "", "Argument[2]", "Argument[*0].Field[*_mode]", "value", "dfc-generated"] + - ["", "", True, "_IO_no_init", "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)", "", "Argument[3]", "Argument[*0].Field[*_wide_data]", "value", "dfc-generated"] + - ["", "", True, "_IO_no_init", "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)", "", "Argument[4]", "Argument[*0].Field[**_wide_data].Field[*_wide_vtable]", "value", "dfc-generated"] + - ["", "", True, "_IO_old_init", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[*_flags]", "taint", "dfc-generated"] + - ["", "", True, "_IO_peekc_locked", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_putc", "(int,FILE *)", "", "Argument[0]", "Argument[*1].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_seekmark", "(FILE *,_IO_marker *,int)", "", "Argument[*1].Field[*_pos]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_seekmark", "(FILE *,_IO_marker *,int)", "", "Argument[*1].Field[*_pos]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_seekwmark", "(FILE *,_IO_marker *,int)", "", "Argument[*1].Field[*_pos]", "Argument[*0].Field[**_wide_data].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_seekwmark", "(FILE *,_IO_marker *,int)", "", "Argument[*1].Field[*_pos]", "Argument[*0].Field[**_wide_data].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "_IO_setb", "(FILE *,char *,char *,int)", "", "Argument[*1]", "Argument[*0].Field[**_IO_buf_base]", "value", "dfc-generated"] + - ["", "", True, "_IO_setb", "(FILE *,char *,char *,int)", "", "Argument[*2]", "Argument[*0].Field[**_IO_buf_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_setb", "(FILE *,char *,char *,int)", "", "Argument[1]", "Argument[*0].Field[*_IO_buf_base]", "value", "dfc-generated"] + - ["", "", True, "_IO_setb", "(FILE *,char *,char *,int)", "", "Argument[2]", "Argument[*0].Field[*_IO_buf_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_sputbackc", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_sputbackwc", "(FILE *,wint_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_str_count", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_str_init_readonly", "(_IO_strfile *,const char *,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_str_init_readonly", "(_IO_strfile *,const char *,int)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_str_init_static", "(_IO_strfile *,char *,int,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_str_init_static", "(_IO_strfile *,char *,int,char *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_str_init_static_internal", "(_IO_strfile *,_IO_strfile_ *,char *,size_t,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_str_init_static_internal", "(_IO_strfile *,_IO_strfile_ *,char *,size_t,char *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_str_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**_IO_read_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_str_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_str_overflow", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_str_pbackfail", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**_IO_read_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_str_pbackfail", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_str_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_str_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_str_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_str_underflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_sungetc", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_sungetwc", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_vscanf", "(const char *,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_vsscanf", "(const char *,const char *,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_IO_wdefault_pbackfail", "(FILE *,wint_t)", "", "Argument[1]", "Argument[*0].Field[**_wide_data].Field[**_IO_read_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_wdefault_pbackfail", "(FILE *,wint_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_wdefault_uflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsgetn", "(FILE *,void *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wdefault_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_overflow", "(FILE *,wint_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_overflow", "(FILE *,wint_t)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_IO_wfile_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_IO_wfile_underflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_underflow_mmap", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wfile_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wmarker_delta", "(_IO_marker *)", "", "Argument[*0].Field[*_pos]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_IO_wsetb", "(FILE *,wchar_t *,wchar_t *,int)", "", "Argument[*1]", "Argument[*0].Field[**_wide_data].Field[**_IO_buf_base]", "value", "dfc-generated"] + - ["", "", True, "_IO_wsetb", "(FILE *,wchar_t *,wchar_t *,int)", "", "Argument[*2]", "Argument[*0].Field[**_wide_data].Field[**_IO_buf_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_wsetb", "(FILE *,wchar_t *,wchar_t *,int)", "", "Argument[1]", "Argument[*0].Field[**_wide_data].Field[*_IO_buf_base]", "value", "dfc-generated"] + - ["", "", True, "_IO_wsetb", "(FILE *,wchar_t *,wchar_t *,int)", "", "Argument[2]", "Argument[*0].Field[**_wide_data].Field[*_IO_buf_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_count", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wstr_init_static", "(FILE *,wchar_t *,size_t,wchar_t *)", "", "Argument[*3]", "Argument[*0].Field[**_wide_data].Field[**_IO_read_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_init_static", "(FILE *,wchar_t *,size_t,wchar_t *)", "", "Argument[*3]", "Argument[*0].Field[**_wide_data].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_init_static", "(FILE *,wchar_t *,size_t,wchar_t *)", "", "Argument[3]", "Argument[*0].Field[**_wide_data].Field[*_IO_read_end]", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_init_static", "(FILE *,wchar_t *,size_t,wchar_t *)", "", "Argument[3]", "Argument[*0].Field[**_wide_data].Field[*_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_overflow", "(FILE *,wint_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wstr_overflow", "(FILE *,wint_t)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_IO_wstr_pbackfail", "(FILE *,wint_t)", "", "Argument[1]", "Argument[*0].Field[**_wide_data].Field[**_IO_read_ptr]", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_pbackfail", "(FILE *,wint_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_IO_wstr_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_IO_wstr_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_IO_wstr_seekoff", "(FILE *,off64_t,int,int)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_IO_wstr_underflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__IO_vfscanf", "(FILE *,const char *,va_list,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "____strtod_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "____strtod_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____strtod_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____strtod_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "____strtod_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "____strtod_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____strtof128_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "____strtof128_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____strtof128_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____strtof128_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "____strtof128_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "____strtof128_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____strtof_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____strtof_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "____strtof_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "____strtof_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "____strtol_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____strtol_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____strtol_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "____strtol_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "____strtol_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____strtol_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____strtold_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____strtold_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "____strtold_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "____strtoul_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____strtoul_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____strtoul_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "____strtoul_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "____strtoul_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____strtoul_l_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____wcstod_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "____wcstod_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____wcstod_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "____wcstod_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "____wcstod_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____wcstof128_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "____wcstof128_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____wcstof128_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "____wcstof128_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "____wcstof128_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "____wcstof_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____wcstof_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "____wcstof_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "____wcstof_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "____wcstol_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____wcstol_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____wcstol_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "____wcstol_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "____wcstol_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____wcstol_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____wcstold_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____wcstold_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "____wcstold_l_internal", "(const wchar_t *,wchar_t **,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "____wcstoul_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "____wcstoul_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____wcstoul_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "____wcstoul_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "____wcstoul_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "____wcstoul_l_internal", "(const wchar_t *,wchar_t **,int,int,bool,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___aio_suspend_time64", "(const aiocb *const[],int,const timespec *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "___asprintf", "(char **,const char *,...)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___asprintf_chk", "(char **,int,const char *,...)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___cbaud_to_speed", "(tcflag_t,speed_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___cbaud_to_speed", "(tcflag_t,speed_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "___dn_skipname", "(const unsigned char *,const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___gai_suspend_time64", "(const gaicb *const[],int,const timespec *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_ntop", "(const unsigned char *,char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_pack", "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_skip", "(const unsigned char **,const unsigned char *)", "", "Argument[**0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_skip", "(const unsigned char **,const unsigned char *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_skip", "(const unsigned char **,const unsigned char *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_skip", "(const unsigned char **,const unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[*0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[*2]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___ns_name_unpack", "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___pthread_barrier_init", "(pthread_barrier_t *,const pthread_barrierattr_t *,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*count]", "value", "dfc-generated"] + - ["", "", True, "___pthread_getspecific", "(pthread_key_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "___pthread_getspecific", "(pthread_key_t)", "", "Argument[0]", "ReturnValue[**]", "taint", "df-generated"] + - ["", "", True, "___pthread_getspecific", "(pthread_key_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "___pthread_mutex_init", "(pthread_mutex_t *,const pthread_mutexattr_t *)", "", "Argument[*1].Field[*mutexkind]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__lock]", "taint", "dfc-generated"] + - ["", "", True, "___pthread_mutexattr_settype", "(pthread_mutexattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*mutexkind]", "taint", "dfc-generated"] + - ["", "", True, "___pthread_rwlock_init", "(pthread_rwlock_t *,const pthread_rwlockattr_t *)", "", "Argument[*1].Field[*lockkind]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__flags]", "value", "dfc-generated"] + - ["", "", True, "___pthread_rwlock_init", "(pthread_rwlock_t *,const pthread_rwlockattr_t *)", "", "Argument[*1].Field[*pshared]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__shared]", "taint", "dfc-generated"] + - ["", "", True, "___res_mkquery", "(int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int)", "", "Argument[7]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_nmkquery", "(res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int)", "", "Argument[8]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_nquery", "(res_state,const char *,int,int,unsigned char *,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "___res_nquery", "(res_state,const char *,int,int,unsigned char *,int)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_nquerydomain", "(res_state,const char *,const char *,int,int,unsigned char *,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "___res_nquerydomain", "(res_state,const char *,const char *,int,int,unsigned char *,int)", "", "Argument[5]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_nsearch", "(res_state,const char *,int,int,unsigned char *,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "___res_nsearch", "(res_state,const char *,int,int,unsigned char *,int)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_nsend", "(res_state,const unsigned char *,int,unsigned char *,int)", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "___res_nsend", "(res_state,const unsigned char *,int,unsigned char *,int)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___res_nsend", "(res_state,const unsigned char *,int,unsigned char *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___res_nsend", "(res_state,const unsigned char *,int,unsigned char *,int)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_query", "(const char *,int,int,unsigned char *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___res_query", "(const char *,int,int,unsigned char *,int)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_querydomain", "(const char *,const char *,int,int,unsigned char *,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "___res_querydomain", "(const char *,const char *,int,int,unsigned char *,int)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_search", "(const char *,int,int,unsigned char *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___res_search", "(const char *,int,int,unsigned char *,int)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___res_send", "(const unsigned char *,int,unsigned char *,int)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "___res_send", "(const unsigned char *,int,unsigned char *,int)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "___res_send", "(const unsigned char *,int,unsigned char *,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "___res_send", "(const unsigned char *,int,unsigned char *,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___snprintf_chk", "(char *,size_t,int,size_t,const char *,...)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___snprintf_chk", "(char *,size_t,int,size_t,const char *,...)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___strfmon_l", "(char *,size_t,locale_t,const char *,...)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___strfmon_l", "(char *,size_t,locale_t,const char *,...)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___strfmon_l", "(char *,size_t,locale_t,const char *,...)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___tls_get_addr", "(tls_index *)", "", "Argument[*0].Field[*ti_offset]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "___vfprintf_chk", "(FILE *,int,const char *,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___vfscanf", "(FILE *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "___vprintf_chk", "(int,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "___vsnprintf", "(char *,size_t,const char *,va_list)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___vsnprintf", "(char *,size_t,const char *,va_list)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___vsnprintf", "(char *,size_t,const char *,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "___vsnprintf_chk", "(char *,size_t,int,size_t,const char *,va_list)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___vsnprintf_chk", "(char *,size_t,int,size_t,const char *,va_list)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "___vsnprintf_chk", "(char *,size_t,int,size_t,const char *,va_list)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "___vsprintf_chk", "(char *,int,size_t,const char *,va_list)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__acos", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__acosf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acosf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acosf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__acosh", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acosh", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__acoshf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acoshf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acoshf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acoshf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__acoshl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acoshl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__acosl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__acospi", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acospif128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acospif", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__acospil", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__addmntent", "(FILE *,const mntent *)", "", "Argument[*1].Field[*mnt_freq]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__addmntent", "(FILE *,const mntent *)", "", "Argument[*1].Field[*mnt_passno]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__adjtime", "(const timeval *,timeval *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__aio_enqueue_request", "(aiocb_union *,int)", "", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*aio_reqprio]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__abs_prio]", "taint", "dfc-generated"] + - ["", "", True, "__aio_enqueue_request", "(aiocb_union *,int)", "", "Argument[*0]", "ReturnValue[*].Field[**aiocbp]", "value", "dfc-generated"] + - ["", "", True, "__aio_enqueue_request", "(aiocb_union *,int)", "", "Argument[0]", "ReturnValue[*].Field[*aiocbp]", "value", "dfc-generated"] + - ["", "", True, "__aio_enqueue_request", "(aiocb_union *,int)", "", "Argument[1]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*aio_lio_opcode]", "value", "dfc-generated"] + - ["", "", True, "__aio_error", "(const aiocb *)", "", "Argument[*0].Field[*__error_code]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__aio_fsync", "(int,aiocb *)", "", "Argument[*1].Union[*(unnamed class/struct/union)].Field[*aio_reqprio]", "Argument[*1].Union[*(unnamed class/struct/union)].Field[*__abs_prio]", "taint", "dfc-generated"] + - ["", "", True, "__aio_read", "(aiocb *)", "", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*aio_reqprio]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__abs_prio]", "taint", "dfc-generated"] + - ["", "", True, "__aio_remove_request", "(requestlist *,requestlist *,int)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__aio_return", "(aiocb *)", "", "Argument[*0].Field[*__return_value]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__aio_write", "(aiocb *)", "", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*aio_reqprio]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__abs_prio]", "taint", "dfc-generated"] + - ["", "", True, "__alloc_dir", "(int,bool,int,const stat64 *)", "", "Argument[*3].Field[*st_blksize]", "ReturnValue[*].Field[*allocation]", "value", "dfc-generated"] + - ["", "", True, "__alloc_dir", "(int,bool,int,const stat64 *)", "", "Argument[0]", "ReturnValue[*].Field[*fd]", "value", "dfc-generated"] + - ["", "", True, "__allocate_shadow_stack", "(size_t,shadow_stack_size_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__alphasort64", "(const dirent64 **,const dirent64 **)", "", "Argument[**0].Field[*d_name]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__alphasort64", "(const dirent64 **,const dirent64 **)", "", "Argument[**1].Field[*d_name]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__alphasort64", "(const dirent64 **,const dirent64 **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__alphasort64", "(const dirent64 **,const dirent64 **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__arc4random_buf", "(void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__arc4random_uniform", "(__uint32_t,uint32_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__argp_error_internal", "(const argp_state *,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__argp_failure_internal", "(const argp_state *,int,int,const char *,va_list,unsigned int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_ensure", "(argp_fmtstream *,argp_fmtstream_t,size_t)", "", "Argument[1]", "Argument[*0].Field[**end]", "taint", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_ensure", "(argp_fmtstream *,argp_fmtstream_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*end]", "taint", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_point", "(argp_fmtstream_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__argp_fmtstream_putc", "(argp_fmtstream_t,int)", "", "Argument[1]", "Argument[*0].Field[**p]", "value", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_puts", "(argp_fmtstream_t,const char *)", "", "Argument[*1]", "Argument[*0].Field[**p]", "value", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_puts", "(argp_fmtstream_t,const char *)", "", "Argument[1]", "Argument[*0].Field[**p]", "taint", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_set_lmargin", "(argp_fmtstream_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*lmargin]", "value", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_set_rmargin", "(argp_fmtstream_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*rmargin]", "value", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_set_wmargin", "(argp_fmtstream_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*wmargin]", "value", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_write", "(argp_fmtstream_t,const char *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**p]", "value", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_write", "(argp_fmtstream_t,const char *,size_t)", "", "Argument[1]", "Argument[*0].Field[**p]", "taint", "dfc-generated"] + - ["", "", True, "__argp_fmtstream_write", "(argp_fmtstream_t,const char *,size_t)", "", "Argument[2]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__argp_make_fmtstream", "(FILE *,size_t,size_t,ssize_t)", "", "Argument[*0]", "ReturnValue[*].Field[**stream]", "value", "dfc-generated"] + - ["", "", True, "__argp_make_fmtstream", "(FILE *,size_t,size_t,ssize_t)", "", "Argument[0]", "ReturnValue[*].Field[*stream]", "value", "dfc-generated"] + - ["", "", True, "__argp_make_fmtstream", "(FILE *,size_t,size_t,ssize_t)", "", "Argument[1]", "ReturnValue[*].Field[*lmargin]", "value", "dfc-generated"] + - ["", "", True, "__argp_make_fmtstream", "(FILE *,size_t,size_t,ssize_t)", "", "Argument[2]", "ReturnValue[*].Field[*rmargin]", "value", "dfc-generated"] + - ["", "", True, "__argp_make_fmtstream", "(FILE *,size_t,size_t,ssize_t)", "", "Argument[3]", "ReturnValue[*].Field[*wmargin]", "value", "dfc-generated"] + - ["", "", True, "__argz_add", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)", "", "Argument[*2]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "__argz_add", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add_sep", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add_sep", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add_sep", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_add_sep", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[*2]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_append", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[3]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_create", "(char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_create_sep", "(const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_extract", "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)", "", "Argument[*0]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__argz_extract", "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_extract", "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)", "", "Argument[0]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_extract", "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)", "", "Argument[0]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__argz_extract", "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_extract", "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[*3]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[*3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[3]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_insert", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__argz_next", "(const char *,size_t,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__argz_next", "(const char *,size_t,const char *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__argz_next", "(const char *,size_t,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__argz_next", "(const char *,size_t,const char *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__argz_next", "(const char *,size_t,const char *)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__argz_replace", "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__argz_stringify", "(char *,size_t,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__argz_stringify", "(char *,size_t,int)", "", "Argument[2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__asctime_r", "(const tm *,char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__asctime_r", "(const tm *,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__asctime_r", "(const tm *,char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asctime_r", "(const tm *,char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__asin", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__asinf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinh", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinhf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__asinhf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__asinhf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinhf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinhl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__asinpi", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__asinpif128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__asinpif", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__asinpil", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan2f128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan2f128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2f", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2f", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan2f", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2l", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan2pif128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2pif128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2pif", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan2pif", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atan_avx", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan_fma4", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atan_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanh", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanhf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanhf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanhl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__atanpif128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__atanpif", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__b64_ntop", "(const u_char *,const unsigned char *,size_t,char *,size_t)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__b64_ntop", "(const u_char *,const unsigned char *,size_t,char *,size_t)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__b64_pton", "(const char *,u_char *,unsigned char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__backtrace_symbols", "(void *const *,int)", "", "Argument[**0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__backtrace_symbols", "(void *const *,int)", "", "Argument[*0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__backtrace_symbols", "(void *const *,int)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__backtrace_symbols", "(void *const *,int)", "", "Argument[1]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__backtrace_symbols", "(void *const *,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__basename", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__basename", "(const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__basename", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__bind_textdomain_codeset", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__bind_textdomain_codeset", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__bindtextdomain", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__bindtextdomain", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__branred", "(double,double *,double *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__branred", "(double,double *,double *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__branred", "(double,double *,double *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__btowc", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__canonicalize", "(double *,const double *)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__canonicalize", "(double *,const double *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__canonicalizef128", "(_Float128 *,const _Float128 *)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__canonicalizef128", "(_Float128 *,const _Float128 *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__canonicalizef", "(float *,const float *)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__canonicalizef", "(float *,const float *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__canonicalizel", "(long double *,const long double *)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__canonicalizel", "(long double *,const long double *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__cbrt", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cbrtf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cbrtf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cbrtl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ceil_c", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ceilf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__ceilf_c", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cfgetibaud", "(const termios *)", "", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cfgetispeed", "(const termios *)", "", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cfgetobaud", "(const termios *)", "", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cfgetospeed", "(const termios *)", "", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cfsetbaud", "(termios *,baud_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__cfsetibaud", "(termios *,baud_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__cfsetispeed", "(termios *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__cfsetobaud", "(termios *,baud_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__cfsetospeed", "(termios *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__cfsetspeed", "(termios *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__clock_getcpuclockid", "(pid_t,clockid_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__cmsg_nxthdr", "(msghdr *,cmsghdr *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__cmsg_nxthdr", "(msghdr *,cmsghdr *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__cmsg_nxthdr", "(msghdr *,cmsghdr *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cmsg_nxthdr", "(msghdr *,cmsghdr *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__collidx_table_lookup", "(const char *,uint32_t)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__collidx_table_lookup", "(const char *,uint32_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__collidx_table_lookup", "(const char *,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__collseq_table_lookup", "(const char *,uint32_t)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__collseq_table_lookup", "(const char *,uint32_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__collseq_table_lookup", "(const char *,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[*0].Field[*re_nsub]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[*1]", "Argument[*3].Field[*rm_eo]", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[*1]", "Argument[*3].Field[*rm_so]", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[1]", "Argument[*3].Field[*rm_eo]", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[1]", "Argument[*3].Field[*rm_so]", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__compat_regexec", "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__compoundn", "(double,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__compoundnf128", "(_Float128,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__compoundnf128", "(_Float128,long long)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__compoundnf", "(float,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__compoundnl", "(long double,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__compoundnl", "(long double,long long)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[*3]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[*3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[0]", "Argument[**4]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[0]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[3]", "Argument[**4]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "__copy_grp", "(const group,const size_t,group *,char *,char **)", "", "Argument[3]", "Argument[*4]", "taint", "df-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[*3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[*3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixmb", "(const char *,const char *,const char *,const char *)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[*3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[*3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__correctly_grouped_prefixwc", "(const wchar_t *,const wchar_t *,wchar_t,const char *)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__cos_avx", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cos_fma4", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cos_fma", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cos_sse2", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cosf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cosf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cosf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cosf_fma", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cosf_sse2", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cosh", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__cosh", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__coshf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__coshf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__coshf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__coshl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__coshl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__cosl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__cospif", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__create_ib_request", "(const_nis_name,unsigned int)", "", "Argument[*0]", "ReturnValue[*].Field[**ibr_name]", "value", "dfc-generated"] + - ["", "", True, "__create_ib_request", "(const_nis_name,unsigned int)", "", "Argument[0]", "ReturnValue[*].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__create_ib_request", "(const_nis_name,unsigned int)", "", "Argument[1]", "ReturnValue[*].Field[*ibr_flags]", "value", "dfc-generated"] + - ["", "", True, "__current_locale_name", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__daddl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__daddl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dcgettext", "(const char *,const char *,int)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dcgettext", "(const char *,const char *,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dcgettext", "(const char *,const char *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dcgettext", "(const char *,const char *,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__dcigettext", "(const char *,const char *,const char *,int,unsigned long,int)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dcigettext", "(const char *,const char *,const char *,int,unsigned long,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dcigettext", "(const char *,const char *,const char *,int,unsigned long,int)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dcigettext", "(const char *,const char *,const char *,int,unsigned long,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dcigettext", "(const char *,const char *,const char *,int,unsigned long,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__dcigettext", "(const char *,const char *,const char *,int,unsigned long,int)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dcngettext", "(const char *,const char *,const char *,unsigned long,int)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dcngettext", "(const char *,const char *,const char *,unsigned long,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dcngettext", "(const char *,const char *,const char *,unsigned long,int)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dcngettext", "(const char *,const char *,const char *,unsigned long,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dcngettext", "(const char *,const char *,const char *,unsigned long,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__dcngettext", "(const char *,const char *,const char *,unsigned long,int)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ddivl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__deadline_from_timeval", "(deadline_current_time,timeval)", "", "Argument[0].Field[*current].Field[*tv_nsec]", "ReturnValue.Field[*absolute].Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "__deadline_from_timeval", "(deadline_current_time,timeval)", "", "Argument[0].Field[*current].Field[*tv_sec]", "ReturnValue.Field[*absolute].Field[*tv_sec]", "taint", "dfc-generated"] + - ["", "", True, "__deadline_from_timeval", "(deadline_current_time,timeval)", "", "Argument[1].Field[*tv_sec]", "ReturnValue.Field[*absolute].Field[*tv_sec]", "taint", "dfc-generated"] + - ["", "", True, "__deadline_from_timeval", "(deadline_current_time,timeval)", "", "Argument[1].Field[*tv_usec]", "ReturnValue.Field[*absolute].Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "__deadline_to_ms", "(deadline_current_time,deadline)", "", "Argument[0].Field[*current].Field[*tv_nsec]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__deadline_to_ms", "(deadline_current_time,deadline)", "", "Argument[0].Field[*current].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__deadline_to_ms", "(deadline_current_time,deadline)", "", "Argument[1].Field[*absolute].Field[*tv_nsec]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__deadline_to_ms", "(deadline_current_time,deadline)", "", "Argument[1].Field[*absolute].Field[*tv_sec]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dfmal", "(long double,long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dfmal", "(long double,long double,long double)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dgettext", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dgettext", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dgettext", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dgettext", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__difftime", "(time_t,time_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__difftime", "(time_t,time_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dirfd", "(DIR *)", "", "Argument[*0].Field[*fd]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dlclose", "(void *)", "", "Argument[0]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "__dmull", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dngettext", "(const char *,const char *,const char *,unsigned long)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dngettext", "(const char *,const char *,const char *,unsigned long)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dngettext", "(const char *,const char *,const char *,unsigned long)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__dngettext", "(const char *,const char *,const char *,unsigned long)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__dngettext", "(const char *,const char *,const char *,unsigned long)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__dngettext", "(const char *,const char *,const char *,unsigned long)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__drand48_iterate", "(unsigned short[3],drand48_data *)", "", "Argument[*1].Field[*__a]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__drand48_iterate", "(unsigned short[3],drand48_data *)", "", "Argument[*1].Field[*__c]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__drand48_iterate", "(unsigned short[3],drand48_data *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__dsubl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__dsubl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__duplocale", "(locale_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__duplocale", "(locale_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ecvt", "(double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__ecvt", "(double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__ecvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__ecvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__ecvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__ecvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__erand48_r", "(unsigned short[3],drand48_data *,double *)", "", "Argument[*1].Field[*__a]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__erand48_r", "(unsigned short[3],drand48_data *,double *)", "", "Argument[*1].Field[*__c]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__erand48_r", "(unsigned short[3],drand48_data *,double *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__erf", "(double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erf", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfc", "(double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfc", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfcf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfcf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfcf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfcl", "(long double)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfcl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erff128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erff128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erff", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfl", "(long double)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__erfl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__error_at_line_internal", "(int,int,const char *,unsigned int,const char *,va_list,unsigned int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__error_internal", "(int,int,const char *,va_list,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__exp10", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp10_compat", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__exp10f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp10f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp10f_compat", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__exp10l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__exp10m1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp10m1f_fma", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp10m1f_sse2", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2_compat", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__exp2f128", "(_Float128)", "", "Argument[0]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__exp2f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2f_compat", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__exp2f_fma", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2f_sse2", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__exp2m1f128", "(_Float128)", "", "Argument[0]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__exp2m1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2m1f_fma", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp2m1f_sse2", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__exp_compat", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__expf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__expf_compat", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__expf_fma", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__expf_sse2", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__expl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__expm1_fma", "(double)", "", "Argument[0]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__expm1_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__expm1_sse2", "(double)", "", "Argument[0]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__expm1_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__expm1f128", "(_Float128,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__expm1f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__f32addf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32addf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32divf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32mulf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32subf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32subf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xaddf64", "(_Float64,_Float64)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xaddf64", "(_Float64,_Float64)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xdivf64", "(_Float64,_Float64)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xdivf64", "(_Float64,_Float64)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xmulf64", "(_Float64,_Float64)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xmulf64", "(_Float64,_Float64)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xsubf64", "(_Float64,_Float64)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f32xsubf64", "(_Float64,_Float64)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64addf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64addf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64divf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64mulf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64subf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64subf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xaddf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xaddf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xdivf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xfmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xfmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xmulf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xsubf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__f64xsubf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fadd", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fadd", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__faddl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__faddl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fbufsize", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__fcvt", "(double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__fcvt", "(double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__fcvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__fcvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__fcvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__fcvt_r", "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__fd_to_filename", "(int,fd_to_filename *)", "", "Argument[*1].Field[*buffer]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fdelt_chk", "(long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdim", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdim", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdimf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdimf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdimf", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdimf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdiml", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdiml", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdiv", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdivl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fdopendir", "(int)", "", "Argument[0]", "ReturnValue[*].Field[*fd]", "value", "dfc-generated"] + - ["", "", True, "__feof_unlocked", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ferror_unlocked", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ffma", "(double,double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ffma", "(double,double,double)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ffmal", "(long double,long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ffmal", "(long double,long double,long double)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fgetgrent_r", "(FILE *,group *,char *,size_t,group **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__fgetgrent_r", "(FILE *,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__fgetpwent_r", "(FILE *,passwd *,char *,size_t,passwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__fgetpwent_r", "(FILE *,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__fgets_chk", "(char *,size_t,int,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fgets_chk", "(char *,size_t,int,FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fgets_unlocked", "(char *,char *__restrict__,int,FILE *,FILE *__restrict__)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fgets_unlocked", "(char *,char *__restrict__,int,FILE *,FILE *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fgets_unlocked_chk", "(char *,size_t,int,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fgets_unlocked_chk", "(char *,size_t,int,FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fgetsgent_r", "(FILE *,sgrp *,char *,size_t,sgrp **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__fgetsgent_r", "(FILE *,sgrp *,char *,size_t,sgrp **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__fgetspent_r", "(FILE *,spwd *,char *,size_t,spwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__fgetspent_r", "(FILE *,spwd *,char *,size_t,spwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__fgetws_chk", "(wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fgetws_chk", "(wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fgetws_unlocked_chk", "(wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fgetws_unlocked_chk", "(wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__file_change_detection_for_stat", "(file_change_detection *,const stat64 *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__fileno", "(FILE *)", "", "Argument[*0].Field[*_fileno]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__find_specwc", "(const unsigned int *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__find_specwc", "(const unsigned int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__find_specwc", "(const unsigned int *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__finite", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__finitef128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__finitef", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__flbf", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__floor_c", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__floorf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__floorf_c", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fma_sse2", "(double,double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fma_sse2", "(double,double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fma_sse2", "(double,double,double)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaf128", "(_Float128,_Float128,_Float128)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaf_sse2", "(float,float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaf_sse2", "(float,float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaf_sse2", "(float,float,float)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmal", "(long double,long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmal", "(long double,long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmal", "(long double,long double,long double)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmaxf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_num", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_num", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_numf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_numf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_numf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_numf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_numl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_mag_numl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_magf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_magf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_magf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_magf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_magl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_magl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_num", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_num", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_numf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_numf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_numf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_numf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_numl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximum_numl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximumf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximumf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximumf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximumf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximuml", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaximuml", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmag", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmag", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmagf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmagf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmagf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmagf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmagl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmaxmagl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_num", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_num", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_numf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_numf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_numf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_numf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_numl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_mag_numl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_magf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_magf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_magf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_magf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_magl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_magl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_num", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_num", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_numf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_numf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_numf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_numf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_numl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimum_numl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimumf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimumf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimumf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimumf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimuml", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminimuml", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmag", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmag", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmagf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmagf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmagf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmagf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmagl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fminmagl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmod", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmod", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmod_compat", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmod_compatf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmodf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__fmodf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__fmodf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmodf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmodl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fmul", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fmull", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[**0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[**0]", "Argument[*2].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[**1]", "Argument[*2].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[*0]", "Argument[*2].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[*1]", "Argument[*2].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[0]", "Argument[*2].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__follow_path", "(char **,char **,ib_request *,dir_binding *)", "", "Argument[1]", "Argument[*2].Field[**ibr_name]", "taint", "dfc-generated"] + - ["", "", True, "__fopen_maybe_mmap", "(FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__fopen_maybe_mmap", "(FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fp_nquery", "(const unsigned char *,int,FILE *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__fp_nquery", "(const unsigned char *,int,FILE *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__fp_query", "(const unsigned char *,FILE *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__fp_query", "(const unsigned char *,FILE *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__fpending", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__fread_chk", "(void *__restrict__,size_t,size_t,size_t,FILE *__restrict__)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fread_chk", "(void *__restrict__,size_t,size_t,size_t,FILE *__restrict__)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fread_unlocked", "(void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fread_unlocked", "(void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__fread_unlocked_chk", "(void *__restrict__,size_t,size_t,size_t,FILE *__restrict__)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fread_unlocked_chk", "(void *__restrict__,size_t,size_t,size_t,FILE *__restrict__)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__frexp", "(double,int *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__frexp", "(double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__frexpf128", "(_Float128,int *)", "", "Argument[0].Field[*msw]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__frexpf128", "(_Float128,int *)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__frexpf128", "(_Float128,int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__frexpf128", "(_Float128,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__frexpf", "(float,int *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__frexpf", "(float,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__frexpf", "(float,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__frexpl", "(long double,int *)", "", "Argument[0].Field[*sign_exponent]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__frexpl", "(long double,int *)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue.Field[*sign_exponent]", "taint", "dfc-generated"] + - ["", "", True, "__frexpl", "(long double,int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__frexpl", "(long double,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__fromfp", "(double,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfp", "(double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpf128", "(_Float128,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpf", "(float,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpf", "(float,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpl", "(long double,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpl", "(long double,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpl", "(long double,int,unsigned int)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpl", "(long double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpx", "(double,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpx", "(double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxf128", "(_Float128,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxf", "(float,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxf", "(float,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxl", "(long double,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxl", "(long double,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxl", "(long double,int,unsigned int)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fromfpxl", "(long double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fstatvfs64", "(int,statvfs64 *)", "", "Argument[*1].Field[*f_ffree]", "Argument[*1].Field[*f_favail]", "value", "dfc-generated"] + - ["", "", True, "__fsub", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fsub", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fsubl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__fsubl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ftello", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__futimens", "(int,const timespec[2])", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__fwriting", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gai_enqueue_request", "(gaicb *)", "", "Argument[*0]", "ReturnValue[*].Field[**gaicbp]", "value", "dfc-generated"] + - ["", "", True, "__gai_enqueue_request", "(gaicb *)", "", "Argument[0]", "ReturnValue[*].Field[*gaicbp]", "value", "dfc-generated"] + - ["", "", True, "__gai_error", "(gaicb *)", "", "Argument[*0].Field[*__return]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gamma_product", "(double,double,int,double *)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_product", "(double,double,int,double *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gamma_product", "(double,double,int,double *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_product", "(double,double,int,double *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gamma_productf128", "(_Float128,_Float128,int,_Float128 *)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_productf128", "(_Float128,_Float128,int,_Float128 *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gamma_productf128", "(_Float128,_Float128,int,_Float128 *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_productf128", "(_Float128,_Float128,int,_Float128 *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_productl", "(long double,long double,int,long double *)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_productl", "(long double,long double,int,long double *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gamma_productl", "(long double,long double,int,long double *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gamma_productl", "(long double,long double,int,long double *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[**3]", "Argument[*0].Field[*__data].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[*0].Field[*__data].Field[**__outbuf]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[*0].Field[*__data].Field[*__outbuf]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[*3]", "Argument[*0].Field[*__data].Field[*__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[*4]", "Argument[*0].Field[*__data].Field[**__outbufend]", "value", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[3]", "Argument[*0].Field[*__data].Field[*__outbuf]", "taint", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv", "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)", "", "Argument[4]", "Argument[*0].Field[*__data].Field[*__outbufend]", "value", "dfc-generated"] + - ["", "", True, "__gconv_alias_compare", "(const void *,const void *)", "", "Argument[*0].Field[**fromname]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_alias_compare", "(const void *,const void *)", "", "Argument[*0].Field[*fromname]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_alias_compare", "(const void *,const void *)", "", "Argument[*1].Field[**fromname]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_alias_compare", "(const void *,const void *)", "", "Argument[*1].Field[*fromname]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_btwoc_ascii", "(__gconv_step *,unsigned char)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gconv_close_transform", "(__gconv_step *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_close_transform", "(__gconv_step *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias_cache", "(const char *,const char *,int *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias_cache", "(const char *,const char *,int *)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias_cache", "(const char *,const char *,int *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_compare_alias_cache", "(const char *,const char *,int *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**fromcode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[*1]", "ReturnValue[*].Field[**fromcode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[*2]", "Argument[*0].Field[**tocode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[*2]", "ReturnValue[*].Field[**tocode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[1]", "Argument[*0].Field[**fromcode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[1]", "ReturnValue[*].Field[**fromcode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[2]", "Argument[*0].Field[**tocode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_create_spec", "(gconv_spec *,const char *,const char *)", "", "Argument[2]", "ReturnValue[*].Field[**tocode]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_shlib", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__gconv_find_shlib", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_shlib", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[*0]", "Argument[**2].Field[**__to_name]", "value", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[*1]", "Argument[**2].Field[**__from_name]", "value", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[*1]", "Argument[**2].Field[**__to_name]", "value", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[*3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[0]", "Argument[**2].Field[**__to_name]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_find_transform", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_lookup_cache", "(const char *,const char *,__gconv_step **,size_t *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_open", "(gconv_spec *,__gconv_t *,int)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__gconv_transform_ascii_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ascii_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ascii_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ascii_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ascii", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs2reverse", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_ucs4le", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_internal_utf8", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs2reverse_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4le_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__gconv_transform_ucs4le_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4le_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4le_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_ucs4le_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transform_utf8_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_utf8_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_utf8_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "__gconv_transform_utf8_internal", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transliterate", "(__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transliterate", "(__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transliterate", "(__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transliterate", "(__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gconv_transliterate", "(__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__gcvt", "(double,int,char *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gcvt", "(double,int,char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__gcvt", "(double,int,char *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gcvt", "(double,int,char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__gcvt", "(double,int,char *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__get_errlist", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__get_errname", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__get_errname", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getaddrinfo_a", "(int,gaicb *[],int,sigevent *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__getaddrinfo_a", "(int,gaicb *[],int,sigevent *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__getaliasbyname_r", "(const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getaliasbyname_r", "(const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getaliasbyname_r", "(const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getaliasbyname_r", "(const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getaliasent_r", "(aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getaliasent_r", "(aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getc_unlocked", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__getcwd", "(char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__getcwd", "(char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd", "(char *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__getcwd", "(char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd", "(char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd", "(char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd_chk", "(char *,size_t,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__getcwd_chk", "(char *,size_t,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd_chk", "(char *,size_t,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__getcwd_chk", "(char *,size_t,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd_chk", "(char *,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getcwd_chk", "(char *,size_t,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getdate_r", "(const char *,tm *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getgrent_r", "(group *,char *,size_t,group **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getgrent_r", "(group *,char *,size_t,group **)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,group **)", "", "Argument[*1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getgrnam_r", "(const char *,group *,char *,size_t,group **)", "", "Argument[*1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__getgrnam_r", "(const char *,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getgrnam_r", "(const char *,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getgrnam_r", "(const char *,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyaddr2_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *)", "", "Argument[*3]", "Argument[**6]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyaddr2_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *)", "", "Argument[3]", "Argument[**6]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyaddr2_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyaddr2_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *)", "", "Argument[3]", "Argument[*6]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyaddr2_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyaddr_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[*3]", "Argument[**6]", "value", "df-generated"] + - ["", "", True, "__gethostbyaddr_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[*3]", "Argument[**6]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyaddr_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[**6]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyaddr_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyaddr_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[*6]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyaddr_r", "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[**5]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname2_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname3_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **)", "", "Argument[*2]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname3_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname3_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname3_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname3_r", "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname_r", "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[**4]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname_r", "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[*1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__gethostbyname_r", "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname_r", "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__gethostbyname_r", "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__gethostbyname_r", "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__gethostent_r", "(hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__gethostent_r", "(hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getline", "(char **,size_t *,FILE *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__getline", "(char **,size_t *,FILE *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__getline", "(char **,size_t *,FILE *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getline", "(char **,size_t *,FILE *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getline", "(char **,size_t *,FILE *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getmntent_r", "(FILE *,mntent *,char *,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__getmntent_r", "(FILE *,mntent *,char *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__getnetbyaddr_r", "(uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "__getnetbyaddr_r", "(uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "__getnetbyaddr_r", "(uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__getnetbyaddr_r", "(uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__getnetbyaddr_r", "(uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__getnetbyname_r", "(const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getnetbyname_r", "(const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getnetbyname_r", "(const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getnetbyname_r", "(const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getnetbyname_r", "(const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__getnetent_r", "(netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getnetent_r", "(netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getpayload", "(const double *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__getpayload", "(const double *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadf128", "(const _Float128 *)", "", "Argument[*0].Field[*lsw]", "ReturnValue.Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadf128", "(const _Float128 *)", "", "Argument[*0].Field[*lsw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadf128", "(const _Float128 *)", "", "Argument[*0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadf", "(const float *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadf", "(const float *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadl", "(const long double *)", "", "Argument[*0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__getpayloadl", "(const long double *)", "", "Argument[*0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__getprotobyname_r", "(const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getprotobyname_r", "(const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getprotobyname_r", "(const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getprotobyname_r", "(const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getprotobynumber_r", "(int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getprotobynumber_r", "(int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getprotobynumber_r", "(int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getprotobynumber_r", "(int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getprotoent_r", "(protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getprotoent_r", "(protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getpwent_r", "(passwd *,char *,size_t,passwd **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getpwent_r", "(passwd *,char *,size_t,passwd **)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getpwnam_r", "(const char *,passwd *,char *,size_t,passwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getpwnam_r", "(const char *,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getpwnam_r", "(const char *,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getpwnam_r", "(const char *,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,passwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getrpcbyname_r", "(const char *,rpcent *,char *,size_t,rpcent **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getrpcbyname_r", "(const char *,rpcent *,char *,size_t,rpcent **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getrpcbyname_r", "(const char *,rpcent *,char *,size_t,rpcent **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getrpcbyname_r", "(const char *,rpcent *,char *,size_t,rpcent **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getrpcbynumber_r", "(int,rpcent *,char *,size_t,rpcent **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getrpcbynumber_r", "(int,rpcent *,char *,size_t,rpcent **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getrpcbynumber_r", "(int,rpcent *,char *,size_t,rpcent **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getrpcbynumber_r", "(int,rpcent *,char *,size_t,rpcent **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getrpcent_r", "(rpcent *,char *,size_t,rpcent **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getrpcent_r", "(rpcent *,char *,size_t,rpcent **)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__gets_chk", "(char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__gets_chk", "(char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__gets_chk", "(char *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gets_chk", "(char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__gets_chk", "(char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__gets_chk", "(char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getservbyname_r", "(const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__getservbyname_r", "(const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "__getservbyname_r", "(const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "__getservbyname_r", "(const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__getservbyname_r", "(const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__getservbyport_r", "(int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__getservbyport_r", "(int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[*2]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "__getservbyport_r", "(int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "__getservbyport_r", "(int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__getservbyport_r", "(int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__getservent_r", "(servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getservent_r", "(servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getsgent_r", "(sgrp *,char *,size_t,sgrp **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getsgent_r", "(sgrp *,char *,size_t,sgrp **)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getsgnam_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getsgnam_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getsgnam_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getsgnam_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__getspent_r", "(spwd *,char *,size_t,spwd **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__getspent_r", "(spwd *,char *,size_t,spwd **)", "", "Argument[0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__getspnam_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__getspnam_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "__getspnam_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__getspnam_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__gettext", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gettext", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__gettext", "(const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gettext", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__gettext_extract_plural", "(const char *,const expression **,unsigned long *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__gettext_extract_plural", "(const char *,const expression **,unsigned long *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__getutent_r", "(utmp *,utmp **)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__getutid_r", "(const utmp *,utmp *,utmp **)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__getutline_r", "(const utmp *,utmp *,utmp **)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__getwc_unlocked", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__getwd_chk", "(char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__getwd_chk", "(char *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getwd_chk", "(char *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__getwd_chk", "(char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__getwd_chk", "(char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__getwd_chk", "(char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__glob", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[*0]", "Argument[*3].Field[***gl_pathv]", "value", "dfc-generated"] + - ["", "", True, "__glob", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[0]", "Argument[*3].Field[***gl_pathv]", "taint", "dfc-generated"] + - ["", "", True, "__glob", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[0]", "Argument[*3].Field[**gl_pathv]", "value", "dfc-generated"] + - ["", "", True, "__glob", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[1]", "Argument[*3].Field[*gl_flags]", "value", "dfc-generated"] + - ["", "", True, "__glob_lstat_compat", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[*0]", "Argument[*3].Field[***gl_pathv]", "value", "dfc-generated"] + - ["", "", True, "__glob_lstat_compat", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[0]", "Argument[*3].Field[***gl_pathv]", "taint", "dfc-generated"] + - ["", "", True, "__glob_lstat_compat", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[0]", "Argument[*3].Field[**gl_pathv]", "value", "dfc-generated"] + - ["", "", True, "__glob_lstat_compat", "(const char *,int,..(*)(..),glob_t *)", "", "Argument[1]", "Argument[*3].Field[*gl_flags]", "value", "dfc-generated"] + - ["", "", True, "__gmtime_r", "(const time_t *,const time_t *__restrict__,tm *,tm *__restrict__)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__gmtime_r", "(const time_t *,const time_t *__restrict__,tm *,tm *__restrict__)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__gnu_dev_major", "(__dev_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gnu_dev_makedev", "(unsigned int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gnu_dev_makedev", "(unsigned int,unsigned int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__gnu_dev_minor", "(__dev_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__grouping_iterator_init", "(grouping_iterator *,int,locale_t,unsigned int)", "", "Argument[3]", "Argument[*0].Field[*remaining]", "value", "dfc-generated"] + - ["", "", True, "__grouping_iterator_init", "(grouping_iterator *,int,locale_t,unsigned int)", "", "Argument[3]", "Argument[*0].Field[*remaining_in_current_group]", "value", "dfc-generated"] + - ["", "", True, "__grouping_iterator_init", "(grouping_iterator *,int,locale_t,unsigned int)", "", "Argument[3]", "Argument[*0].Field[*separators]", "taint", "dfc-generated"] + - ["", "", True, "__grouping_iterator_init_none", "(grouping_iterator *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*remaining]", "value", "dfc-generated"] + - ["", "", True, "__grouping_iterator_init_none", "(grouping_iterator *,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*remaining_in_current_group]", "value", "dfc-generated"] + - ["", "", True, "__handle_registered_modifier_mb", "(const unsigned char **,printf_info *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__handle_registered_modifier_mb", "(const unsigned char **,printf_info *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__handle_registered_modifier_mb", "(const unsigned char **,printf_info *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__handle_registered_modifier_wc", "(const unsigned int **,printf_info *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__handle_registered_modifier_wc", "(const unsigned int **,printf_info *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__handle_registered_modifier_wc", "(const unsigned int **,printf_info *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__hash_string", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hash_string", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hasmntopt", "(const mntent *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__hasmntopt", "(const mntent *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hasmntopt", "(const mntent *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__hcreate_r", "(size_t,hsearch_data *)", "", "Argument[0]", "Argument[*1].Field[*size]", "taint", "dfc-generated"] + - ["", "", True, "__hsearch_r", "(ENTRY,ACTION,ENTRY **,hsearch_data *)", "", "Argument[*3].Field[**table].Field[*entry]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__hsearch_r", "(ENTRY,ACTION,ENTRY **,hsearch_data *)", "", "Argument[0]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "__hypot", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypot", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypot_compat", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__hypotf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypotf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypotf", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypotf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypotf_compat", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__hypotl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__hypotl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__hypotl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__idna_from_dns_encoding", "(const char *,char **)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__idna_from_dns_encoding", "(const char *,char **)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__idna_to_dns_encoding", "(const char *,char **)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__idna_to_dns_encoding", "(const char *,char **)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acos_fma4", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acos_fma", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acos_sse2", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acosf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acosf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acosh", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acoshf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acoshf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acoshf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_acoshf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_acoshl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_asin_fma4", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_asin_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_asin_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_asinf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_asinf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_asinl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_avx", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_avx", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_fma4", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_fma4", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_fma", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_fma", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_sse2", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2_sse2", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2f128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_atan2f128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2f", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atan2f", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_atanh_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_atanh_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_atanhf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_atanhf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_atanhl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_cosh", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_coshf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_coshf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_coshl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp10f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp2f128", "(_Float128)", "", "Argument[0]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp2f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp_avx", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp_fma4", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp_fma", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_exp_sse2", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_expf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_fmodf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__ieee754_fmodf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__ieee754_gamma_r", "(double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_gamma_r", "(double,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_gammaf128_r", "(_Float128,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_gammaf_r", "(float,int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_gammal_r", "(long double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_gammal_r", "(long double,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_hypotf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_hypotf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_hypotl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_hypotl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_ilogbf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j0", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j0f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j0f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j0l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j1", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_j1f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_j1l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jn", "(int,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jn", "(int,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jnf128", "(int,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jnf128", "(int,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_jnf", "(int,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jnf", "(int,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jnl", "(int,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_jnl", "(int,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgamma_r", "(double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf128_r", "(_Float128,int *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf128_r", "(_Float128,int *)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf128_r", "(_Float128,int *)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf128_r", "(_Float128,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf128_r", "(_Float128,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf128_r", "(_Float128,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammaf_r", "(float,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_lgammal_r", "(long double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_log10", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_log10f128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_log10f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_log10f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_log2f128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_log2f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_log_avx", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_log_fma4", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_log_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_log_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_logf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_logf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_logf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_pow_fma4", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_pow_fma4", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_pow_fma", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_pow_fma", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_pow_sse2", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_pow_sse2", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_powf128", "(_Float128,_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_powf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_powf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_rem_pio2f128", "(_Float128,_Float128 *)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__ieee754_rem_pio2f128", "(_Float128,_Float128 *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_rem_pio2l", "(long double,long double *)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__ieee754_rem_pio2l", "(long double,long double *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainder", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_remainder", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainderf128", "(_Float128,_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainderf128", "(_Float128,_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainderf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainderf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainderf", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_remainderf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_scalb", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_scalb", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_scalbf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_scalbf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_sinh_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_sinh_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_sinhf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_sinhf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_sinhl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ieee754_sqrtf128", "(_Float128,__float128)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__ieee754_y0", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_y0f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__ieee754_y0f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_y0l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__ieee754_y1", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_y1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_y1f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_y1l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__ieee754_yn", "(int,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_yn", "(int,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_ynf128", "(int,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_ynf", "(int,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_ynf", "(int,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ieee754_ynl", "(int,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__if_indextoname", "(unsigned int,char[16])", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ilogb", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ilogbf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ilogbf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__inet_makeaddr", "(in_addr_t,in_addr_t)", "", "Argument[0]", "ReturnValue.Field[*s_addr]", "taint", "dfc-generated"] + - ["", "", True, "__inet_makeaddr", "(in_addr_t,in_addr_t)", "", "Argument[1]", "ReturnValue.Field[*s_addr]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop", "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__inet_ntop", "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop", "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop", "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop", "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__inet_ntop", "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop_chk", "(int,const void *,char *,socklen_t,size_t)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__inet_ntop_chk", "(int,const void *,char *,socklen_t,size_t)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop_chk", "(int,const void *,char *,socklen_t,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop_chk", "(int,const void *,char *,socklen_t,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__inet_ntop_chk", "(int,const void *,char *,socklen_t,size_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__inet_ntop_chk", "(int,const void *,char *,socklen_t,size_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__initstate", "(unsigned int,char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__initstate_r", "(unsigned int,char *,size_t,random_data *)", "", "Argument[0]", "Argument[*3].Field[**fptr]", "value", "dfc-generated"] + - ["", "", True, "__initstate_r", "(unsigned int,char *,size_t,random_data *)", "", "Argument[0]", "Argument[*3].Field[**rptr]", "value", "dfc-generated"] + - ["", "", True, "__internal_atexit", "(..(*)(..),void *,void *,exit_function_list **)", "", "Argument[*3]", "Argument[**3].Field[*next]", "value", "dfc-generated"] + - ["", "", True, "__internal_atexit", "(..(*)(..),void *,void *,exit_function_list **)", "", "Argument[3]", "Argument[**3].Field[*next]", "taint", "dfc-generated"] + - ["", "", True, "__internal_atexit", "(..(*)(..),void *,void *,exit_function_list **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__internal_getnetgrent_r", "(char **,char **,char **,__netgrent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "__internal_getnetgrent_r", "(char **,char **,char **,__netgrent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__internal_getnetgrent_r", "(char **,char **,char **,__netgrent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "__internal_getnetgrent_r", "(char **,char **,char **,__netgrent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__internal_getnetgrent_r", "(char **,char **,char **,__netgrent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__internal_getnetgrent_r", "(char **,char **,char **,__netgrent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__internal_setnetgrent", "(const char *,__netgrent *)", "", "Argument[*0]", "Argument[*1].Field[**known_groups].Field[*name]", "value", "dfc-generated"] + - ["", "", True, "__internal_setnetgrent", "(const char *,__netgrent *)", "", "Argument[0]", "Argument[*1].Field[**known_groups].Field[*name]", "taint", "dfc-generated"] + - ["", "", True, "__internal_statvfs64", "(statvfs64 *,const statfs64 *)", "", "Argument[*0].Field[*f_ffree]", "Argument[*0].Field[*f_favail]", "value", "dfc-generated"] + - ["", "", True, "__isalnum_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isalnum_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isalnum_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isalpha_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isalpha_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isalpha_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isblank_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isblank_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isblank_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iscanonicall", "(long double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iscntrl_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iscntrl_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iscntrl_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isctype", "(int,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isctype", "(int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isdigit_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isdigit_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isdigit_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isgraph_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isgraph_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isgraph_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinf", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinff128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinff128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinff", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinfl", "(long double)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinfl", "(long double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isinfl", "(long double)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__islower_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__islower_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__islower_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnan", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanf128_impl", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanf128_impl", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanl", "(long double)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanl", "(long double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isnanl", "(long double)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtol", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtol", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_vfscanf", "(FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_vfwscanf", "(FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_vscanf", "(const char *,const char *__restrict__,__gnuc_va_list,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_vsscanf", "(const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_vswscanf", "(const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_vwscanf", "(const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc23_wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isoc99_vfscanf", "(FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc99_vfwscanf", "(FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc99_vscanf", "(const char *,const char *__restrict__,__gnuc_va_list,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__isoc99_vsscanf", "(const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc99_vswscanf", "(const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__isoc99_vwscanf", "(const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__isprint_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isprint_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isprint_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ispunct_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ispunct_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ispunct_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isspace_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isspace_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isspace_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isupper_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isupper_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isupper_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalnum", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalnum_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalnum_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalnum_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalpha", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalpha_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalpha_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswalpha_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswblank", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswblank_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswblank_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswblank_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswcntrl", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswcntrl_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswcntrl_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswcntrl_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswctype", "(wint_t,wctype_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswctype", "(wint_t,wctype_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswctype_l", "(wint_t,wctype_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswctype_l", "(wint_t,wctype_t,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswdigit", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswdigit_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswgraph", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswgraph_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswgraph_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswgraph_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswlower", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswlower_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswlower_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswlower_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswprint", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswprint_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswprint_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswprint_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswpunct", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswpunct_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswpunct_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswpunct_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswspace", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswspace_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswspace_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswspace_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswupper", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswupper_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswupper_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswupper_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswxdigit", "(wint_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswxdigit_l", "(wint_t,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswxdigit_l", "(wint_t,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__iswxdigit_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isxdigit_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isxdigit_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_b]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__isxdigit_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j0", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j0", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__j0f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j0f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j0f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__j0l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j0l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__j1", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j1", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__j1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__j1f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j1f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__j1l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__j1l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__jn", "(int,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jn", "(int,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__jn", "(int,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jnf128", "(int,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jnf128", "(int,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__jnf", "(int,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jnf", "(int,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__jnf", "(int,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jnl", "(int,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jnl", "(int,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__jnl", "(int,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__jrand48_r", "(unsigned short[3],drand48_data *,long *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__jrand48_r", "(unsigned short[3],drand48_data *,long *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__jrand48_r", "(unsigned short[3],drand48_data *,long *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_cosf128", "(_Float128,_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_cosf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_cosf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_cosl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_cosl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[*5]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[*5]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[3]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[4]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[5]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_rem_pio2", "(double *,double *,int,int,int,const int32_t *)", "", "Argument[5]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_sincosf128", "(_Float128,_Float128,_Float128 *,_Float128 *,int)", "", "Argument[0]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__kernel_sincosf128", "(_Float128,_Float128,_Float128 *,_Float128 *,int)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_sincosf128", "(_Float128,_Float128,_Float128 *,_Float128 *,int)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__kernel_sinf128", "(_Float128,_Float128,int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_sinf128", "(_Float128,_Float128,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_sinf128", "(_Float128,_Float128,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_sinl", "(long double,long double,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_sinl", "(long double,long double,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_standard", "(double,double,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_standard_f", "(float,float,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_standard_l", "(long double,long double,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_tanf128", "(_Float128,_Float128,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_tanf128", "(_Float128,_Float128,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_tanf128", "(_Float128,_Float128,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_tanl", "(long double,long double,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__kernel_tanl", "(long double,long double,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__kernel_tanl", "(long double,long double,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lcong48_r", "(unsigned short[7],drand48_data *)", "", "Argument[0]", "Argument[*1].Field[*__a]", "taint", "dfc-generated"] + - ["", "", True, "__lcong48_r", "(unsigned short[7],drand48_data *)", "", "Argument[0]", "Argument[*1].Field[*__c]", "taint", "dfc-generated"] + - ["", "", True, "__lcong48_r", "(unsigned short[7],drand48_data *)", "", "Argument[0]", "Argument[*1].Field[*__x]", "taint", "dfc-generated"] + - ["", "", True, "__ldexp", "(double,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ldexp", "(double,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ldexpf128", "(_Float128,int)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__ldexpf128", "(_Float128,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ldexpf128", "(_Float128,int)", "", "Argument[1]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__ldexpf", "(float,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ldexpf", "(float,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ldexpl", "(long double,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgamma_compat", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgamma_neg", "(double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_negf128", "(_Float128,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_negl", "(long double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_product", "(double,double,double,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_product", "(double,double,double,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_product", "(double,double,double,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_productf128", "(_Float128,_Float128,_Float128,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_productf128", "(_Float128,_Float128,_Float128,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_productf128", "(_Float128,_Float128,_Float128,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_productl", "(long double,long double,long double,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_productl", "(long double,long double,long double,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_productl", "(long double,long double,long double,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_r", "(double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgamma_r", "(double,int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgammaf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128_r", "(_Float128,int *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128_r", "(_Float128,int *)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128_r", "(_Float128,int *)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128_r", "(_Float128,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128_r", "(_Float128,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf128_r", "(_Float128,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgammaf_compat", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgammaf_r", "(float,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammaf_r", "(float,int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgammal", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammal", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgammal_compat", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lgammal_r", "(long double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lgammal_r", "(long double,int *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_alloc_array", "(alloc_buffer *,size_t,size_t,size_t)", "", "Argument[*0].Field[*__alloc_buffer_current]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_alloc_array", "(alloc_buffer *,size_t,size_t,size_t)", "", "Argument[2]", "Argument[*0].Field[*__alloc_buffer_current]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_alloc_array", "(alloc_buffer *,size_t,size_t,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_allocate", "(size_t,void **)", "", "Argument[*1]", "ReturnValue.Field[*__alloc_buffer_current]", "value", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_allocate", "(size_t,void **)", "", "Argument[*1]", "ReturnValue.Field[*__alloc_buffer_end]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_allocate", "(size_t,void **)", "", "Argument[0]", "ReturnValue.Field[*__alloc_buffer_end]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_allocate", "(size_t,void **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_allocate", "(size_t,void **)", "", "Argument[1]", "ReturnValue.Field[*__alloc_buffer_current]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_allocate", "(size_t,void **)", "", "Argument[1]", "ReturnValue.Field[*__alloc_buffer_end]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_copy_bytes", "(alloc_buffer,const void *,size_t)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__libc_alloc_buffer_copy_bytes", "(alloc_buffer,const void *,size_t)", "", "Argument[2]", "Argument[0].Field[*__alloc_buffer_current]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_copy_bytes", "(alloc_buffer,const void *,size_t)", "", "Argument[2]", "ReturnValue.Field[*__alloc_buffer_current]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_copy_string", "(alloc_buffer,const char *)", "", "Argument[0].Field[*__alloc_buffer_current]", "ReturnValue.Field[*__alloc_buffer_current]", "taint", "dfc-generated"] + - ["", "", True, "__libc_alloc_buffer_copy_string", "(alloc_buffer,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__libc_clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__libc_clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__libc_clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int)", "", "Argument[6]", "ReturnValue[*].Field[**cl_private].Field[**cu_outbuf]", "taint", "dfc-generated"] + - ["", "", True, "__libc_clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int)", "", "Argument[6]", "ReturnValue[*].Field[**cl_private].Field[*cu_outbuf]", "taint", "dfc-generated"] + - ["", "", True, "__libc_dlclose", "(void *)", "", "Argument[0]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "__libc_dynarray_finalize", "(dynarray_header *,void *,size_t,dynarray_finalize_result *)", "", "Argument[*0]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "__libc_dynarray_resize", "(dynarray_header *,size_t,void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*allocated]", "value", "dfc-generated"] + - ["", "", True, "__libc_dynarray_resize", "(dynarray_header *,size_t,void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*used]", "value", "dfc-generated"] + - ["", "", True, "__libc_dynarray_resize_clear", "(dynarray_header *,size_t,void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*allocated]", "value", "dfc-generated"] + - ["", "", True, "__libc_dynarray_resize_clear", "(dynarray_header *,size_t,void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*used]", "value", "dfc-generated"] + - ["", "", True, "__libc_free", "(void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__libc_getutent_r", "(utmp *,utmp **)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__libc_getutid_r", "(const utmp *,utmp *,utmp **)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__libc_getutline_r", "(const utmp *,utmp *,utmp **)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__libc_malloc", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__libc_malloc", "(size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__libc_memalign", "(size_t,size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__libc_memalign", "(size_t,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__libc_memalign", "(size_t,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__libc_memalign", "(size_t,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__libc_ns_makecanon", "(const char *,char *,size_t)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__libc_ns_makecanon", "(const char *,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__libc_pututline", "(const utmp *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__libc_pututline", "(const utmp *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__libc_realloc", "(void *,size_t)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__libc_realloc", "(void *,size_t)", "", "Argument[**0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__libc_realloc", "(void *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__libc_realloc", "(void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__libc_realloc", "(void *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__libc_realloc", "(void *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__libc_reallocarray", "(void *,size_t,size_t)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__libc_reallocarray", "(void *,size_t,size_t)", "", "Argument[*0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__libc_reallocarray", "(void *,size_t,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__libc_reallocarray", "(void *,size_t,size_t)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__libc_reallocarray", "(void *,size_t,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__libc_rpc_gethostbyname", "(const char *,sockaddr_in *)", "", "Argument[*0]", "Argument[*1].Field[*sin_addr]", "taint", "dfc-generated"] + - ["", "", True, "__libc_rpc_gethostbyname", "(const char *,sockaddr_in *)", "", "Argument[0]", "Argument[*1].Field[*sin_addr]", "taint", "dfc-generated"] + - ["", "", True, "__libc_rpc_getport", "(sockaddr_in *,u_long,u_long,u_int,time_t,time_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__libc_scratch_buffer_set_array_size", "(scratch_buffer *,size_t,size_t)", "", "Argument[1]", "Argument[*0].Field[*length]", "taint", "dfc-generated"] + - ["", "", True, "__libc_scratch_buffer_set_array_size", "(scratch_buffer *,size_t,size_t)", "", "Argument[2]", "Argument[*0].Field[*length]", "taint", "dfc-generated"] + - ["", "", True, "__libc_start_main_impl", "(..(*)(..),int,char **,..(*)(..),..(*)(..),void *)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__libc_start_main_impl", "(..(*)(..),int,char **,..(*)(..),..(*)(..),void *)", "", "Argument[1]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__libc_start_main_impl", "(..(*)(..),int,char **,..(*)(..),..(*)(..),void *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__libc_start_main_impl", "(..(*)(..),int,char **,..(*)(..),..(*)(..),void *)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__libc_start_main_impl", "(..(*)(..),int,char **,..(*)(..),..(*)(..),void *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__libc_valloc", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__libc_valloc", "(size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__libio_codecvt_in", "(_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **)", "", "Argument[*2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__libio_codecvt_in", "(_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **)", "", "Argument[*5]", "Argument[**7]", "value", "df-generated"] + - ["", "", True, "__libio_codecvt_in", "(_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **)", "", "Argument[2]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__libio_codecvt_in", "(_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **)", "", "Argument[5]", "Argument[*7]", "value", "df-generated"] + - ["", "", True, "__libio_codecvt_length", "(_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__libio_codecvt_out", "(_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **)", "", "Argument[*2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__libio_codecvt_out", "(_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **)", "", "Argument[*5]", "Argument[**7]", "value", "df-generated"] + - ["", "", True, "__libio_codecvt_out", "(_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **)", "", "Argument[2]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__libio_codecvt_out", "(_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **)", "", "Argument[5]", "Argument[*7]", "value", "df-generated"] + - ["", "", True, "__lio_listio_21", "(int,aiocb *const[],int,sigevent *)", "", "Argument[**1].Field[*aio_lio_opcode]", "Argument[**1].Union[*(unnamed class/struct/union)].Field[*aio_lio_opcode]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_21", "(int,aiocb *const[],int,sigevent *)", "", "Argument[**1].Union[*(unnamed class/struct/union)].Field[*aio_reqprio]", "Argument[**1].Union[*(unnamed class/struct/union)].Field[*__abs_prio]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_21", "(int,aiocb *const[],int,sigevent *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_21", "(int,aiocb *const[],int,sigevent *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_24", "(int,aiocb *const[],int,sigevent *)", "", "Argument[**1].Field[*aio_lio_opcode]", "Argument[**1].Union[*(unnamed class/struct/union)].Field[*aio_lio_opcode]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_24", "(int,aiocb *const[],int,sigevent *)", "", "Argument[**1].Union[*(unnamed class/struct/union)].Field[*aio_reqprio]", "Argument[**1].Union[*(unnamed class/struct/union)].Field[*__abs_prio]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_24", "(int,aiocb *const[],int,sigevent *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__lio_listio_24", "(int,aiocb *const[],int,sigevent *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__lll_clocklock_elision", "(int *,short *,clockid_t,const timespec *,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__lll_lock_elision", "(int *,short *,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__lll_trylock_elision", "(int *,short *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__lll_unlock_elision", "(int *,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__llogb", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llogbf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llogbf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llrintf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llrintf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llrintf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__llround", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__llroundf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llroundf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__llroundf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__llroundf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__llroundl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__loc_aton", "(const char *,u_char *,unsigned char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__loc_ntoa", "(const u_char *,const unsigned char *,char *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__loc_ntoa", "(const u_char *,const unsigned char *,char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__loc_ntoa", "(const u_char *,const unsigned char *,char *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__loc_ntoa", "(const u_char *,const unsigned char *,char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__loc_ntoa", "(const u_char *,const unsigned char *,char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__localtime_r", "(const time_t *,tm *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__localtime_r", "(const time_t *,tm *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log10", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log10", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log10f128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log10f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log10f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log10l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log10p1", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log10p1f128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log10p1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log10p1f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log10p1l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log1p_fma", "(double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log1p_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log1p_sse2", "(double)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log1p_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log1pf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log1pf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log1pf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2_compat", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2f128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log2f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log2f_compat", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2f_fma", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2f_sse2", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__log2p1", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log2p1f128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log2p1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log2p1f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log2p1l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__log_compat", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__logb", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logbf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logbf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logbf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logf128", "(_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__logf_compat", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__logf_fma", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__logf_sse2", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__login", "(const utmp *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__logl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lrintf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lrintf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lrintf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lroundf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lroundf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__lroundf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lroundf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__lroundl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__makecontext", "(ucontext_t *,..(*)(..),int,...)", "", "Argument[1]", "Argument[*0].Field[*uc_mcontext].Field[*gregs]", "value", "dfc-generated"] + - ["", "", True, "__makecontext", "(ucontext_t *,..(*)(..),int,...)", "", "Argument[2]", "Argument[*0].Field[*__ssp]", "taint", "dfc-generated"] + - ["", "", True, "__makecontext", "(ucontext_t *,..(*)(..),int,...)", "", "Argument[2]", "Argument[*0].Field[*uc_mcontext].Field[*gregs]", "taint", "dfc-generated"] + - ["", "", True, "__malloc_hugepage_config", "(size_t,size_t *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__malloc_usable_size", "(void *)", "", "Argument[*0].Field[*mchunk_size]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__malloc_usable_size", "(void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__math_check_oflow", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_check_uflow", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_edom", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_edomf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_invalid", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__math_invalid_i", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_invalid_li", "(long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_invalidf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__math_invalidf_i", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__math_invalidf_li", "(long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mbrlen", "(const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mbrtowc", "(wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mbsnrtowcs", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mbsnrtowcs", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__mbsnrtowcs_chk", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mbsnrtowcs_chk", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__mbsrtowcs", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mbsrtowcs", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__mbsrtowcs_chk", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mbsrtowcs_chk", "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__mbsrtowcs_l", "(wchar_t *,const char **,size_t,mbstate_t *,locale_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mbsrtowcs_l", "(wchar_t *,const char **,size_t,mbstate_t *,locale_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__mbstowcs_chk", "(wchar_t *,const char *,size_t,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__md5_buffer", "(const char *,size_t,void *)", "", "Argument[**2]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__md5_buffer", "(const char *,size_t,void *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__md5_buffer", "(const char *,size_t,void *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__md5_finish_ctx", "(md5_ctx *,void *)", "", "Argument[**1]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__md5_finish_ctx", "(md5_ctx *,void *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__md5_finish_ctx", "(md5_ctx *,void *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__md5_process_block", "(const void *,size_t,md5_ctx *)", "", "Argument[1]", "Argument[*2].Field[*total]", "taint", "dfc-generated"] + - ["", "", True, "__md5_process_bytes", "(const void *,size_t,md5_ctx *)", "", "Argument[**0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__md5_process_bytes", "(const void *,size_t,md5_ctx *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__md5_process_bytes", "(const void *,size_t,md5_ctx *)", "", "Argument[0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__md5_process_bytes", "(const void *,size_t,md5_ctx *)", "", "Argument[1]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__md5_read_ctx", "(const md5_ctx *,void *)", "", "Argument[**1]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__md5_read_ctx", "(const md5_ctx *,void *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__md5_read_ctx", "(const md5_ctx *,void *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__memccpy", "(void *,const void *,int,size_t)", "", "Argument[**1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__memccpy", "(void *,const void *,int,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__memccpy", "(void *,const void *,int,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[*0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[*2]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[*2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[1]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[2]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__memmem", "(const void *,size_t,const void *,size_t)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__merge_grp", "(group *,char *,char *,size_t,group *,char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__minimal_realloc", "(void *,size_t)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__minimal_realloc", "(void *,size_t)", "", "Argument[*0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "__minimal_realloc", "(void *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__minimal_realloc", "(void *,size_t)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__minimal_realloc", "(void *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__mktemp", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__mktemp", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mktime_internal", "(tm *,..(*)(..),mktime_offset_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__modf", "(double,double *)", "", "Argument[*1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__modf", "(double,double *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__modf", "(double,double *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__modf", "(double,double *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__modf", "(double,double *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__modff128", "(_Float128,_Float128 *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__modff128", "(_Float128,_Float128 *)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__modff128", "(_Float128,_Float128 *)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__modff128", "(_Float128,_Float128 *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__modff128", "(_Float128,_Float128 *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__modff", "(float,float *)", "", "Argument[*1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__modff", "(float,float *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__modff", "(float,float *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__modff", "(float,float *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__modff", "(float,float *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__modfl", "(long double,long double *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__modfl", "(long double,long double *)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__modfl", "(long double,long double *)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__modfl", "(long double,long double *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__modfl", "(long double,long double *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_add", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_add", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_add", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_add", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_add_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_add_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_add_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_add_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_double", "(mp_srcptr,int,int)", "", "Argument[*0]", "ReturnValue.Field[*mantissa0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_double", "(mp_srcptr,int,int)", "", "Argument[*0]", "ReturnValue.Field[*mantissa1]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_double", "(mp_srcptr,int,int)", "", "Argument[0]", "ReturnValue.Field[*mantissa0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_double", "(mp_srcptr,int,int)", "", "Argument[0]", "ReturnValue.Field[*mantissa1]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_double", "(mp_srcptr,int,int)", "", "Argument[1]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_double", "(mp_srcptr,int,int)", "", "Argument[2]", "ReturnValue.Field[*negative]", "value", "dfc-generated"] + - ["", "", True, "__mpn_construct_float128", "(mp_srcptr,int,int)", "", "Argument[1]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_float128", "(mp_srcptr,int,int)", "", "Argument[2]", "ReturnValue.Field[*negative]", "value", "dfc-generated"] + - ["", "", True, "__mpn_construct_float", "(mp_srcptr,int,int)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_float", "(mp_srcptr,int,int)", "", "Argument[0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_float", "(mp_srcptr,int,int)", "", "Argument[1]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_construct_float", "(mp_srcptr,int,int)", "", "Argument[2]", "ReturnValue.Field[*negative]", "value", "dfc-generated"] + - ["", "", True, "__mpn_divmod_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[*1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mpn_divmod_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divmod_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[*4]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[4]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[5]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_divrem", "(mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[5]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_extract_double", "(mp_ptr,mp_size_t,int *,int *,double)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_extract_float128", "(mp_ptr,mp_size_t,int *,int *,_Float128)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_extract_long_double", "(mp_ptr,mp_size_t,int *,int *,long double)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*0]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*4]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[0]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n_basecase", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n_basecase", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_mul_n_basecase", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*0]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[*3]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n", "(mp_ptr,mp_srcptr,mp_size_t,mp_ptr)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n_basecase", "(mp_ptr,mp_srcptr,mp_size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n_basecase", "(mp_ptr,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_impn_sqr_n_basecase", "(mp_ptr,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mod_1", "(mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mpn_mod_1", "(mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mod_1", "(mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[*3]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_mul_n", "(mp_ptr,mp_srcptr,mp_srcptr,mp_size_t)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_sub", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_sub", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_sub", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_sub", "(mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t)", "", "Argument[4]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_sub_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__mpn_sub_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_sub_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__mpn_sub_1", "(mp_ptr,mp_srcptr,mp_size_t,mp_limb_t)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nearbyint_c", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nearbyintf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__nearbyintf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nearbyintf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nearbyintf_c", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__netlink_request", "(netlink_handle *,int)", "", "Argument[*0].Field[*seq]", "Argument[*0].Field[**end_ptr].Field[*seq]", "value", "dfc-generated"] + - ["", "", True, "__netlink_request", "(netlink_handle *,int)", "", "Argument[*0].Field[*seq]", "Argument[*0].Field[**nlm_list].Field[*seq]", "value", "dfc-generated"] + - ["", "", True, "__new_exitfn", "(exit_function_list **)", "", "Argument[*0]", "Argument[**0].Field[*next]", "value", "dfc-generated"] + - ["", "", True, "__new_exitfn", "(exit_function_list **)", "", "Argument[0]", "Argument[**0].Field[*next]", "taint", "dfc-generated"] + - ["", "", True, "__new_exitfn", "(exit_function_list **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__new_sem_init", "(sem_t *,int,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*data]", "value", "dfc-generated"] + - ["", "", True, "__newlocale", "(int,const char *,locale_t)", "", "Argument[*1]", "ReturnValue[*].Field[**__locales].Field[**name]", "value", "dfc-generated"] + - ["", "", True, "__newlocale", "(int,const char *,locale_t)", "", "Argument[*2]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__newlocale", "(int,const char *,locale_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__newlocale", "(int,const char *,locale_t)", "", "Argument[1]", "ReturnValue[*].Field[**__locales].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "__newlocale", "(int,const char *,locale_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__newlocale", "(int,const char *,locale_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nextafter", "(double,double)", "", "Argument[0].Field[*lsw]", "ReturnValue.Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__nextafter", "(double,double)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "value", "dfc-generated"] + - ["", "", True, "__nextafter", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nextafter", "(double,double)", "", "Argument[1].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__nextafter", "(double,double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextafterf128", "(_Float128,_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue.Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__nextafterf128", "(_Float128,_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "value", "dfc-generated"] + - ["", "", True, "__nextafterf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nextafterf128", "(_Float128,_Float128)", "", "Argument[1].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__nextafterf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextafterf", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nextafterf", "(float,float)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextafterl", "(long double,long double)", "", "Argument[1].Field[*sign_exponent]", "ReturnValue.Field[*sign_exponent]", "taint", "dfc-generated"] + - ["", "", True, "__nextafterl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextdown", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nextdownf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nextdownf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nextdownl", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nexttoward", "(double,long double)", "", "Argument[0].Field[*lsw]", "ReturnValue.Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__nexttoward", "(double,long double)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "value", "dfc-generated"] + - ["", "", True, "__nexttoward", "(double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nexttoward", "(double,long double)", "", "Argument[1].Field[*sign_exponent]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__nexttoward", "(double,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nexttowardf", "(float,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nexttowardf", "(float,long double)", "", "Argument[1].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nexttowardf", "(float,long double)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextup", "(double)", "", "Argument[0].Field[*lsw]", "ReturnValue.Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__nextup", "(double)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "value", "dfc-generated"] + - ["", "", True, "__nextup", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextupf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue.Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__nextupf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "value", "dfc-generated"] + - ["", "", True, "__nextupf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextupf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nextupl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__ngettext", "(const char *,const char *,unsigned long)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ngettext", "(const char *,const char *,unsigned long)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__ngettext", "(const char *,const char *,unsigned long)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__ngettext", "(const char *,const char *,unsigned long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ngettext", "(const char *,const char *,unsigned long)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__ngettext", "(const char *,const char *,unsigned long)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nis_create_callback", "(..(*)(..),const void *,unsigned int)", "", "Argument[**1]", "ReturnValue[*].Field[***userdata]", "value", "dfc-generated"] + - ["", "", True, "__nis_create_callback", "(..(*)(..),const void *,unsigned int)", "", "Argument[*1]", "ReturnValue[*].Field[**userdata]", "value", "dfc-generated"] + - ["", "", True, "__nis_create_callback", "(..(*)(..),const void *,unsigned int)", "", "Argument[0]", "ReturnValue[*].Field[*callback]", "value", "dfc-generated"] + - ["", "", True, "__nis_create_callback", "(..(*)(..),const void *,unsigned int)", "", "Argument[1]", "ReturnValue[*].Field[*userdata]", "value", "dfc-generated"] + - ["", "", True, "__nis_default_access", "(char *,unsigned int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nis_default_group", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nis_default_group", "(char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nis_default_owner", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nis_default_owner", "(char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nis_default_ttl", "(char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nis_default_ttl", "(char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nis_do_callback", "(dir_binding *,netobj *,nis_cb *)", "", "Argument[*2].Field[*result]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nis_domain_of", "(const_nis_name)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nis_domain_of", "(const_nis_name)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nis_domain_of", "(const_nis_name)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nis_hash", "(const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nis_hash", "(const void *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nisbind_create", "(dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**server_val]", "value", "dfc-generated"] + - ["", "", True, "__nisbind_create", "(dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*server_val]", "value", "dfc-generated"] + - ["", "", True, "__nisbind_create", "(dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int)", "", "Argument[2]", "Argument[*0].Field[*server_len]", "value", "dfc-generated"] + - ["", "", True, "__nisbind_create", "(dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int)", "", "Argument[3]", "Argument[*0].Field[*server_used]", "value", "dfc-generated"] + - ["", "", True, "__nisbind_create", "(dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int)", "", "Argument[4]", "Argument[*0].Field[*current_ep]", "value", "dfc-generated"] + - ["", "", True, "__nisfind_server", "(const_nis_name,int,directory_obj **,dir_binding *,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__nl_langinfo_l", "(nl_item,locale_t)", "", "Argument[*1].Field[**__names]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__nl_langinfo_l", "(nl_item,locale_t)", "", "Argument[*1].Field[*__names]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nl_langinfo_l", "(nl_item,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nptl_stack_list_add", "(list_t *,list_t *)", "", "Argument[*0]", "Argument[*1].Field[**next].Field[**prev]", "value", "dfc-generated"] + - ["", "", True, "__nptl_stack_list_add", "(list_t *,list_t *)", "", "Argument[*0]", "Argument[*1].Field[**next]", "value", "dfc-generated"] + - ["", "", True, "__nptl_stack_list_add", "(list_t *,list_t *)", "", "Argument[0]", "Argument[*1].Field[**next].Field[*prev]", "value", "dfc-generated"] + - ["", "", True, "__nptl_stack_list_add", "(list_t *,list_t *)", "", "Argument[0]", "Argument[*1].Field[*next]", "value", "dfc-generated"] + - ["", "", True, "__nptl_stack_list_add", "(list_t *,list_t *)", "", "Argument[1]", "Argument[*0].Field[*prev]", "value", "dfc-generated"] + - ["", "", True, "__nptl_stack_list_add", "(list_t *,list_t *)", "", "Argument[1]", "Argument[*1].Field[**next].Field[*prev]", "value", "dfc-generated"] + - ["", "", True, "__nrand48_r", "(unsigned short[3],drand48_data *,long *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__nrand48_r", "(unsigned short[3],drand48_data *,long *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nrand48_r", "(unsigned short[3],drand48_data *,long *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__ns_name_length_uncompressed", "(const unsigned char *,const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ns_name_length_uncompressed", "(const unsigned char *,const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ns_rr_cursor_init", "(ns_rr_cursor *,const unsigned char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__ns_rr_cursor_init", "(ns_rr_cursor *,const unsigned char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__ns_rr_cursor_init", "(ns_rr_cursor *,const unsigned char *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__ns_rr_cursor_next", "(ns_rr_cursor *,ns_rr_wire *)", "", "Argument[*1].Field[*rdlength]", "Argument[*0].Field[**current]", "taint", "dfc-generated"] + - ["", "", True, "__ns_rr_cursor_next", "(ns_rr_cursor *,ns_rr_wire *)", "", "Argument[*1].Field[*rdlength]", "Argument[*0].Field[*current]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_cache_search", "(request_type,const char *,size_t,const mapped_database *,size_t)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__nscd_cache_search", "(request_type,const char *,size_t,const mapped_database *,size_t)", "", "Argument[*3]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__nscd_get_map_ref", "(request_type,const char *,volatile locked_map_ptr *,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_get_mapping", "(request_type,const char *,mapped_database **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_getgrgid_r", "(gid_t,group *,char *,size_t,group **)", "", "Argument[*1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__nscd_getgrgid_r", "(gid_t,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getgrnam_r", "(const char *,group *,char *,size_t,group **)", "", "Argument[*1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__nscd_getgrnam_r", "(const char *,group *,char *,size_t,group **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getgrouplist", "(const char *,gid_t,long *,gid_t **,long)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_getgrouplist", "(const char *,gid_t,long *,gid_t **,long)", "", "Argument[1]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getgrouplist", "(const char *,gid_t,long *,gid_t **,long)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_getgrouplist", "(const char *,gid_t,long *,gid_t **,long)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_getgrouplist", "(const char *,gid_t,long *,gid_t **,long)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nscd_gethostbyaddr_r", "(const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *)", "", "Argument[*3]", "Argument[**6]", "value", "df-generated"] + - ["", "", True, "__nscd_gethostbyaddr_r", "(const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *)", "", "Argument[3]", "Argument[*6]", "value", "dfc-generated"] + - ["", "", True, "__nscd_gethostbyname2_r", "(const char *,int,hostent *,char *,size_t,hostent **,int *)", "", "Argument[*2]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__nscd_gethostbyname2_r", "(const char *,int,hostent *,char *,size_t,hostent **,int *)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__nscd_gethostbyname_r", "(const char *,hostent *,char *,size_t,hostent **,int *)", "", "Argument[*1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__nscd_gethostbyname_r", "(const char *,hostent *,char *,size_t,hostent **,int *)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getpwnam_r", "(const char *,passwd *,char *,size_t,passwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getpwnam_r", "(const char *,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getpwuid_r", "(uid_t,passwd *,char *,size_t,passwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getpwuid_r", "(uid_t,passwd *,char *,size_t,passwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,servent **)", "", "Argument[*2]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__nscd_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,servent **)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__nscd_getservbyport_r", "(int,const char *,servent *,char *,size_t,servent **)", "", "Argument[*2]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__nscd_getservbyport_r", "(int,const char *,servent *,char *,size_t,servent **)", "", "Argument[2]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__nss_action_allocate", "(nss_action *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__nss_action_allocate", "(nss_action *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_action_allocate", "(nss_action *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nss_action_parse", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__nss_action_parse", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__nss_aliases_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_aliases_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_aliases_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_aliases_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_database_fork_subprocess", "(nss_database_data *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_database_get", "(nss_database,nss_action_list *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__nss_database_get_noreload", "(nss_database)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nss_endent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)", "", "Argument[**2]", "Argument[**3]", "value", "df-generated"] + - ["", "", True, "__nss_endent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)", "", "Argument[**2]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__nss_endent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)", "", "Argument[*2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__nss_endent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)", "", "Argument[*2]", "Argument[*4]", "value", "df-generated"] + - ["", "", True, "__nss_endent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_endent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__nss_ethers_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_ethers_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_ethers_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_ethers_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[3]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__nss_fgetent_r", "(FILE *,void *,char *,size_t,nss_files_parse_line)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__nss_files_data_open", "(nss_files_per_file_data **,nss_files_file,const char *,int *,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_files_data_open", "(nss_files_per_file_data **,nss_files_file,const char *,int *,int *)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_files_data_open", "(nss_files_per_file_data **,nss_files_file,const char *,int *,int *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent", "(getent_r_function,void **,char **,size_t,size_t *,int *)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent", "(getent_r_function,void **,char **,size_t,size_t *,int *)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent", "(getent_r_function,void **,char **,size_t,size_t *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent", "(getent_r_function,void **,char **,size_t,size_t *,int *)", "", "Argument[3]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__nss_getent", "(getent_r_function,void **,char **,size_t,size_t *,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent", "(getent_r_function,void **,char **,size_t,size_t *,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[**3]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[**3]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[**4]", "Argument[**3]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[**4]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[*3]", "Argument[*4]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[*3]", "Argument[*5]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[*4]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[*4]", "Argument[*5]", "value", "df-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[*8]", "Argument[**11]", "value", "dfc-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[12]", "Argument[*12]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__nss_getent_r", "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)", "", "Argument[8]", "Argument[*11]", "value", "dfc-generated"] + - ["", "", True, "__nss_group_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_group_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_group_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_group_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_gshadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_gshadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_gshadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_gshadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_hash", "(const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nss_hash", "(const void *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nss_hostname_digits_dots", "(const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)", "", "Argument[*1]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "__nss_hostname_digits_dots", "(const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)", "", "Argument[1]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "__nss_hostname_digits_dots", "(const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_hostname_digits_dots_context", "(resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)", "", "Argument[*2]", "Argument[**6]", "value", "dfc-generated"] + - ["", "", True, "__nss_hostname_digits_dots_context", "(resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)", "", "Argument[2]", "Argument[*6]", "value", "dfc-generated"] + - ["", "", True, "__nss_hostname_digits_dots_context", "(resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__nss_hosts_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_hosts_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_hosts_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_hosts_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_lookup", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_lookup", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_lookup", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_lookup", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_module_allocate", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*].Field[*name]", "value", "dfc-generated"] + - ["", "", True, "__nss_module_allocate", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*].Field[*name]", "taint", "dfc-generated"] + - ["", "", True, "__nss_module_get_function", "(nss_module *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__nss_module_get_function", "(nss_module *,const char *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "df-generated"] + - ["", "", True, "__nss_module_get_function", "(nss_module *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__nss_netgroup_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_netgroup_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_netgroup_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_netgroup_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_networks_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_networks_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_networks_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_networks_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_next2", "(nss_action **,nss_action_list *,const char *,const char *,void **,int,int)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_next2", "(nss_action **,nss_action_list *,const char *,const char *,void **,int,int)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_next2", "(nss_action **,nss_action_list *,const char *,const char *,void **,int,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_next2", "(nss_action **,nss_action_list *,const char *,const char *,void **,int,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_passwd_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_passwd_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_passwd_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_passwd_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_protocols_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_protocols_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_protocols_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_protocols_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_publickey_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_publickey_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_publickey_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_publickey_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_readline", "(FILE *,char *,size_t,off64_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__nss_readline", "(FILE *,char *,size_t,off64_t *)", "", "Argument[2]", "Argument[*0].Field[**_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__nss_readline", "(FILE *,char *,size_t,off64_t *)", "", "Argument[2]", "Argument[*0].Field[*_IO_read_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__nss_readline", "(FILE *,char *,size_t,off64_t *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__nss_readline", "(FILE *,char *,size_t,off64_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[**1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[*1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rewrite_field", "(const char *,char **)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__nss_rpc_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rpc_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rpc_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_rpc_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_services_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_services_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_services_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_services_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[**2]", "Argument[**3]", "value", "df-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[**2]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[*2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[*2]", "Argument[*4]", "value", "df-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[5]", "Argument[*6]", "value", "dfc-generated"] + - ["", "", True, "__nss_setent", "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__nss_shadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_shadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_shadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_shadow_lookup2", "(nss_action **,nss_action_list *,const char *,const char *,void **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__nss_valid_list_field", "(char **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_valid_list_field", "(char **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__nss_valid_list_field", "(char **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__obstack_vprintf", "(obstack *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__obstack_vprintf_chk", "(obstack *,int,const char *,__gnuc_va_list,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__obstack_vprintf_internal", "(obstack *,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__offtime", "(time_t,long,tm *)", "", "Argument[1]", "Argument[*2].Field[*tm_hour]", "taint", "dfc-generated"] + - ["", "", True, "__offtime", "(time_t,long,tm *)", "", "Argument[1]", "Argument[*2].Field[*tm_min]", "taint", "dfc-generated"] + - ["", "", True, "__offtime", "(time_t,long,tm *)", "", "Argument[1]", "Argument[*2].Field[*tm_sec]", "taint", "dfc-generated"] + - ["", "", True, "__old_cfgetispeed", "(const old_termios_t *)", "", "Argument[*0].Field[*c_cflag]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_cfgetospeed", "(const old_termios_t *)", "", "Argument[*0].Field[*c_cflag]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_cfsetispeed", "(old_termios_t *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "__old_cfsetispeed", "(old_termios_t *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*c_cflag]", "taint", "dfc-generated"] + - ["", "", True, "__old_cfsetospeed", "(old_termios_t *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "__old_cfsetospeed", "(old_termios_t *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*c_cflag]", "taint", "dfc-generated"] + - ["", "", True, "__old_cfsetspeed", "(old_termios_t *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "__old_cfsetspeed", "(old_termios_t *,speed_t)", "", "Argument[1]", "Argument[*0].Field[*c_cflag]", "taint", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[*0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[1]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[1]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[2]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[2]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[3]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[3]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[4]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[4]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[5]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[5]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[6]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[6]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[7]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[7]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[8]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[8]", "ReturnValue[*].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[9]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_mempcpy_small", "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[9]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__old_realpath", "(const char *,char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[1]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[2]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[3]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[4]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[5]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[6]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[7]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[8]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_stpcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[8]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[1]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[2]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[3]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[4]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[5]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[6]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strcpy_small", "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)", "", "Argument[7]", "Argument[*0].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "__old_strpbrk_c2", "(const char *,int,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strpbrk_c2", "(const char *,int,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_strpbrk_c2", "(const char *,int,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__old_strpbrk_c3", "(const char *,int,int,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strpbrk_c3", "(const char *,int,int,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_strpbrk_c3", "(const char *,int,int,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[**0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_1c", "(char **,char)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_2c", "(char **,char,char)", "", "Argument[**0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strsep_2c", "(char **,char,char)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_2c", "(char **,char,char)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_strsep_2c", "(char **,char,char)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_2c", "(char **,char,char)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_2c", "(char **,char,char)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_3c", "(char **,char,char,char)", "", "Argument[**0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strsep_3c", "(char **,char,char,char)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_3c", "(char **,char,char,char)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__old_strsep_3c", "(char **,char,char,char)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_3c", "(char **,char,char,char)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__old_strsep_3c", "(char **,char,char,char)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[**2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[**2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[*0]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[*2]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[0]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__old_strtok_r_1c", "(char *,char,char **)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__p_cdname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__p_cdname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__p_cdname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_cdnname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__p_cdnname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__p_cdnname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_class", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_fqname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__p_fqname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__p_fqname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_fqnname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__p_fqnname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__p_fqnname", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_option", "(u_long,unsigned long)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_rcode", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_secstodate", "(u_long)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_time", "(uint32_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__p_type", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__parse_one_specmb", "(const unsigned char *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[1]", "Argument[*2].Field[*data_arg]", "value", "dfc-generated"] + - ["", "", True, "__parse_one_specmb", "(const unsigned char *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[1]", "Argument[*2].Field[*prec_arg]", "value", "dfc-generated"] + - ["", "", True, "__parse_one_specmb", "(const unsigned char *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[1]", "Argument[*2].Field[*width_arg]", "value", "dfc-generated"] + - ["", "", True, "__parse_one_specmb", "(const unsigned char *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__parse_one_specwc", "(const unsigned int *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[1]", "Argument[*2].Field[*data_arg]", "value", "dfc-generated"] + - ["", "", True, "__parse_one_specwc", "(const unsigned int *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[1]", "Argument[*2].Field[*prec_arg]", "value", "dfc-generated"] + - ["", "", True, "__parse_one_specwc", "(const unsigned int *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[1]", "Argument[*2].Field[*width_arg]", "value", "dfc-generated"] + - ["", "", True, "__parse_one_specwc", "(const unsigned int *,size_t,printf_spec *,size_t *,bool *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__path_search", "(char *,size_t,const char *,const char *,bool)", "", "Argument[*2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__path_search", "(char *,size_t,const char *,const char *,bool)", "", "Argument[*3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__path_search", "(char *,size_t,const char *,const char *,bool)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__path_search", "(char *,size_t,const char *,const char *,bool)", "", "Argument[3]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__pkey_get", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__pmap_getnisport", "(sockaddr_in *,u_long,u_long,u_int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[**1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__posix_getopt", "(int,char *const *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__posix_memalign", "(void **,size_t,size_t)", "", "Argument[1]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "__posix_memalign", "(void **,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__posix_memalign", "(void **,size_t,size_t)", "", "Argument[2]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "__posix_memalign", "(void **,size_t,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__posix_spawnattr_setflags", "(posix_spawnattr_t *,short)", "", "Argument[1]", "Argument[*0].Field[*__flags]", "value", "dfc-generated"] + - ["", "", True, "__posix_spawnattr_setsigdefault", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__)", "", "Argument[*1]", "Argument[*0].Field[*__sd]", "value", "dfc-generated"] + - ["", "", True, "__posix_spawnattr_setsigdefault", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__)", "", "Argument[1]", "Argument[*0].Field[*__sd]", "taint", "dfc-generated"] + - ["", "", True, "__posix_spawnattr_setsigmask", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__)", "", "Argument[*1]", "Argument[*0].Field[*__ss]", "value", "dfc-generated"] + - ["", "", True, "__posix_spawnattr_setsigmask", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__)", "", "Argument[1]", "Argument[*0].Field[*__ss]", "taint", "dfc-generated"] + - ["", "", True, "__pow_compat", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__powf128", "(_Float128,_Float128)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__powf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__powf_compat", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__powf_fma", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powf_fma", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powf_sse2", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powf_sse2", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__pownf128", "(_Float128,long long)", "", "Argument[0].Field[*w0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__pownf128", "(_Float128,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__pownf128", "(_Float128,long long)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__powr", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powr", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powrf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powrf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__powrf", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powrf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powrl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__powrl", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ppoll_chk", "(pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__prepare_niscall", "(const_nis_name,directory_obj **,dir_binding *,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer", "(__printf_buffer *,const char *,va_list,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer", "(__printf_buffer *,const char *,va_list,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer", "(__printf_buffer *,const char *,va_list,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer", "(__printf_buffer *,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_init", "(__printf_buffer_as_file *,__printf_buffer *)", "", "Argument[1]", "Argument[*0].Field[*next]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**next].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[*stream].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_overflow", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_terminate", "(__printf_buffer_as_file *)", "", "Argument[*0].Field[*stream].Field[**_IO_write_ptr]", "Argument[*0].Field[**next].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_terminate", "(__printf_buffer_as_file *)", "", "Argument[*0].Field[*stream].Field[*_IO_write_ptr]", "Argument[*0].Field[**next].Field[*write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**next].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[*stream].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**next].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*stream].Field[**_IO_write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__printf_buffer_pad_1", "(__printf_buffer *,char,size_t)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_pad_1", "(__printf_buffer *,char,size_t)", "", "Argument[2]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_pad_1", "(__printf_buffer *,char,size_t)", "", "Argument[2]", "Argument[*0].Field[*write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_putc_1", "(__printf_buffer *,char)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_puts_1", "(__printf_buffer *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_puts_1", "(__printf_buffer *,const char *)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_snprintf_init", "(__printf_buffer_snprintf *,char *,size_t)", "", "Argument[2]", "Argument[*0].Field[*base].Field[**write_end]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_snprintf_init", "(__printf_buffer_snprintf *,char *,size_t)", "", "Argument[2]", "Argument[*0].Field[*base].Field[*write_end]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_snprintf_init", "(__printf_buffer_snprintf *,char *,size_t)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_to_file_init", "(__printf_buffer_to_file *,FILE *)", "", "Argument[1]", "Argument[*0].Field[*fp]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_write", "(__printf_buffer *,const char *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__printf_buffer_write", "(__printf_buffer *,const char *,size_t)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_write", "(__printf_buffer *,const char *,size_t)", "", "Argument[2]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_buffer_write", "(__printf_buffer *,const char *,size_t)", "", "Argument[2]", "Argument[*0].Field[*write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__printf_fp_l_buffer", "(__printf_buffer *,locale_t,const printf_info *,const void *const *)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__printf_fphex_l_buffer", "(__printf_buffer *,locale_t,const printf_info *,const void *const *)", "", "Argument[**3]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__printf_fphex_l_buffer", "(__printf_buffer *,locale_t,const printf_info *,const void *const *)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__printf_fphex_l_buffer", "(__printf_buffer *,locale_t,const printf_info *,const void *const *)", "", "Argument[*3]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__printf_fphex_l_buffer", "(__printf_buffer *,locale_t,const printf_info *,const void *const *)", "", "Argument[3]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__printf_size", "(FILE *,const printf_info *,const void *const *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pselect", "(int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_copy", "(pthread_attr_t *,const pthread_attr_t *)", "", "Argument[*1]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "__pthread_attr_copy", "(pthread_attr_t *,const pthread_attr_t *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_copy", "(pthread_attr_t *,const pthread_attr_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_getaffinity_new", "(const pthread_attr_t *,size_t,cpu_set_t *)", "", "Argument[*0].Field[**extension].Field[**cpuset]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getaffinity_new", "(const pthread_attr_t *,size_t,cpu_set_t *)", "", "Argument[*0].Field[**extension].Field[*cpuset]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_getaffinity_old", "(const pthread_attr_t *,cpu_set_t *)", "", "Argument[*0].Field[**extension].Field[**cpuset]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getaffinity_old", "(const pthread_attr_t *,cpu_set_t *)", "", "Argument[*0].Field[**extension].Field[*cpuset]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_getguardsize", "(const pthread_attr_t *,size_t *)", "", "Argument[*0].Field[*guardsize]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getschedparam", "(const pthread_attr_t *,sched_param *)", "", "Argument[*0].Field[*schedparam]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getschedpolicy", "(const pthread_attr_t *,int *)", "", "Argument[*0].Field[*schedpolicy]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getsigmask_np", "(const pthread_attr_t *,__sigset_t *,sigset_t *)", "", "Argument[*0].Field[**extension].Field[*sigmask]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getstack", "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[*0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__pthread_attr_getstack", "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__pthread_attr_getstack", "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__pthread_attr_getstackaddr", "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__)", "", "Argument[*0].Field[**stackaddr]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getstackaddr", "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__)", "", "Argument[*0].Field[*stackaddr]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_getstacksize", "(const pthread_attr_t *,const pthread_attr_t *__restrict__,size_t *,size_t *__restrict__)", "", "Argument[*0].Field[*stacksize]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_np", "(pthread_attr_t *,size_t,const cpu_set_t *)", "", "Argument[*0].Field[**extension].Field[*cpuset]", "Argument[*0].Field[**extension].Field[**cpuset]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_np", "(pthread_attr_t *,size_t,const cpu_set_t *)", "", "Argument[*2]", "Argument[*0].Field[**extension].Field[**cpuset]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_np", "(pthread_attr_t *,size_t,const cpu_set_t *)", "", "Argument[1]", "Argument[*0].Field[**extension].Field[*cpusetsize]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_np", "(pthread_attr_t *,size_t,const cpu_set_t *)", "", "Argument[2]", "Argument[*0].Field[**extension].Field[**cpuset]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_old", "(pthread_attr_t *,cpu_set_t *)", "", "Argument[*0].Field[**extension].Field[*cpuset]", "Argument[*0].Field[**extension].Field[**cpuset]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_old", "(pthread_attr_t *,cpu_set_t *)", "", "Argument[*1]", "Argument[*0].Field[**extension].Field[**cpuset]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setaffinity_old", "(pthread_attr_t *,cpu_set_t *)", "", "Argument[1]", "Argument[*0].Field[**extension].Field[**cpuset]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setguardsize", "(pthread_attr_t *,size_t)", "", "Argument[1]", "Argument[*0].Field[*guardsize]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setschedparam", "(pthread_attr_t *,const sched_param *)", "", "Argument[*1]", "Argument[*0].Field[*schedparam]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setschedparam", "(pthread_attr_t *,const sched_param *)", "", "Argument[1]", "Argument[*0].Field[*schedparam]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setschedpolicy", "(pthread_attr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*schedpolicy]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setsigmask_internal", "(pthread_attr_t *,const sigset_t *)", "", "Argument[*1]", "Argument[*0].Field[**extension].Field[*sigmask]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setsigmask_internal", "(pthread_attr_t *,const sigset_t *)", "", "Argument[1]", "Argument[*0].Field[**extension].Field[*sigmask]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setsigmask_internal", "(pthread_attr_t *,const sigset_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstack", "(pthread_attr_t *,void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**stackaddr]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstack", "(pthread_attr_t *,void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**stackaddr]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstack", "(pthread_attr_t *,void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*stackaddr]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstack", "(pthread_attr_t *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[**stackaddr]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstack", "(pthread_attr_t *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*stackaddr]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstack", "(pthread_attr_t *,void *,size_t)", "", "Argument[2]", "Argument[*0].Field[*stacksize]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstackaddr", "(pthread_attr_t *,void *)", "", "Argument[**1]", "Argument[*0].Field[***stackaddr]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstackaddr", "(pthread_attr_t *,void *)", "", "Argument[*1]", "Argument[*0].Field[**stackaddr]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstackaddr", "(pthread_attr_t *,void *)", "", "Argument[1]", "Argument[*0].Field[*stackaddr]", "value", "dfc-generated"] + - ["", "", True, "__pthread_attr_setstacksize", "(pthread_attr_t *,size_t)", "", "Argument[1]", "Argument[*0].Field[*stacksize]", "value", "dfc-generated"] + - ["", "", True, "__pthread_barrierattr_getpshared", "(const pthread_barrierattr_t *,int *)", "", "Argument[*0].Field[*pshared]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_barrierattr_setpshared", "(pthread_barrierattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*pshared]", "value", "dfc-generated"] + - ["", "", True, "__pthread_cleanup_push", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[**2]", "Argument[*0].Field[***__arg]", "value", "dfc-generated"] + - ["", "", True, "__pthread_cleanup_push", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[*2]", "Argument[*0].Field[**__arg]", "value", "dfc-generated"] + - ["", "", True, "__pthread_cleanup_push", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[1]", "Argument[*0].Field[*__routine]", "value", "dfc-generated"] + - ["", "", True, "__pthread_cleanup_push", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[2]", "Argument[*0].Field[*__arg]", "value", "dfc-generated"] + - ["", "", True, "__pthread_condattr_getclock", "(const pthread_condattr_t *,clockid_t *)", "", "Argument[*0].Field[*value]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutex_getprioceiling", "(const pthread_mutex_t *,int *)", "", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__lock]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutex_setprioceiling", "(pthread_mutex_t *,int,int *)", "", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__lock]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutex_setprioceiling", "(pthread_mutex_t *,int,int *)", "", "Argument[1]", "Argument[*0].Union[*(unnamed class/struct/union)].Field[*__lock]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutexattr_getprioceiling", "(const pthread_mutexattr_t *,int *)", "", "Argument[*0].Field[*mutexkind]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutexattr_getprotocol", "(const pthread_mutexattr_t *,int *)", "", "Argument[*0].Field[*mutexkind]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutexattr_gettype", "(const pthread_mutexattr_t *,int *)", "", "Argument[*0].Field[*mutexkind]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutexattr_setprioceiling", "(pthread_mutexattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*mutexkind]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_mutexattr_setprotocol", "(pthread_mutexattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*mutexkind]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_rwlockattr_getkind_np", "(const pthread_rwlockattr_t *,int *)", "", "Argument[*0].Field[*lockkind]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_rwlockattr_getpshared", "(const pthread_rwlockattr_t *,int *)", "", "Argument[*0].Field[*pshared]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__pthread_rwlockattr_setkind_np", "(pthread_rwlockattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*lockkind]", "value", "dfc-generated"] + - ["", "", True, "__pthread_rwlockattr_setpshared", "(pthread_rwlockattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*pshared]", "value", "dfc-generated"] + - ["", "", True, "__pthread_setattr_default_np", "(const pthread_attr_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_setschedparam", "(pthread_t,int,const sched_param *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__pthread_sigmask", "(int,const sigset_t *,sigset_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__putc_unlocked", "(int,FILE *)", "", "Argument[0]", "Argument[*1].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__putlong", "(uint32_t,unsigned char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__putshort", "(uint16_t,unsigned char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__pututline", "(const utmp *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__pututline", "(const utmp *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__qecvt", "(long double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__qecvt", "(long double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__qecvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__qecvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__qecvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__qecvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__qfcvt", "(long double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__qfcvt", "(long double,int,int *,int *__restrict__,int *,int *__restrict__)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__qfcvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__qfcvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__qfcvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__qfcvt_r", "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__qgcvt", "(long double,int,char *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__qgcvt", "(long double,int,char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__qgcvt", "(long double,int,char *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__qgcvt", "(long double,int,char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__qgcvt", "(long double,int,char *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[*0]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__qsort_r", "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__random_r", "(random_data *,int32_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__re_match", "(re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *)", "", "Argument[*0].Field[*re_nsub]", "Argument[*4].Field[*num_regs]", "taint", "dfc-generated"] + - ["", "", True, "__re_match", "(re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__re_match_2", "(re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t)", "", "Argument[*0].Field[*re_nsub]", "Argument[*6].Field[*num_regs]", "taint", "dfc-generated"] + - ["", "", True, "__re_match_2", "(re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t)", "", "Argument[5]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__re_search", "(re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *)", "", "Argument[*0].Field[*re_nsub]", "Argument[*5].Field[*num_regs]", "taint", "dfc-generated"] + - ["", "", True, "__re_search", "(re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__re_search_2", "(re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t)", "", "Argument[*0].Field[*re_nsub]", "Argument[*7].Field[*num_regs]", "taint", "dfc-generated"] + - ["", "", True, "__re_search_2", "(re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t)", "", "Argument[5]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[*1].Field[**end]", "Argument[*1].Field[**start]", "value", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[*1].Field[*end]", "Argument[*1].Field[*start]", "value", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[*3]", "Argument[*1].Field[**start]", "value", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[*4]", "Argument[*1].Field[**end]", "value", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[2]", "Argument[*1].Field[*num_regs]", "value", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[3]", "Argument[*1].Field[*start]", "value", "dfc-generated"] + - ["", "", True, "__re_set_registers", "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)", "", "Argument[4]", "Argument[*1].Field[*end]", "value", "dfc-generated"] + - ["", "", True, "__readall", "(int,void *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__readall", "(int,void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__readdir64", "(DIR *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__readdir64", "(DIR *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__readdir64_r", "(DIR *,dirent64 *,dirent64 **)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__realpath", "(const char *,char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__realpath_chk", "(const char *,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[*0].Field[*re_nsub]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[*1]", "Argument[*3].Field[*rm_eo]", "taint", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[*1]", "Argument[*3].Field[*rm_so]", "taint", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[1]", "Argument[*3].Field[*rm_eo]", "taint", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[1]", "Argument[*3].Field[*rm_so]", "taint", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__regexec", "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__remainder", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__remainder", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remainderf128", "(_Float128,_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__remainderf128", "(_Float128,_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remainderf128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remainderf128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remainderf", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remainderf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__remainderf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remainderl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__remquo", "(double,double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquo", "(double,double,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquof128", "(_Float128,_Float128,int *)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquof128", "(_Float128,_Float128,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquof128", "(_Float128,_Float128,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquof", "(float,float,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquof", "(float,float,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquol", "(long double,long double,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__remquol", "(long double,long double,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__res_context_hostalias", "(resolv_context *,const char *,char *,size_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__res_context_mkquery", "(resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int)", "", "Argument[6]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__res_context_query", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_query", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__res_context_query", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_query", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_query", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[**6]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[*4]", "Argument[**6]", "value", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[4]", "Argument[**6]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_search", "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[9]", "Argument[*9]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_send", "(resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[10]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_send", "(resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "__res_context_send", "(resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"] + - ["", "", True, "__res_get_nsaddr", "(res_state,unsigned int)", "", "Argument[*0].Field[*nsaddr_list]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__res_get_nsaddr", "(res_state,unsigned int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__res_get_nsaddr", "(res_state,unsigned int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__res_handle_no_aaaa", "(resolv_context *,const unsigned char *,int,unsigned char *,int,int *)", "", "Argument[*1]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "__res_handle_no_aaaa", "(resolv_context *,const unsigned char *,int,unsigned char *,int,int *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__res_handle_no_aaaa", "(resolv_context *,const unsigned char *,int,unsigned char *,int,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__res_handle_no_aaaa", "(resolv_context *,const unsigned char *,int,unsigned char *,int,int *)", "", "Argument[3]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__res_hostalias", "(const res_state,res_state,const char *,char *,size_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__res_nopt", "(resolv_context *,int,unsigned char *,int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__res_nopt", "(resolv_context *,int,unsigned char *,int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__resolv_conf_allocate", "(const resolv_conf *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__resolv_conf_attach", "(__res_state *,resolv_conf *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__resolv_conf_load", "(__res_state *,file_change_detection *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__resolv_context_get_override", "(__res_state *)", "", "Argument[*0]", "ReturnValue[*].Field[**resp]", "value", "dfc-generated"] + - ["", "", True, "__resolv_context_get_override", "(__res_state *)", "", "Argument[0]", "ReturnValue[*].Field[*resp]", "value", "dfc-generated"] + - ["", "", True, "__rint_c", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__rintf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__rintf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__rintf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__rintf_c", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__rootn", "(double,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__rootnf128", "(_Float128,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__rootnf", "(float,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__rootnl", "(long double,long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__round", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__roundeven_c", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__roundevenf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__roundevenf_c", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__roundevenl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__roundf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__roundf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__roundl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__rtld_malloc_init_real", "(link_map *)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "__run_exit_handlers", "(int,exit_function_list **,bool,bool)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sbrk", "(intptr_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__scalb", "(double,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalb", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__scalbf", "(float,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalbf", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__scalbl", "(long double,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalbln", "(double,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalbln", "(double,long)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__scalblnf128", "(_Float128,long)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__scalblnf128", "(_Float128,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalblnf128", "(_Float128,long)", "", "Argument[1]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__scalblnf", "(float,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalblnf", "(float,long)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__scalblnl", "(long double,long)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue.Field[*sign_exponent]", "taint", "dfc-generated"] + - ["", "", True, "__scalblnl", "(long double,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalblnl", "(long double,long)", "", "Argument[1]", "ReturnValue.Field[*sign_exponent]", "taint", "dfc-generated"] + - ["", "", True, "__scalbn", "(double,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalbn", "(double,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__scalbnf128", "(_Float128,int)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__scalbnf128", "(_Float128,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalbnf128", "(_Float128,int)", "", "Argument[1]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__scalbnf", "(float,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__scalbnf", "(float,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__scandir64_tail", "(DIR *,dirent64 ***,..(*)(..),..(*)(..))", "", "Argument[*0]", "Argument[***1]", "taint", "df-generated"] + - ["", "", True, "__seed48_r", "(unsigned short[3],drand48_data *)", "", "Argument[*0]", "Argument[*1].Field[*__x]", "value", "dfc-generated"] + - ["", "", True, "__seed48_r", "(unsigned short[3],drand48_data *)", "", "Argument[*1].Field[**__x]", "Argument[*1].Field[*__old_x]", "value", "dfc-generated"] + - ["", "", True, "__seed48_r", "(unsigned short[3],drand48_data *)", "", "Argument[*1].Field[*__x]", "Argument[*1].Field[*__old_x]", "value", "dfc-generated"] + - ["", "", True, "__seed48_r", "(unsigned short[3],drand48_data *)", "", "Argument[0]", "Argument[*1].Field[*__x]", "taint", "dfc-generated"] + - ["", "", True, "__sem_check_add_mapping", "(const char *,int,sem_t *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__sem_check_add_mapping", "(const char *,int,sem_t *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__setpayload", "(double *,double)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadf128", "(_Float128 *,_Float128)", "", "Argument[1].Field[*lsw]", "Argument[*0].Field[*lsw]", "value", "dfc-generated"] + - ["", "", True, "__setpayloadf128", "(_Float128 *,_Float128)", "", "Argument[1].Field[*msw]", "Argument[*0].Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadf128", "(_Float128 *,_Float128)", "", "Argument[1].Field[*msw]", "Argument[*0].Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadf", "(float *,float)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadl", "(long double *,long double)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__setpayloadsig", "(double *,double)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadsigf128", "(_Float128 *,_Float128)", "", "Argument[1].Field[*lsw]", "Argument[*0].Field[*lsw]", "value", "dfc-generated"] + - ["", "", True, "__setpayloadsigf128", "(_Float128 *,_Float128)", "", "Argument[1].Field[*msw]", "Argument[*0].Field[*lsw]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadsigf128", "(_Float128 *,_Float128)", "", "Argument[1].Field[*msw]", "Argument[*0].Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadsigf", "(float *,float)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__setpayloadsigl", "(long double *,long double)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__setstate_r", "(char *,random_data *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__setstate_r", "(char *,random_data *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__settimeofday", "(const timeval *,const timezone *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__sgetsgent_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__sgetsgent_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__sgetsgent_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sgetsgent_r", "(const char *,sgrp *,char *,size_t,sgrp **)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__sgetspent_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[*1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "__sgetspent_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[1]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "__sgetspent_r", "(const char *,spwd *,char *,size_t,spwd **)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__sigaddset_compat", "(__sigset_t *,int)", "", "Argument[1]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "__sigdelset_compat", "(__sigset_t *,int)", "", "Argument[1]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "__sigdescr_np", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__significand", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__significandf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sigprocmask", "(int,const sigset_t *,sigset_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sin_avx", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sin_fma4", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sin_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sin_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sincos_avx", "(double,double *,double *)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__sincos_avx", "(double,double *,double *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_avx", "(double,double *,double *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_avx", "(double,double *,double *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_avx", "(double,double *,double *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_avx", "(double,double *,double *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_fma4", "(double,double *,double *)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__sincos_fma4", "(double,double *,double *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_fma4", "(double,double *,double *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_fma4", "(double,double *,double *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_fma4", "(double,double *,double *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_fma4", "(double,double *,double *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_fma", "(double,double *,double *)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__sincos_fma", "(double,double *,double *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_fma", "(double,double *,double *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_fma", "(double,double *,double *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_fma", "(double,double *,double *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_fma", "(double,double *,double *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_sse2", "(double,double *,double *)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__sincos_sse2", "(double,double *,double *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_sse2", "(double,double *,double *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincos_sse2", "(double,double *,double *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_sse2", "(double,double *,double *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincos_sse2", "(double,double *,double *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf128", "(_Float128,_Float128 *,_Float128 *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincosf128", "(_Float128,_Float128 *,_Float128 *)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__sincosf128", "(_Float128,_Float128 *,_Float128 *)", "", "Argument[0]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__sincosf128", "(_Float128,_Float128 *,_Float128 *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf128", "(_Float128,_Float128 *,_Float128 *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf128", "(_Float128,_Float128 *,_Float128 *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf_fma", "(float,float *,float *)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__sincosf_fma", "(float,float *,float *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincosf_fma", "(float,float *,float *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincosf_fma", "(float,float *,float *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf_fma", "(float,float *,float *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf_fma", "(float,float *,float *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf_sse2", "(float,float *,float *)", "", "Argument[*1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "__sincosf_sse2", "(float,float *,float *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincosf_sse2", "(float,float *,float *)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincosf_sse2", "(float,float *,float *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf_sse2", "(float,float *,float *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincosf_sse2", "(float,float *,float *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sincosl", "(long double,long double *,long double *)", "", "Argument[*2]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__sincosl", "(long double,long double *,long double *)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__sincosl", "(long double,long double *,long double *)", "", "Argument[0]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__sincosl", "(long double,long double *,long double *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__sincosl", "(long double,long double *,long double *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__sinf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sinf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sinf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinf_fma", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinf_sse2", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinh", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinhf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinhf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sinhf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinhl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sinl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__sinpi", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sinpif128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sinpif", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sinpil", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sleep", "(unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sockaddr_un_set", "(sockaddr_un *,const char *)", "", "Argument[*1]", "Argument[*0].Field[*sun_path]", "value", "dfc-generated"] + - ["", "", True, "__sockaddr_un_set", "(sockaddr_un *,const char *)", "", "Argument[1]", "Argument[*0].Field[*sun_path]", "taint", "dfc-generated"] + - ["", "", True, "__sprofil", "(prof *,int,timeval *,unsigned int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__sprofil", "(prof *,int,timeval *,unsigned int)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__sqrt", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sqrtf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__sqrtf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sqrtl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__srand48_r", "(long,drand48_data *)", "", "Argument[0]", "Argument[*1].Field[*__x]", "taint", "dfc-generated"] + - ["", "", True, "__srandom_r", "(unsigned int,random_data *)", "", "Argument[0]", "Argument[*1].Field[**fptr]", "value", "dfc-generated"] + - ["", "", True, "__srandom_r", "(unsigned int,random_data *)", "", "Argument[0]", "Argument[*1].Field[**rptr]", "value", "dfc-generated"] + - ["", "", True, "__statvfs64", "(const char *,statvfs64 *)", "", "Argument[*1].Field[*f_ffree]", "Argument[*1].Field[*f_favail]", "value", "dfc-generated"] + - ["", "", True, "__strcasecmp_l_nonascii", "(const char *,const char *,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasecmp_l_nonascii", "(const char *,const char *,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasecmp_l_nonascii", "(const char *,const char *,locale_t)", "", "Argument[*2].Field[**__ctype_tolower]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasecmp_l_nonascii", "(const char *,const char *,locale_t)", "", "Argument[*2].Field[*__ctype_tolower]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasecmp_l_nonascii", "(const char *,const char *,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasecmp_l_nonascii", "(const char *,const char *,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasestr", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcasestr", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strcasestr", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__strcasestr", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strcoll_l", "(const char *,const char *,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcoll_l", "(const char *,const char *,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcoll_l", "(const char *,const char *,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcoll_l", "(const char *,const char *,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcspn_generic", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strcspn_sse42", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strdup", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strdup", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strerror_r", "(int,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__strerror_r", "(int,char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__strerror_r", "(int,char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strerror_r", "(int,char *,size_t)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__strerror_r", "(int,char *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strerrordesc_np", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strfmon", "(char *,size_t,const char *,...)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strfmon", "(char *,size_t,const char *,...)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strfmon", "(char *,size_t,const char *,...)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strftime_l", "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[*2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__strftime_l", "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strftime_l", "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strftime_l", "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strftime_l", "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strftime_l", "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__strlcat", "(char *__restrict__,const char *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__strlcat", "(char *__restrict__,const char *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strlcat_chk", "(char *__restrict__,const char *__restrict__,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__strlcat_chk", "(char *__restrict__,const char *__restrict__,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strlcpy", "(char *__restrict__,const char *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__strlcpy", "(char *__restrict__,const char *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strlcpy_chk", "(char *__restrict__,const char *__restrict__,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__strlcpy_chk", "(char *__restrict__,const char *__restrict__,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strncasecmp_l_nonascii", "(const char *,const char *,size_t,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strncasecmp_l_nonascii", "(const char *,const char *,size_t,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strncasecmp_l_nonascii", "(const char *,const char *,size_t,locale_t)", "", "Argument[*3].Field[**__ctype_tolower]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strncasecmp_l_nonascii", "(const char *,const char *,size_t,locale_t)", "", "Argument[*3].Field[*__ctype_tolower]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strncasecmp_l_nonascii", "(const char *,const char *,size_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strncasecmp_l_nonascii", "(const char *,const char *,size_t,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strndup", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strndup", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_generic", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strpbrk_sse42", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strptime_internal", "(const char *,const char *,tm *,void *,locale_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__strptime_internal", "(const char *,const char *,tm *,void *,locale_t)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__strptime_internal", "(const char *,const char *,tm *,void *,locale_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__strptime_internal", "(const char *,const char *,tm *,void *,locale_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__strptime_l", "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__strptime_l", "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__strptime_l", "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[**0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[**0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[*0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[*1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__strsep", "(char **,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strspn_generic", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strspn_sse42", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strstr_generic", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__strtod_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__strtod_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtod_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__strtod_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__strtod_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtod_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__strtod_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtod_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtod_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__strtod_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__strtod_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtod_nan", "(const char *,char **,char)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtod_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtod_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtof128_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__strtof128_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtof128_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__strtof128_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__strtof128_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtof128_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__strtof128_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtof128_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtof128_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__strtof128_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__strtof128_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtof128_nan", "(const char *,char **,char)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtof128_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtof128_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtof_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtof_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__strtof_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "__strtof_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__strtof_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtof_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__strtof_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "__strtof_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__strtof_nan", "(const char *,char **,char)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtof_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtof_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[**2]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[**2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[**2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[**2]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*1]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*1]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*2]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*2]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[1]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[1]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[2]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__strtok_r", "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[2]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "__strtol", "(const char *,char **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtol", "(const char *,char **,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol", "(const char *,char **,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtol", "(const char *,char **,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtol", "(const char *,char **,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol", "(const char *,char **,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtol_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtol_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtol_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtol_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtold_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtold_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtold_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtold_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtold_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtold_l", "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtold_nan", "(const char *,char **,char)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtold_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtold_nan", "(const char *,char **,char)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul", "(const char *,char **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul", "(const char *,char **,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul", "(const char *,char **,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtoul", "(const char *,char **,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul", "(const char *,char **,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul", "(const char *,char **,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_internal", "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strtoul_l", "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strverscmp", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strverscmp", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strverscmp", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strverscmp", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strxfrm_l", "(char *,const char *,size_t,locale_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strxfrm_l", "(char *,const char *,size_t,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__strxfrm_l", "(char *,const char *,size_t,locale_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__strxfrm_l", "(char *,const char *,size_t,locale_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__strxfrm_l", "(char *,const char *,size_t,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__sym_ntop", "(const res_sym *,int,int *)", "", "Argument[*0].Field[**humanname]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__sym_ntop", "(const res_sym *,int,int *)", "", "Argument[*0].Field[*humanname]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sym_ntop", "(const res_sym *,int,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__sym_ntop", "(const res_sym *,int,int *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__sym_ntos", "(const res_sym *,int,int *)", "", "Argument[*0].Field[**name]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__sym_ntos", "(const res_sym *,int,int *)", "", "Argument[*0].Field[*name]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sym_ntos", "(const res_sym *,int,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__sym_ntos", "(const res_sym *,int,int *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__sym_ston", "(const res_sym *,const char *,int *)", "", "Argument[*0].Field[*number]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__sym_ston", "(const res_sym *,const char *,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__tan_avx", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tan_fma4", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tan_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tan_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanf128", "(_Float128)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tanf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tanf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanf", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tanh_fma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanh_sse2", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanhf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanhf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanhl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tanl", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__tanpi", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tanpif128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tanpif", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tanpil", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__td_ta_lookup_th_unique", "(const td_thragent_t *,lwpid_t,td_thrhandle_t *)", "", "Argument[0]", "Argument[*2].Field[*th_ta_p]", "value", "dfc-generated"] + - ["", "", True, "__td_ta_stack_used", "(td_thragent_t *,psaddr_t *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__td_ta_stack_used", "(td_thragent_t *,psaddr_t *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__td_ta_stack_used", "(td_thragent_t *,psaddr_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__td_ta_stack_user", "(td_thragent_t *,psaddr_t *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__td_ta_stack_user", "(td_thragent_t *,psaddr_t *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__td_ta_stack_user", "(td_thragent_t *,psaddr_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__tdelete", "(const void *,void **,__compar_fn_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tdelete", "(const void *,void **,__compar_fn_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__textdomain", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__textdomain", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__tfind", "(const void *,void *const *,__compar_fn_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tfind", "(const void *,void *const *,__compar_fn_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tgamma", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tgamma", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tgammaf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__tgammaf", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tgammal", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tgammal", "(long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__timespec_get", "(timespec *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__timespec_getres", "(timespec *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tls_get_addr_slow", "(tls_index *)", "", "Argument[*0].Field[*ti_offset]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tolower_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_tolower]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tolower_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_tolower]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tolower_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__toupper_l", "(int,locale_t)", "", "Argument[*1].Field[**__ctype_toupper]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__toupper_l", "(int,locale_t)", "", "Argument[*1].Field[*__ctype_toupper]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__toupper_l", "(int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__towctrans", "(wint_t,wctrans_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__towctrans", "(wint_t,wctrans_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__towctrans", "(wint_t,wctrans_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__towctrans_l", "(wint_t,wctrans_t,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__towctrans_l", "(wint_t,wctrans_t,locale_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__towctrans_l", "(wint_t,wctrans_t,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__towlower", "(wint_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__towlower_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__towupper", "(wint_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__towupper_l", "(wint_t,locale_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__translated_number_width", "(locale_t,const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__translated_number_width", "(locale_t,const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__translated_number_width", "(locale_t,const char *,const char *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__trunc_c", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__truncf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__truncf_c", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tsearch", "(const void *,void **,__compar_fn_t)", "", "Argument[**0]", "ReturnValue[*].Field[***key]", "value", "dfc-generated"] + - ["", "", True, "__tsearch", "(const void *,void **,__compar_fn_t)", "", "Argument[*0]", "ReturnValue[*].Field[**key]", "value", "dfc-generated"] + - ["", "", True, "__tsearch", "(const void *,void **,__compar_fn_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__tsearch", "(const void *,void **,__compar_fn_t)", "", "Argument[0]", "ReturnValue[*].Field[*key]", "value", "dfc-generated"] + - ["", "", True, "__tsearch", "(const void *,void **,__compar_fn_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__tsearch", "(const void *,void **,__compar_fn_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ttyname_r", "(int,char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__ttyname_r_chk", "(int,char *,size_t,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__tunable_get_default", "(tunable_id_t,void *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__tunable_get_val", "(tunable_id_t,void *,tunable_callback_t)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "__tunable_is_initialized", "(tunable_id_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__tunables_init", "(char **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__tunables_init", "(char **)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "__tunables_init", "(char **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__twalk_r", "(const void *,..(*)(..),void *)", "", "Argument[*0].Field[*left_node]", "Argument[*2].Field[*rec]", "taint", "dfc-generated"] + - ["", "", True, "__twalk_r", "(const void *,..(*)(..),void *)", "", "Argument[*0].Field[*right_node]", "Argument[*2].Field[*rec]", "taint", "dfc-generated"] + - ["", "", True, "__twalk_r", "(const void *,..(*)(..),void *)", "", "Argument[*0]", "Argument[*2].Field[*rec]", "value", "dfc-generated"] + - ["", "", True, "__twalk_r", "(const void *,..(*)(..),void *)", "", "Argument[0]", "Argument[*2].Field[*rec]", "taint", "dfc-generated"] + - ["", "", True, "__tz_convert", "(time_t,int,tm *)", "", "Argument[*2]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "__tz_convert", "(time_t,int,tm *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__tzfile_compute", "(time_t,int,long *,int *,tm *)", "", "Argument[*4].Field[*tm_isdst]", "Argument[*4].Field[*tm_zone]", "taint", "dfc-generated"] + - ["", "", True, "__tzfile_compute", "(time_t,int,long *,int *,tm *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__tzset_parse_tz", "(const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__tzstring", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__tzstring", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__uflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__ufromfp", "(double,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfp", "(double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpf128", "(_Float128,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpf", "(float,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpf", "(float,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpl", "(long double,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpl", "(long double,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpl", "(long double,int,unsigned int)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpl", "(long double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpx", "(double,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpx", "(double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxf128", "(_Float128,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxf128", "(_Float128,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxf", "(float,int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxf", "(float,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxl", "(long double,int,unsigned int)", "", "Argument[0].Field[*lsw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxl", "(long double,int,unsigned int)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxl", "(long double,int,unsigned int)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ufromfpxl", "(long double,int,unsigned int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__underflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__utimensat", "(int,const char *,const timespec[2],int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vasprintf", "(char **,const char *,va_list)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vasprintf", "(char **,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vasprintf_chk", "(char **,int,const char *,__gnuc_va_list,va_list)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vasprintf_chk", "(char **,int,const char *,__gnuc_va_list,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vasprintf_internal", "(char **,const char *,va_list,unsigned int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vasprintf_internal", "(char **,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vdprintf", "(int,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vdprintf_chk", "(int,int,const char *,__gnuc_va_list,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vdprintf_internal", "(int,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__versionsort64", "(const dirent64 **,const dirent64 **)", "", "Argument[**0].Field[*d_name]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__versionsort64", "(const dirent64 **,const dirent64 **)", "", "Argument[**1].Field[*d_name]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__versionsort64", "(const dirent64 **,const dirent64 **)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__versionsort64", "(const dirent64 **,const dirent64 **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vfprintf", "(FILE *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfprintf_internal", "(FILE *,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfscanf_internal", "(FILE *,const char *,va_list,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vfscanf_internal", "(FILE *,const char *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfwprintf", "(FILE *,const wchar_t *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfwprintf_chk", "(FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vfwprintf_internal", "(FILE *,const wchar_t *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfwscanf", "(FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfwscanf_internal", "(FILE *,const wchar_t *,va_list,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vfwscanf_internal", "(FILE *,const wchar_t *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vfxprintf", "(FILE *,const char *,__gnuc_va_list,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vprintf", "(const char *,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vsnprintf_internal", "(char *,size_t,const char *,va_list,unsigned int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vsnprintf_internal", "(char *,size_t,const char *,va_list,unsigned int)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vsnprintf_internal", "(char *,size_t,const char *,va_list,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vsprintf", "(char *,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vsprintf_internal", "(char *,size_t,const char *,va_list,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vstrfmon_l_internal", "(char *,size_t,locale_t,const char *,va_list,unsigned int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vstrfmon_l_internal", "(char *,size_t,locale_t,const char *,va_list,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__vstrfmon_l_internal", "(char *,size_t,locale_t,const char *,va_list,unsigned int)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__vstrfmon_l_internal", "(char *,size_t,locale_t,const char *,va_list,unsigned int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__vswprintf", "(wchar_t *,size_t,const wchar_t *,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vswprintf_chk", "(wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "__vswprintf_internal", "(wchar_t *,size_t,const wchar_t *,va_list,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vswscanf", "(const wchar_t *,const wchar_t *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vsyslog", "(int,const char *,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vsyslog_chk", "(int,int,const char *,__gnuc_va_list,va_list)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__vsyslog_internal", "(int,const char *,__gnuc_va_list,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vwarn_internal", "(const char *,__gnuc_va_list,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vwarnx_internal", "(const char *,__gnuc_va_list,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vwprintf", "(const wchar_t *,__gnuc_va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__vwprintf_chk", "(int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__vwscanf", "(const wchar_t *,va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__w_log1pf128", "(_Float128)", "", "Argument[0].Field[*msw]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__w_log1pf128", "(_Float128)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__w_scalbln", "(double,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__w_scalbln", "(double,long)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__w_scalblnf128", "(_Float128,long)", "", "Argument[0].Field[*msw]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__w_scalblnf128", "(_Float128,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__w_scalblnf128", "(_Float128,long)", "", "Argument[1]", "ReturnValue.Field[*msw]", "taint", "dfc-generated"] + - ["", "", True, "__w_scalblnf", "(float,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__w_scalblnf", "(float,long)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__w_scalblnl", "(long double,long)", "", "Argument[0].Field[*sign_exponent]", "ReturnValue.Field[*sign_exponent]", "taint", "dfc-generated"] + - ["", "", True, "__w_scalblnl", "(long double,long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__w_scalblnl", "(long double,long)", "", "Argument[1]", "ReturnValue.Field[*sign_exponent]", "taint", "dfc-generated"] + - ["", "", True, "__wcpcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcpcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcpcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcpcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcpcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcpcpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcpcpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcpcpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcpcpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcpcpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcpncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcscasecmp_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscasecmp_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscasecmp_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscasecmp_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcscat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcscat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcscat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcschrnul", "(const wchar_t *,const wchar_t,wchar_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcschrnul", "(const wchar_t *,const wchar_t,wchar_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcschrnul", "(const wchar_t *,const wchar_t,wchar_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll", "(const wchar_t *,const wchar_t *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll", "(const wchar_t *,const wchar_t *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll", "(const wchar_t *,const wchar_t *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll", "(const wchar_t *,const wchar_t *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscoll_l", "(const wchar_t *,const wchar_t *,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcscpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcscpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcscpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcscpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcscpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcscpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcscpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[*2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsftime_l", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__wcslcat", "(wchar_t *__restrict__,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcslcat", "(wchar_t *__restrict__,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcslcat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcslcat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcslcpy", "(wchar_t *__restrict__,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcslcpy", "(wchar_t *__restrict__,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcslcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcslcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsmbs_getfct", "(const char *,const char *,size_t *)", "", "Argument[*0]", "ReturnValue[*].Field[**__to_name]", "value", "dfc-generated"] + - ["", "", True, "__wcsmbs_getfct", "(const char *,const char *,size_t *)", "", "Argument[*1]", "ReturnValue[*].Field[**__from_name]", "value", "dfc-generated"] + - ["", "", True, "__wcsmbs_getfct", "(const char *,const char *,size_t *)", "", "Argument[*1]", "ReturnValue[*].Field[**__to_name]", "value", "dfc-generated"] + - ["", "", True, "__wcsmbs_getfct", "(const char *,const char *,size_t *)", "", "Argument[0]", "ReturnValue[*].Field[**__to_name]", "taint", "dfc-generated"] + - ["", "", True, "__wcsmbs_named_conv", "(gconv_fcts *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**tomb].Field[**__to_name]", "value", "dfc-generated"] + - ["", "", True, "__wcsmbs_named_conv", "(gconv_fcts *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**towc].Field[**__from_name]", "value", "dfc-generated"] + - ["", "", True, "__wcsmbs_named_conv", "(gconv_fcts *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**towc].Field[**__to_name]", "value", "dfc-generated"] + - ["", "", True, "__wcsncasecmp_l", "(const wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsncasecmp_l", "(const wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsncasecmp_l", "(const wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsncasecmp_l", "(const wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsncat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcsncat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcsncat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsncat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsncat_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsncat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcsncat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcsncat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsncat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsncat_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wcsncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wcsncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsncpy_generic", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wcsnlen_generic", "(const wchar_t *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsnlen_generic", "(const wchar_t *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsnrtombs", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsnrtombs", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__wcsnrtombs_chk", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsnrtombs_chk", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__wcsrtombs", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsrtombs", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__wcsrtombs_chk", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcsrtombs_chk", "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstod_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__wcstod_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstod_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__wcstod_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__wcstod_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstod_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__wcstod_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstod_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__wcstod_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__wcstod_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstod_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstod_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstod_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstof128_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__wcstof128_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstof128_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__wcstof128_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__wcstof128_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstof128_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "__wcstof128_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstof128_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "__wcstof128_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__wcstof128_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wcstof128_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstof128_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstof128_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstof_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstof_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__wcstof_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "__wcstof_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__wcstof_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstof_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "__wcstof_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "__wcstof_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "__wcstof_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstof_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstof_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol", "(const wchar_t *,wchar_t **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol", "(const wchar_t *,wchar_t **,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol", "(const wchar_t *,wchar_t **,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstol", "(const wchar_t *,wchar_t **,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol", "(const wchar_t *,wchar_t **,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol", "(const wchar_t *,wchar_t **,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstol_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstold_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstold_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstold_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstold_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstold_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstold_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstold_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstold_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstold_nan", "(const wchar_t *,wchar_t **,wchar_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstombs_chk", "(char *,const wchar_t *,size_t,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wcstoul", "(const wchar_t *,wchar_t **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstoul", "(const wchar_t *,wchar_t **,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul", "(const wchar_t *,wchar_t **,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul", "(const wchar_t *,wchar_t **,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstoul", "(const wchar_t *,wchar_t **,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul", "(const wchar_t *,wchar_t **,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstoul_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstoul_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_internal", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "__wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "__wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcstoul_l", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsxfrm_l", "(wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsxfrm_l", "(wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wcsxfrm_l", "(wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wcsxfrm_l", "(wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "__wcsxfrm_l", "(wchar_t *,const wchar_t *,size_t,locale_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__wmemcpy", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wmemcpy", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wmemcpy", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wmemcpy", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wmemcpy", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wmemcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wmemcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wmemcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wmemcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wmemcpy_chk", "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wmemmove", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wmemmove", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wmemmove", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wmemmove", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wmemmove", "(wchar_t *,const wchar_t *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wmemmove_chk", "(wchar_t *,const wchar_t *,size_t,size_t)", "", "Argument[*1]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "__wmemmove_chk", "(wchar_t *,const wchar_t *,size_t,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__wmemmove_chk", "(wchar_t *,const wchar_t *,size_t,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wmemmove_chk", "(wchar_t *,const wchar_t *,size_t,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "__wmemmove_chk", "(wchar_t *,const wchar_t *,size_t,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer", "(__wprintf_buffer *,const wchar_t *,va_list,unsigned int)", "", "Argument[*1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer", "(__wprintf_buffer *,const wchar_t *,va_list,unsigned int)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer", "(__wprintf_buffer *,const wchar_t *,va_list,unsigned int)", "", "Argument[1]", "Argument[*0].Field[*write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer", "(__wprintf_buffer *,const wchar_t *,va_list,unsigned int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_init", "(__wprintf_buffer_as_file *,__wprintf_buffer *)", "", "Argument[1]", "Argument[*0].Field[*next]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[**next].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_overflow", "(FILE *,int)", "", "Argument[1]", "Argument[*0].Field[*wide_stream].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_overflow", "(FILE *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_terminate", "(__wprintf_buffer_as_file *)", "", "Argument[*0].Field[*wide_stream].Field[**_IO_write_ptr]", "Argument[*0].Field[**next].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_terminate", "(__wprintf_buffer_as_file *)", "", "Argument[*0].Field[*wide_stream].Field[*_IO_write_ptr]", "Argument[*0].Field[**next].Field[*write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**next].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[*1]", "Argument[*0].Field[*wide_stream].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[**next].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[1]", "Argument[*0].Field[*wide_stream].Field[**_IO_write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_as_file_xsputn", "(FILE *,const void *,size_t)", "", "Argument[2]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__wprintf_buffer_pad_1", "(__wprintf_buffer *,wchar_t,size_t)", "", "Argument[2]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_pad_1", "(__wprintf_buffer *,wchar_t,size_t)", "", "Argument[2]", "Argument[*0].Field[*write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_putc_1", "(__wprintf_buffer *,wchar_t)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_puts_1", "(__wprintf_buffer *,const wchar_t *)", "", "Argument[*1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_puts_1", "(__wprintf_buffer *,const wchar_t *)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_to_file_init", "(__wprintf_buffer_to_file *,FILE *)", "", "Argument[*1]", "Argument[*0].Field[**fp]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_to_file_init", "(__wprintf_buffer_to_file *,FILE *)", "", "Argument[1]", "Argument[*0].Field[*fp]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_write", "(__wprintf_buffer *,const wchar_t *,size_t)", "", "Argument[*1]", "Argument[*0].Field[**write_ptr]", "value", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_write", "(__wprintf_buffer *,const wchar_t *,size_t)", "", "Argument[1]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_write", "(__wprintf_buffer *,const wchar_t *,size_t)", "", "Argument[2]", "Argument[*0].Field[**write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wprintf_buffer_write", "(__wprintf_buffer *,const wchar_t *,size_t)", "", "Argument[2]", "Argument[*0].Field[*write_ptr]", "taint", "dfc-generated"] + - ["", "", True, "__wuflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__wunderflow", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__x2y2m1", "(double,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1", "(double,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1f128", "(_Float128,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1f128", "(_Float128,_Float128)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1f", "(float,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1f", "(float,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1l", "(long double,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x2y2m1l", "(long double,long double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x86_get_cpuid_feature_leaf", "(unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__x86_get_cpuid_feature_leaf", "(unsigned int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__xmknod", "(int,const char *,__mode_t,mode_t,__dev_t *,dev_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "__xmknodat", "(int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "__xpg_basename", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "__xpg_basename", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__xpg_basename", "(char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "__y0", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__y0", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__y0f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__y0f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__y0f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__y0l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__y0l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__y1", "(double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__y1", "(double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__y1f128", "(_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__y1f", "(float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__y1f", "(float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__y1l", "(long double)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "__y1l", "(long double)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "__yn", "(int,double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__yn", "(int,double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__yn", "(int,double)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ynf128", "(int,_Float128)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ynf", "(int,float)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ynf", "(int,float)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "__ynf", "(int,float)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ynl", "(int,long double)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "__ynl", "(int,long double)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_add_to_namespace_list", "(link_map *,Lmid_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_dl_allocate_tls", "(void *)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "_dl_allocate_tls", "(void *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_dl_allocate_tls", "(void *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_allocate_tls_init", "(void *,bool)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "_dl_allocate_tls_init", "(void *,bool)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_dl_allocate_tls_init", "(void *,bool)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_objopen", "(link_map *,Lmid_t)", "", "Argument[*0].Field[*bindflags]", "Argument[*0].Field[*l_audit_any_plt]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_objsearch", "(const char *,link_map *,unsigned int)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_objsearch", "(const char *,link_map *,unsigned int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_pltenter", "(link_map *,reloc_result *,Elf64_Addr *,void *,long *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_pltenter", "(link_map *,reloc_result *,Elf64_Addr *,void *,long *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[*3].Field[*st_value]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[*5].Field[*l_addr]", "Argument[*1].Field[*boundndx]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[*5]", "Argument[*1].Field[**bound]", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[3]", "Argument[*1].Field[*boundndx]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind", "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)", "", "Argument[5]", "Argument[*1].Field[*bound]", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind_alt", "(link_map *,const Elf64_Sym *,void **,lookup_t)", "", "Argument[*1].Field[*st_value]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind_alt", "(link_map *,const Elf64_Sym *,void **,lookup_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_audit_symbind_alt", "(link_map *,const Elf64_Sym *,void **,lookup_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_dl_aux_init", "(Elf64_auxv_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_cache_libcmp", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_cache_libcmp", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_cache_libcmp", "(const char *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_cache_libcmp", "(const char *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_catch_error", "(const char **,const char **,bool *,..(*)(..),void *)", "", "Argument[4]", "Argument[*4]", "value", "df-generated"] + - ["", "", True, "_dl_catch_exception", "(dl_exception *,..(*)(..),void *)", "", "Argument[2]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "_dl_close", "(void *)", "", "Argument[0]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "_dl_close_worker", "(link_map *,link_map_public *,bool)", "", "Argument[0]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "_dl_deallocate_tls", "(void *,bool)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_debug_initialize", "(Elf64_Addr,Lmid_t)", "", "Argument[0]", "ReturnValue[*].Field[*r_ldbase]", "value", "dfc-generated"] + - ["", "", True, "_dl_debug_update", "(Lmid_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_dl_dst_substitute", "(link_map *,const char *,char *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_dl_dst_substitute", "(link_map *,const char *,char *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_early_allocate", "(size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_dl_exception_create", "(dl_exception *,const char *,const char *)", "", "Argument[*0].Field[**errstring]", "Argument[*0].Field[**message_buffer]", "value", "dfc-generated"] + - ["", "", True, "_dl_exception_create", "(dl_exception *,const char *,const char *)", "", "Argument[*0].Field[*errstring]", "Argument[*0].Field[*message_buffer]", "value", "dfc-generated"] + - ["", "", True, "_dl_exception_create", "(dl_exception *,const char *,const char *)", "", "Argument[*1]", "Argument[*0].Field[**objname]", "value", "dfc-generated"] + - ["", "", True, "_dl_exception_create", "(dl_exception *,const char *,const char *)", "", "Argument[1]", "Argument[*0].Field[**objname]", "taint", "dfc-generated"] + - ["", "", True, "_dl_find_object_update", "(link_map *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_fixup", "(link_map *,Elf64_Word)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_important_hwcaps", "(const char *,const char *,size_t *,size_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_dl_init", "(link_map *,int,char **,char **)", "", "Argument[*0].Field[**l_initfini]", "Argument[*0].Field[***l_initfini]", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_direct", "(link_map *,const char *,uint32_t,const char *,uint32_t)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_direct", "(link_map *,const char *,uint32_t,const char *,uint32_t)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_direct", "(link_map *,const char *,uint32_t,const char *,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_direct", "(link_map *,const char *,uint32_t,const char *,uint32_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_direct", "(link_map *,const char *,uint32_t,const char *,uint32_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_direct", "(link_map *,const char *,uint32_t,const char *,uint32_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_map", "(Lmid_t,const char *)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_dl_lookup_map", "(Lmid_t,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[1]", "Argument[*1].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[1]", "ReturnValue[*].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_dl_lookup_symbol_x", "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "_dl_make_tlsdesc_dynamic", "(link_map *,size_t)", "", "Argument[*0].Field[*l_tls_modid]", "ReturnValue[*].Field[*tlsinfo].Field[*ti_module]", "value", "dfc-generated"] + - ["", "", True, "_dl_make_tlsdesc_dynamic", "(link_map *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_make_tlsdesc_dynamic", "(link_map *,size_t)", "", "Argument[1]", "ReturnValue[*].Field[*tlsinfo].Field[*ti_offset]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[0]", "Argument[*0].Field[*l_loader]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[0]", "ReturnValue[*].Field[*l_loader]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[1]", "Argument[*0].Field[**l_name]", "taint", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[1]", "ReturnValue[*].Field[**l_name]", "taint", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[2]", "Argument[*0].Field[*l_type]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[2]", "ReturnValue[*].Field[*l_type]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[5]", "Argument[*0].Field[*l_ns]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_new_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[5]", "ReturnValue[*].Field[*l_ns]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[0]", "Argument[*0].Field[*l_loader]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[0]", "ReturnValue[*].Field[*l_loader]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[1]", "Argument[*0].Field[**l_name]", "taint", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[1]", "ReturnValue[*].Field[**l_name]", "taint", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[2]", "Argument[*0].Field[*l_type]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[2]", "ReturnValue[*].Field[*l_type]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[5]", "Argument[*0].Field[*l_ns]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object", "(link_map *,const char *,int,int,int,Lmid_t)", "", "Argument[5]", "ReturnValue[*].Field[*l_ns]", "value", "dfc-generated"] + - ["", "", True, "_dl_map_object_deps", "(link_map *,link_map **,unsigned int,int,int)", "", "Argument[1]", "Argument[*0].Field[***l_initfini]", "taint", "dfc-generated"] + - ["", "", True, "_dl_map_object_deps", "(link_map *,link_map **,unsigned int,int,int)", "", "Argument[1]", "Argument[*0].Field[**l_initfini]", "taint", "dfc-generated"] + - ["", "", True, "_dl_map_object_deps", "(link_map *,link_map **,unsigned int,int,int)", "", "Argument[1]", "Argument[*0].Field[*l_searchlist].Field[**r_list]", "taint", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[*0]", "Argument[*3].Field[**l_name]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[*0]", "ReturnValue[*].Field[**l_name]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[1]", "Argument[*3].Field[**l_name]", "taint", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[1]", "ReturnValue[*].Field[**l_name]", "taint", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[2]", "Argument[*3].Field[*l_type]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[2]", "ReturnValue[*].Field[*l_type]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[3]", "Argument[*3].Field[*l_loader]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[3]", "ReturnValue[*].Field[*l_loader]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[5]", "Argument[*3].Field[*l_ns]", "value", "dfc-generated"] + - ["", "", True, "_dl_new_object", "(char *,const char *,int,link_map *,int,Lmid_t)", "", "Argument[5]", "ReturnValue[*].Field[*l_ns]", "value", "dfc-generated"] + - ["", "", True, "_dl_next_ld_env_entry", "(char ***)", "", "Argument[***0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_dl_open", "(const char *,int,const void *,Lmid_t,int,char *[],char *[])", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_dl_open", "(const char *,int,const void *,Lmid_t,int,char *[],char *[])", "", "Argument[3]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_dl_process_pt_gnu_property", "(link_map *,int,const Elf64_Phdr *)", "", "Argument[*2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_dl_profile_fixup", "(link_map *,Elf64_Word,Elf64_Addr,void *,long *)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_relocate_object", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_relocate_object", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_relocate_object", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[0]", "Argument[*0].Field[*l_lookup_cache].Field[*value]", "value", "dfc-generated"] + - ["", "", True, "_dl_relocate_object", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_relocate_object_no_relro", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_relocate_object_no_relro", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_relocate_object_no_relro", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[0]", "Argument[*0].Field[*l_lookup_cache].Field[*value]", "value", "dfc-generated"] + - ["", "", True, "_dl_relocate_object_no_relro", "(link_map *,r_scope_elem *[],int,int)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_rtld_di_serinfo", "(link_map *,Dl_serinfo *,bool)", "", "Argument[*1].Field[*dls_cnt]", "Argument[*1].Field[*dls_size]", "taint", "dfc-generated"] + - ["", "", True, "_dl_rtld_di_serinfo", "(link_map *,Dl_serinfo *,bool)", "", "Argument[1]", "Argument[*1].Field[*dls_size]", "taint", "dfc-generated"] + - ["", "", True, "_dl_signal_cexception", "(int,dl_exception *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_signal_exception", "(int,dl_exception *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[**0]", "Argument[*0]", "value", "df-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[*0]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sort_maps", "(link_map **,unsigned int,bool,bool)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_strtoul", "(const char *,char **)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "_dl_strtoul", "(const char *,char **)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_strtoul", "(const char *,char **)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_strtoul", "(const char *,char **)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "_dl_strtoul", "(const char *,char **)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_dl_sym", "(void *,const char *,void *)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dl_sysdep_read_whole_file", "(const char *,size_t *,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_dl_sysdep_start", "(void **,..(*)(..))", "", "Argument[*0].Field[*a_un].Union[*(unnamed class/struct/union)]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_dl_sysdep_start", "(void **,..(*)(..))", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_dl_vsym", "(void *,const char *,const char *,void *)", "", "Argument[0]", "Argument[*0].Field[**l_reldeps].Field[*list]", "value", "dfc-generated"] + - ["", "", True, "_dlerror_run", "(..(*)(..),void *)", "", "Argument[1]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "_dlfo_sort_mappings", "(dl_find_object_internal *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_fitoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_getlong", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_getlong", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[**1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[*3].Field[*val]", "Argument[*3].Field[**flag]", "value", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[*3].Field[*val]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal", "(int,char **,const char *,const option *,int *,int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[**1]", "Argument[*6]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[**1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*1]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*1]", "Argument[*6]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*3]", "Argument[*6]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*6]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*6]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[*6]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[0]", "Argument[*6]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[1]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[1]", "Argument[*6]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[3]", "Argument[*6]", "taint", "df-generated"] + - ["", "", True, "_getopt_internal_r", "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[**1]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[**1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*1]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*1]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*3]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*5]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*5]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*5]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[0]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[3]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_only_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[**1]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[**1]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*1]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*1]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*3]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*5]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*5]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[*5]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[0]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[3]", "Argument[*5]", "taint", "df-generated"] + - ["", "", True, "_getopt_long_r", "(int,char **,const char *,const option *,int *,_getopt_data *)", "", "Argument[3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_getshort", "(const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_getshort", "(const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_itoa", "(unsigned long long,char *,unsigned int,int)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_itoa_word", "(unsigned long,char *,unsigned int,int)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[**1]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[**1]", "Argument[**3]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[**1]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[*0]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[*0]", "Argument[**3]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[*0]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nl_explode_name", "(char *,const char **,const char **,const char **,const char **,const char **)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_domain", "(const char *,char *,const char *,binding *)", "", "Argument[*0]", "ReturnValue[*].Field[**filename]", "value", "dfc-generated"] + - ["", "", True, "_nl_find_domain", "(const char *,char *,const char *,binding *)", "", "Argument[*0]", "ReturnValue[*].Field[**successor].Field[**filename]", "value", "dfc-generated"] + - ["", "", True, "_nl_find_domain", "(const char *,char *,const char *,binding *)", "", "Argument[0]", "ReturnValue[*].Field[**filename]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_domain", "(const char *,char *,const char *,binding *)", "", "Argument[0]", "ReturnValue[*].Field[**successor].Field[**filename]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[**3]", "ReturnValue[*].Field[**name]", "value", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[*0]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[*3]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[0]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_locale", "(const char *,size_t,int,const char **)", "", "Argument[3]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_msg", "(loaded_l10nfile *,binding *,const char *,int,size_t *)", "", "Argument[*2]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_msg", "(loaded_l10nfile *,binding *,const char *,int,size_t *)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_msg", "(loaded_l10nfile *,binding *,const char *,int,size_t *)", "", "Argument[*2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_msg", "(loaded_l10nfile *,binding *,const char *,int,size_t *)", "", "Argument[2]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_msg", "(loaded_l10nfile *,binding *,const char *,int,size_t *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_find_msg", "(loaded_l10nfile *,binding *,const char *,int,size_t *)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_nl_get_alt_digit", "(unsigned int,__locale_data *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_get_era_entry", "(const tm *,__locale_data *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_nl_get_era_entry", "(const tm *,__locale_data *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_nl_get_walt_digit", "(unsigned int,__locale_data *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_intern_locale_data", "(int,const void *,size_t)", "", "Argument[2]", "ReturnValue[*].Field[**private].Field[*filesize]", "value", "dfc-generated"] + - ["", "", True, "_nl_intern_locale_data", "(int,const void *,size_t)", "", "Argument[2]", "ReturnValue[*].Field[*filesize]", "value", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[**1]", "ReturnValue[*].Field[**name]", "value", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[*1]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nl_load_locale_from_archive", "(int,const char **)", "", "Argument[1]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[**0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[**0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[*0]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[*0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[*1]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[0]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[1]", "Argument[**0]", "taint", "df-generated"] + - ["", "", True, "_nl_make_l10nflist", "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "_nl_parse_alt_digit", "(const char **,__locale_data *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "_nl_parse_alt_digit", "(const char **,__locale_data *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "_nl_parse_alt_digit", "(const char **,__locale_data *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "_nl_select_era_entry", "(int,__locale_data *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_nl_select_era_entry", "(int,__locale_data *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[*1].Field[*linebuffer]", "Argument[*0].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[*0].Field[*pw_name]", "Argument[*0].Field[**pw_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[*0].Field[*sp_namp]", "Argument[*0].Field[**sp_namp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0].Field[**sp_pwdp]", "value", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[**sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[*sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0].Field[**sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0].Field[*sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1].Field[**sp_pwdp]", "value", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[**sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1].Field[**sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1].Field[*sp_pwdp]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[5]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "_nss_compat_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[*e_name]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[*1].Field[*linebuffer]", "Argument[*0].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[0]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[0]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*e_name]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getnetgrent_r", "(__netgrent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*e_name]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getprotobynumber_r", "(int,protoent *,char *,size_t,int *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**r_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**r_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[*1].Field[*linebuffer]", "Argument[*0].Field[**r_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[0]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[*1].Field[*linebuffer]", "Argument[*0].Field[**sg_adm]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[*1].Field[*linebuffer]", "Argument[*0].Field[**sg_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**sg_adm]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**sg_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_db_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[*0]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[0]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[5]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_setnetgrent", "(const char *,__netgrent *)", "", "Argument[*0]", "Argument[*1].Field[*(unknown field)].Union[**(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_setnetgrent", "(const char *,__netgrent *)", "", "Argument[*0]", "Argument[*1].Field[**data]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_setnetgrent", "(const char *,__netgrent *)", "", "Argument[*1].Field[**data]", "Argument[*1].Field[*(unknown field)].Union[**(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_setnetgrent", "(const char *,__netgrent *)", "", "Argument[*1].Field[*data]", "Argument[*1].Field[*(unknown field)].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "_nss_db_setnetgrent", "(const char *,__netgrent *)", "", "Argument[0]", "Argument[*1].Field[*(unknown field)].Union[**(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "_nss_db_setnetgrent", "(const char *,__netgrent *)", "", "Argument[0]", "Argument[*1].Field[**data]", "taint", "dfc-generated"] + - ["", "", True, "_nss_dns_getcanonname_r", "(const char *,char *,size_t,char **,int *,int *)", "", "Argument[*1]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_getcanonname_r", "(const char *,char *,size_t,char **,int *,int *)", "", "Argument[1]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyaddr2_r", "(const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *)", "", "Argument[1]", "Argument[*3].Field[*h_length]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyaddr2_r", "(const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *)", "", "Argument[2]", "Argument[*3].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyaddr2_r", "(const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *)", "", "Argument[8]", "Argument[*8]", "taint", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyaddr_r", "(const void *,socklen_t,int,hostent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*3].Field[*h_length]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyaddr_r", "(const void *,socklen_t,int,hostent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*3].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyname2_r", "(const char *,int,hostent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*2].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyname3_r", "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)", "", "Argument[1]", "Argument[*2].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyname3_r", "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)", "", "Argument[3]", "Argument[*8]", "value", "df-generated"] + - ["", "", True, "_nss_dns_gethostbyname3_r", "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "_nss_dns_gethostbyname_r", "(const char *,hostent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_dns_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[0]", "Argument[*2].Field[*n_net]", "value", "dfc-generated"] + - ["", "", True, "_nss_dns_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_dns_getnetbyname_r", "(const char *,netent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getaliasbyname_r", "(const char *,aliasent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasbyname_r", "(const char *,aliasent *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasbyname_r", "(const char *,aliasent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasbyname_r", "(const char *,aliasent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasbyname_r", "(const char *,aliasent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasbyname_r", "(const char *,aliasent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasent_r", "(aliasent *,char *,size_t,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasent_r", "(aliasent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasent_r", "(aliasent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasent_r", "(aliasent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasent_r", "(aliasent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getaliasent_r", "(aliasent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getetherent_r", "(etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrent_r", "(group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_gethostbyaddr_r", "(const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*3].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname2_r", "(const char *,int,hostent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*2].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname2_r", "(const char *,int,hostent *,char *,size_t,int *,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname2_r", "(const char *,int,hostent *,char *,size_t,int *,int *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname3_r", "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)", "", "Argument[1]", "Argument[*2].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname3_r", "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname3_r", "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[2]", "Argument[**1].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[2]", "Argument[*2].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[3]", "Argument[**1].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[3]", "Argument[*2].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname4_r", "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname_r", "(const char *,hostent *,char *,size_t,int *,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostbyname_r", "(const char *,hostent *,char *,size_t,int *,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostent_r", "(hostent *,char *,size_t,int *,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_gethostent_r", "(hostent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_gethostent_r", "(hostent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_gethostent_r", "(hostent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_gethostent_r", "(hostent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_gethostton_r", "(const char *,etherent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[*3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[4]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyaddr_r", "(uint32_t,int,netent *,char *,size_t,int *,int *)", "", "Argument[4]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyname_r", "(const char *,netent *,char *,size_t,int *,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyname_r", "(const char *,netent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyname_r", "(const char *,netent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyname_r", "(const char *,netent *,char *,size_t,int *,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetbyname_r", "(const char *,netent *,char *,size_t,int *,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetent_r", "(netent *,char *,size_t,int *,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetent_r", "(netent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetent_r", "(netent *,char *,size_t,int *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetent_r", "(netent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetent_r", "(netent *,char *,size_t,int *,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getnetgrent_r", "(__netgrent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1].Field[**e_name]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getntohost_r", "(const ether_addr *,etherent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2].Field[*linebuffer]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobynumber_r", "(int,protoent *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobynumber_r", "(int,protoent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobynumber_r", "(int,protoent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobynumber_r", "(int,protoent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotobynumber_r", "(int,protoent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotoent_r", "(protoent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotoent_r", "(protoent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotoent_r", "(protoent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotoent_r", "(protoent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getprotoent_r", "(protoent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwent_r", "(passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbyname_r", "(const char *,rpcent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcbynumber_r", "(int,rpcent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getrpcent_r", "(rpcent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[4]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[4]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[*3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[4]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservbyport_r", "(int,const char *,servent *,char *,size_t,int *)", "", "Argument[4]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservent_r", "(servent *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservent_r", "(servent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservent_r", "(servent *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservent_r", "(servent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getservent_r", "(servent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgent_r", "(sgrp *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getsgnam_r", "(const char *,sgrp *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[1]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspent_r", "(spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_getspnam_r", "(const char *,spwd *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[5]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_etherent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*0]", "Argument[*1].Field[**e_name]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_etherent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*0]", "Argument[*1].Field[*e_addr].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_grent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**gr_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_grent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_grent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_netent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*0]", "Argument[*1].Field[**n_aliases]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_netent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*0]", "Argument[*1].Field[**n_name]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_netent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**n_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_netent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_netent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_protoent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**p_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_protoent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_protoent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_pwent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_parse_pwent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_parse_pwent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_parse_rpcent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**r_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_rpcent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_rpcent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_servent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**s_aliases]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_servent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_servent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_sgent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**sg_adm]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_sgent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*2].Field[*linebuffer]", "Argument[*1].Field[**sg_mem]", "value", "dfc-generated"] + - ["", "", True, "_nss_files_parse_sgent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_sgent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_files_parse_spent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_files_parse_spent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[0]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "_nss_files_parse_spent", "(char *,void *,parser_data *,size_t,int *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getgrgid_r", "(__gid_t,gid_t,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_getgrnam_r", "(const char *,group *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_getprotobyname_r", "(const char *,protoent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_getprotobynumber_r", "(const int,int,protoent *,char *,size_t,int *)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getpwnam_r", "(const char *,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[*2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getpwuid_r", "(__uid_t,uid_t,passwd *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "_nss_hesiod_getservbyname_r", "(const char *,const char *,servent *,char *,size_t,int *)", "", "Argument[4]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_getservbyport_r", "(const int,int,const char *,servent *,char *,size_t,int *)", "", "Argument[4]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[1]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_nss_hesiod_initgroups_dyn", "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)", "", "Argument[5]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "_nss_netgroup_parseline", "(char **,__netgrent *,char *,size_t,int *)", "", "Argument[**0]", "Argument[*1].Field[*val].Union[**(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "_nss_netgroup_parseline", "(char **,__netgrent *,char *,size_t,int *)", "", "Argument[**0]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "_nss_netgroup_parseline", "(char **,__netgrent *,char *,size_t,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_allocated_p", "(obstack *,void *)", "", "Argument[*0].Field[**chunk].Field[*prev]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_obstack_allocated_p", "(obstack *,void *)", "", "Argument[*0].Field[*chunk]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin", "(obstack *,int,int,..(*)(..),..(*)(..))", "", "Argument[1]", "Argument[*0].Field[*chunk_size]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin", "(obstack *,int,int,..(*)(..),..(*)(..))", "", "Argument[2]", "Argument[*0].Field[**object_base]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin", "(obstack *,int,int,..(*)(..),..(*)(..))", "", "Argument[2]", "Argument[*0].Field[*alignment_mask]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin", "(obstack *,int,int,..(*)(..),..(*)(..))", "", "Argument[2]", "Argument[*0].Field[*object_base]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin", "(obstack *,int,int,..(*)(..),..(*)(..))", "", "Argument[3]", "Argument[*0].Field[*chunkfun]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin", "(obstack *,int,int,..(*)(..),..(*)(..))", "", "Argument[4]", "Argument[*0].Field[*freefun]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[**5]", "Argument[*0].Field[***extra_arg]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[*5]", "Argument[*0].Field[**extra_arg]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[1]", "Argument[*0].Field[*chunk_size]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[2]", "Argument[*0].Field[**object_base]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[2]", "Argument[*0].Field[*alignment_mask]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[2]", "Argument[*0].Field[*object_base]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[3]", "Argument[*0].Field[*chunkfun]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[4]", "Argument[*0].Field[*freefun]", "value", "dfc-generated"] + - ["", "", True, "_obstack_begin_1", "(obstack *,int,int,..(*)(..),..(*)(..),void *)", "", "Argument[5]", "Argument[*0].Field[*extra_arg]", "value", "dfc-generated"] + - ["", "", True, "_obstack_memory_used", "(obstack *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "_obstack_newchunk", "(obstack *,int)", "", "Argument[1]", "Argument[*0].Field[**chunk_limit]", "taint", "dfc-generated"] + - ["", "", True, "_obstack_newchunk", "(obstack *,int)", "", "Argument[1]", "Argument[*0].Field[*chunk_limit]", "taint", "dfc-generated"] + - ["", "", True, "_pthread_cleanup_push_defer", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[**2]", "Argument[*0].Field[***__arg]", "value", "dfc-generated"] + - ["", "", True, "_pthread_cleanup_push_defer", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[*2]", "Argument[*0].Field[**__arg]", "value", "dfc-generated"] + - ["", "", True, "_pthread_cleanup_push_defer", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[1]", "Argument[*0].Field[*__routine]", "value", "dfc-generated"] + - ["", "", True, "_pthread_cleanup_push_defer", "(_pthread_cleanup_buffer *,..(*)(..),void *)", "", "Argument[2]", "Argument[*0].Field[*__arg]", "value", "dfc-generated"] + - ["", "", True, "_td_check_sizeof", "(td_thragent_t *,uint32_t *,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[*1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[*1]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[1]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[3]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *)", "", "Argument[**4]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *)", "", "Argument[**4]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *)", "", "Argument[*4]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "_td_fetch_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *)", "", "Argument[*4]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[*1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[*1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[*4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[1]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[3]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[4]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "_td_locate_field", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[*1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[*1]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[1]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[3]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value", "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[*1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[*1]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[1]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[1]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[3]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[3]", "Argument[4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_td_store_value_local", "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "_tolower", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_toupper", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "_xdr_nis_error", "(XDR *,nis_error *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "_xdr_nis_name", "(XDR *,nis_name *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "a64l", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "a64l", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "add_key", "(const void *,VISIT,void *)", "", "Argument[**0].Field[*validx]", "Argument[*2].Field[**hashtable]", "taint", "dfc-generated"] + - ["", "", True, "add_key", "(const void *,VISIT,void *)", "", "Argument[*2].Field[*keystrtab]", "Argument[*2].Field[**keyidxtab]", "taint", "dfc-generated"] + - ["", "", True, "add_locale_to_archive", "(locarhandle *,const char *,locale_data_t,bool)", "", "Argument[*1]", "Argument[*0].Field[**addr]", "value", "dfc-generated"] + - ["", "", True, "add_locale_to_archive", "(locarhandle *,const char *,locale_data_t,bool)", "", "Argument[1]", "Argument[*0].Field[**addr]", "taint", "dfc-generated"] + - ["", "", True, "add_locale_to_archive", "(locarhandle *,const char *,locale_data_t,bool)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "add_locale_uint32_array", "(locale_file *,const uint32_t *,size_t)", "", "Argument[2]", "Argument[*0].Field[*data].Field[**next_free]", "taint", "dfc-generated"] + - ["", "", True, "add_locales_to_archive", "(size_t,char *[],bool)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "add_locales_to_archive", "(size_t,char *[],bool)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "add_locales_to_archive", "(size_t,char *[],bool)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "add_to_readlist", "(int,const char *,const char *,int,localedef_t *)", "", "Argument[*1]", "ReturnValue[*].Field[**name]", "value", "dfc-generated"] + - ["", "", True, "add_to_readlist", "(int,const char *,const char *,int,localedef_t *)", "", "Argument[*2]", "ReturnValue[*].Field[**repertoire_name]", "value", "dfc-generated"] + - ["", "", True, "add_to_readlist", "(int,const char *,const char *,int,localedef_t *)", "", "Argument[0]", "ReturnValue[*].Field[*categories].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "add_to_readlist", "(int,const char *,const char *,int,localedef_t *)", "", "Argument[0]", "ReturnValue[*].Field[*needed]", "taint", "dfc-generated"] + - ["", "", True, "add_to_readlist", "(int,const char *,const char *,int,localedef_t *)", "", "Argument[1]", "ReturnValue[*].Field[*name]", "value", "dfc-generated"] + - ["", "", True, "add_to_readlist", "(int,const char *,const char *,int,localedef_t *)", "", "Argument[2]", "ReturnValue[*].Field[*repertoire_name]", "value", "dfc-generated"] + - ["", "", True, "addgetnetgrent", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addgetnetgrent", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addgrbygid", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addgrbygid", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addgrbygid", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "addgrbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addgrbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addhstai", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addhstai", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addhstbyaddr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addhstbyaddr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addhstbyaddrv6", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addhstbyaddrv6", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addhstbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addhstbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addhstbynamev6", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addhstbynamev6", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addinitgroups", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addinitgroups", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addinnetgr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addinnetgr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addinnetgr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*3].Field[*head].Field[*timeout]", "Argument[*0].Field[*wakeup_time]", "value", "dfc-generated"] + - ["", "", True, "addinnetgr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addinnetgr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addinnetgr", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "addpwbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addpwbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addpwbyuid", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addpwbyuid", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addpwbyuid", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "address_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "addrsort", "(char **,int)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "addrsort", "(char **,int)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "addrsort", "(char **,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "addservbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addservbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addservbyname", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "addservbyport", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "addservbyport", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[*2].Field[*key_len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "addservbyport", "(database_dyn *,int,request_header *,void *,uid_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "advance", "(const char *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "aligned_alloc", "(size_t,size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "aligned_alloc", "(size_t,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "aligned_alloc", "(size_t,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "aligned_alloc", "(size_t,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "argz_delete", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "argz_delete", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "argz_delete", "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "argz_next", "(const char *,size_t,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "argz_next", "(const char *,size_t,const char *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "argz_next", "(const char *,size_t,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "argz_next", "(const char *,size_t,const char *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "argz_next", "(const char *,size_t,const char *)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[*0]", "ReturnValue[*].Field[**ah_private].Field[**ad_servername]", "value", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[*2]", "ReturnValue[*].Field[**ah_private].Field[*ad_syncaddr]", "value", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[*3]", "ReturnValue[*].Field[*ah_key]", "value", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[0]", "ReturnValue[*].Field[**ah_private].Field[**ad_servername]", "taint", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[1]", "ReturnValue[*].Field[**ah_private].Field[*ad_window]", "value", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[2]", "ReturnValue[*].Field[**ah_private].Field[*ad_syncaddr]", "taint", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "authdes_create", "(const char *,u_int,sockaddr *,des_block *)", "", "Argument[3]", "ReturnValue[*].Field[*ah_key]", "taint", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[*0]", "ReturnValue[*].Field[**ah_private].Field[**ad_servername]", "value", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[*1].Field[**n_bytes]", "ReturnValue[*].Field[**ah_private].Field[*ad_pkey]", "value", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[*1].Field[*n_bytes]", "ReturnValue[*].Field[**ah_private].Field[*ad_pkey]", "taint", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[*3]", "ReturnValue[*].Field[**ah_private].Field[*ad_syncaddr]", "value", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[*4]", "ReturnValue[*].Field[*ah_key]", "value", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[0]", "ReturnValue[*].Field[**ah_private].Field[**ad_servername]", "taint", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[2]", "ReturnValue[*].Field[**ah_private].Field[*ad_window]", "value", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[3]", "ReturnValue[*].Field[**ah_private].Field[*ad_syncaddr]", "taint", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "authdes_pk_create", "(const char *,netobj *,u_int,sockaddr *,des_block *)", "", "Argument[4]", "ReturnValue[*].Field[*ah_key]", "taint", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "bsearch", "(const void *,const void *,size_t,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "btowc", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "c16rtomb", "(char *,char16_t,mbstate_t *)", "", "Argument[1]", "Argument[*2].Field[*__value].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "c8rtomb", "(char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__)", "", "Argument[1]", "Argument[*2].Field[*__value].Union[*(unnamed class/struct/union)]", "value", "dfc-generated"] + - ["", "", True, "cache_add", "(int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool)", "", "Argument[*3].Field[*timeout]", "Argument[*5].Field[*wakeup_time]", "value", "dfc-generated"] + - ["", "", True, "cache_search", "(request_type,const void *,size_t,database_dyn *,uid_t)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "cache_search", "(request_type,const void *,size_t,database_dyn *,uid_t)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "cache_search", "(request_type,const void *,size_t,database_dyn *,uid_t)", "", "Argument[*3]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "cache_search", "(request_type,const void *,size_t,database_dyn *,uid_t)", "", "Argument[*3]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "cache_search", "(request_type,const void *,size_t,database_dyn *,uid_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "cache_search", "(request_type,const void *,size_t,database_dyn *,uid_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "catgets", "(nl_catd,int,int,const char *)", "", "Argument[*3]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "catgets", "(nl_catd,int,int,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "catgets", "(nl_catd,int,int,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "catgets", "(nl_catd,int,int,const char *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "catgets", "(nl_catd,int,int,const char *)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "catgets", "(nl_catd,int,int,const char *)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "charmap_aliases", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "charmap_aliases", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_aliases", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "charmap_aliases", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_find_symbol", "(const charmap_t *,const char *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_find_symbol", "(const charmap_t *,const char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "charmap_find_symbol", "(const charmap_t *,const char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_find_symbol", "(const charmap_t *,const char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "charmap_find_symbol", "(const charmap_t *,const char *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_find_symbol", "(const charmap_t *,const char *,size_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "charmap_find_value", "(const charmap_t *,const char *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_find_value", "(const charmap_t *,const char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "charmap_find_value", "(const charmap_t *,const char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_find_value", "(const charmap_t *,const char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "charmap_find_value", "(const charmap_t *,const char *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_find_value", "(const charmap_t *,const char *,size_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "charmap_hash", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "charmap_hash", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_hash", "(const char *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "charmap_hash", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_hash", "(const char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "charmap_hash", "(const char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_open", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_open", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "charmap_opendir", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[**directory]", "value", "dfc-generated"] + - ["", "", True, "charmap_opendir", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[**directory]", "taint", "dfc-generated"] + - ["", "", True, "charmap_readdir", "(CHARMAP_DIR *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "charmap_readdir", "(CHARMAP_DIR *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "check_addrinfo", "(const char *,addrinfo *,int,const char *)", "", "Argument[*1].Field[**ai_next].Field[**ai_next]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "check_addrinfo", "(const char *,addrinfo *,int,const char *)", "", "Argument[*1].Field[**ai_next]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "chroot_canon", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "chroot_canon", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "clnttcp_create", "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)", "", "Argument[*0]", "ReturnValue[*].Field[**cl_private].Field[*ct_addr]", "value", "dfc-generated"] + - ["", "", True, "clnttcp_create", "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)", "", "Argument[*3]", "ReturnValue[*].Field[**cl_private].Field[*ct_sock]", "value", "dfc-generated"] + - ["", "", True, "clnttcp_create", "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "clnttcp_create", "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)", "", "Argument[0]", "ReturnValue[*].Field[**cl_private].Field[*ct_addr]", "taint", "dfc-generated"] + - ["", "", True, "clnttcp_create", "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "clnttcp_create", "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)", "", "Argument[3]", "ReturnValue[*].Field[**cl_private].Field[*ct_sock]", "taint", "dfc-generated"] + - ["", "", True, "clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int)", "", "Argument[6]", "ReturnValue[*].Field[**cl_private].Field[**cu_outbuf]", "taint", "dfc-generated"] + - ["", "", True, "clntudp_bufcreate", "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int)", "", "Argument[6]", "ReturnValue[*].Field[**cl_private].Field[*cu_outbuf]", "taint", "dfc-generated"] + - ["", "", True, "clntudp_create", "(sockaddr_in *,u_long,u_long,timeval,int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "clntudp_create", "(sockaddr_in *,u_long,u_long,timeval,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "clntunix_create", "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)", "", "Argument[*0]", "ReturnValue[*].Field[**cl_private].Field[*ct_addr]", "value", "dfc-generated"] + - ["", "", True, "clntunix_create", "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)", "", "Argument[*3]", "ReturnValue[*].Field[**cl_private].Field[*ct_sock]", "value", "dfc-generated"] + - ["", "", True, "clntunix_create", "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "clntunix_create", "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)", "", "Argument[0]", "ReturnValue[*].Field[**cl_private].Field[*ct_addr]", "taint", "dfc-generated"] + - ["", "", True, "clntunix_create", "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "clntunix_create", "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)", "", "Argument[3]", "ReturnValue[*].Field[**cl_private].Field[*ct_sock]", "taint", "dfc-generated"] + - ["", "", True, "compute_hashval", "(const void *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "compute_hashval", "(const void *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "compute_hashval", "(const void *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ctermid", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ctime_r", "(const time_t *,const time_t *__restrict__,char *,char *__restrict__)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "ctime_r", "(const time_t *,const time_t *__restrict__,char *,char *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ctime_r", "(const time_t *,const time_t *__restrict__,char *,char *__restrict__)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ctime_r", "(const time_t *,const time_t *__restrict__,char *,char *__restrict__)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "cuserid", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "cuserid", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "data_string", "(unsigned char *,const char *,int)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "data_string", "(unsigned char *,const char *,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "data_string", "(unsigned char *,const char *,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "data_string", "(unsigned char *,const char *,int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "delete_locales_from_archive", "(size_t,char *[])", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "delete_locales_from_archive", "(size_t,char *[])", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "delete_locales_from_archive", "(size_t,char *[])", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "des_setparity", "(char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "dirname", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "dirname", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "div", "(int,int)", "", "Argument[0]", "ReturnValue.Field[*quot]", "taint", "dfc-generated"] + - ["", "", True, "div", "(int,int)", "", "Argument[0]", "ReturnValue.Field[*rem]", "taint", "dfc-generated"] + - ["", "", True, "div", "(int,int)", "", "Argument[1]", "ReturnValue.Field[*quot]", "taint", "dfc-generated"] + - ["", "", True, "div", "(int,int)", "", "Argument[1]", "ReturnValue.Field[*rem]", "taint", "dfc-generated"] + - ["", "", True, "drand48_r", "(drand48_data *,drand48_data *__restrict__,double *,double *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "dtotimespec", "(double)", "", "Argument[0]", "ReturnValue.Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "dtotimespec", "(double)", "", "Argument[0]", "ReturnValue.Field[*tv_sec]", "taint", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[*2]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[*3]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_add", "(char **,size_t *,const char *,const char *)", "", "Argument[3]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_entry", "(const char *,size_t,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "envz_entry", "(const char *,size_t,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "envz_entry", "(const char *,size_t,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "envz_get", "(const char *,size_t,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "envz_get", "(const char *,size_t,const char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "envz_get", "(const char *,size_t,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "envz_merge", "(char **,size_t *,const char *,size_t,int)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_merge", "(char **,size_t *,const char *,size_t,int)", "", "Argument[*2]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "envz_merge", "(char **,size_t *,const char *,size_t,int)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_merge", "(char **,size_t *,const char *,size_t,int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "envz_merge", "(char **,size_t *,const char *,size_t,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "envz_merge", "(char **,size_t *,const char *,size_t,int)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_remove", "(char **,size_t *,const char *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_remove", "(char **,size_t *,const char *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_remove", "(char **,size_t *,const char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "envz_remove", "(char **,size_t *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "envz_strip", "(char **,size_t *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_strip", "(char **,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "envz_strip", "(char **,size_t *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "envz_strip", "(char **,size_t *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "envz_strip", "(char **,size_t *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "envz_strip", "(char **,size_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "erand48", "(unsigned short[3])", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton_r", "(const char *,ether_addr *)", "", "Argument[*0]", "Argument[*1].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton_r", "(const char *,ether_addr *)", "", "Argument[*0]", "ReturnValue[*].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton_r", "(const char *,ether_addr *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "ether_aton_r", "(const char *,ether_addr *)", "", "Argument[0]", "Argument[*1].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton_r", "(const char *,ether_addr *)", "", "Argument[0]", "ReturnValue[*].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_aton_r", "(const char *,ether_addr *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ether_line", "(const char *,ether_addr *,char *)", "", "Argument[*0]", "Argument[*1].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_line", "(const char *,ether_addr *,char *)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "ether_line", "(const char *,ether_addr *,char *)", "", "Argument[0]", "Argument[*1].Field[*ether_addr_octet]", "taint", "dfc-generated"] + - ["", "", True, "ether_line", "(const char *,ether_addr *,char *)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "ether_line", "(const char *,ether_addr *,char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "ether_ntoa", "(const ether_addr *)", "", "Argument[*0].Field[*ether_addr_octet]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "ether_ntoa_r", "(const ether_addr *,char *)", "", "Argument[*0].Field[*ether_addr_octet]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ether_ntoa_r", "(const ether_addr *,char *)", "", "Argument[*0].Field[*ether_addr_octet]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "ether_ntoa_r", "(const ether_addr *,char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "fegetexceptflag", "(fexcept_t *,int)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "feof_unlocked", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ferror_unlocked", "(FILE *)", "", "Argument[*0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "fgetc_unlocked", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "fgetgrent", "(FILE *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "fgetpwent", "(FILE *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "fgetsgent", "(FILE *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "fgetspent", "(FILE *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "fgetws_unlocked", "(wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "fgetws_unlocked", "(wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "find_entry", "(const hash_table *,const void *,size_t,void **)", "", "Argument[*0].Field[**table].Field[**data]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "find_entry", "(const hash_table *,const void *,size_t,void **)", "", "Argument[*0].Field[**table].Field[*data]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "find_locale", "(int,const char *,const char *,const charmap_t *)", "", "Argument[0]", "ReturnValue[*].Field[*categories].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "find_locale", "(int,const char *,const char *,const charmap_t *)", "", "Argument[0]", "ReturnValue[*].Field[*needed]", "taint", "dfc-generated"] + - ["", "", True, "fputc", "(int,FILE *)", "", "Argument[0]", "Argument[*1].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "fputc_unlocked", "(int,FILE *)", "", "Argument[0]", "Argument[*1].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "fputwc", "(wchar_t,FILE *,__FILE *)", "", "Argument[0]", "Argument[*1].Field[**_wide_data].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "fputwc_unlocked", "(wchar_t,FILE *,__FILE *)", "", "Argument[0]", "Argument[*1].Field[**_wide_data].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "freeaddrinfo", "(addrinfo *)", "", "Argument[*0].Field[**ai_next].Field[**ai_next]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "freeaddrinfo", "(addrinfo *)", "", "Argument[*0].Field[**ai_next]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "freopen64", "(const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[*2]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "ftok", "(const char *,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "fts_children", "(FTS *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "fts_children", "(FTS *,int)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "fts_close", "(FTS *)", "", "Argument[*0].Field[**fts_child].Field[**fts_link]", "Argument[*0].Field[**fts_child]", "value", "dfc-generated"] + - ["", "", True, "fts_open", "(char *const *,int,..(*)(..))", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "fts_open", "(char *const *,int,..(*)(..))", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "fts_open", "(char *const *,int,..(*)(..))", "", "Argument[1]", "ReturnValue[*].Field[*fts_options]", "value", "dfc-generated"] + - ["", "", True, "fts_open", "(char *const *,int,..(*)(..))", "", "Argument[2]", "ReturnValue[*].Field[*fts_compar]", "value", "dfc-generated"] + - ["", "", True, "fts_read", "(FTS *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "fts_read", "(FTS *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "fts_set", "(FTS *,FTSENT *,int)", "", "Argument[2]", "Argument[*1].Field[*fts_instr]", "value", "dfc-generated"] + - ["", "", True, "fwide", "(FILE *,__FILE *,int)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "fwrite_unlocked", "(const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "fwrite_unlocked", "(const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "gc", "(database_dyn *)", "", "Argument[*0].Field[*data]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**2]", "Argument[*3]", "value", "df-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[**4]", "Argument[*1].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "df-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[*3]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "gconv", "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "getc_unlocked", "(FILE *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "getdate", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "getdate", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "getentropy", "(void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "getgrouplist", "(const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *)", "", "Argument[1]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "getgrouplist", "(const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "gethostbyname2", "(const char *,int)", "", "Argument[*0]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "gethostbyname2", "(const char *,int)", "", "Argument[*0]", "ReturnValue[*].Field[**h_name]", "value", "dfc-generated"] + - ["", "", True, "gethostbyname2", "(const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "gethostbyname2", "(const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[**h_name]", "taint", "dfc-generated"] + - ["", "", True, "gethostbyname2", "(const char *,int)", "", "Argument[1]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "gethostbyname2", "(const char *,int)", "", "Argument[1]", "ReturnValue[*].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "getipv4sourcefilter", "(int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "getline", "(char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "getline", "(char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "getline", "(char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "getline", "(char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "getline", "(char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "getloadavg", "(double[],int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "getmntent", "(FILE *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "getnameinfo", "(const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "getnameinfo", "(const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int)", "", "Argument[3]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "getnameinfo", "(const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "getnameinfo", "(const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int)", "", "Argument[5]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[**1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "getopt", "(int,char *const *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[**1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*3].Field[*val]", "Argument[*3].Field[**flag]", "value", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*3].Field[*val]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "getopt_long", "(int,char *const *,const char *,const option *,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[**1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*3].Field[*val]", "Argument[*3].Field[**flag]", "value", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[*3].Field[*val]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "getopt_long_only", "(int,char *const *,const char *,const option *,int *)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "getsourcefilter", "(int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "getsubopt", "(char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__)", "", "Argument[**0]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "getsubopt", "(char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__)", "", "Argument[**0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "getsubopt", "(char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "Argument[*2]", "value", "df-generated"] + - ["", "", True, "getutmp", "(const utmpx *,utmp *)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "getutmp", "(const utmpx *,utmp *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "getwd", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "glibc_hwcaps_subdirectory_name", "(const glibc_hwcaps_subdirectory *)", "", "Argument[*0].Field[**name].Field[*string]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "gmtime", "(const time_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "gmtime", "(const time_t *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "gnu_dev_major", "(__dev_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "gnu_dev_makedev", "(unsigned int,unsigned int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "gnu_dev_makedev", "(unsigned int,unsigned int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "gnu_dev_minor", "(__dev_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "handle_copy", "(linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int)", "", "Argument[*0]", "Argument[*3]", "taint", "df-generated"] + - ["", "", True, "host2netname", "(char[256],const char *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "host2netname", "(char[256],const char *,const char *)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "host2netname", "(char[256],const char *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "host2netname", "(char[256],const char *,const char *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "hsearch", "(ENTRY,ACTION)", "", "Argument[0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "iconv", "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[**3]", "Argument[*0].Field[*__data].Field[**__outbuf]", "value", "dfc-generated"] + - ["", "", True, "iconv", "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[**3]", "Argument[*0].Field[*__data].Field[**__outbufend]", "value", "dfc-generated"] + - ["", "", True, "iconv", "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "iconv", "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "iconv", "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "iconv", "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "iconv_open", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*].Field[**__steps].Field[**__to_name]", "taint", "dfc-generated"] + - ["", "", True, "iconv_open", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*].Field[**__steps].Field[**__from_name]", "taint", "dfc-generated"] + - ["", "", True, "iconv_open", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*].Field[**__steps].Field[**__to_name]", "taint", "dfc-generated"] + - ["", "", True, "iconv_open", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*].Field[**__steps].Field[**__to_name]", "taint", "dfc-generated"] + - ["", "", True, "iconv_open", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*].Field[**__steps].Field[**__from_name]", "taint", "dfc-generated"] + - ["", "", True, "iconv_open", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*].Field[**__steps].Field[**__to_name]", "taint", "dfc-generated"] + - ["", "", True, "identification_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[*0]", "Argument[**6]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[0]", "Argument[**6]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[0]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[3]", "Argument[**6].Field[*ip6o_type]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[3]", "Argument[*0].Field[*ip6o_type]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[4]", "Argument[**6].Field[*ip6o_len]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[4]", "Argument[*0].Field[*ip6o_len]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_append", "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_find", "(void *,socklen_t,int,uint8_t,socklen_t *,void **)", "", "Argument[*0]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "inet6_opt_find", "(void *,socklen_t,int,uint8_t,socklen_t *,void **)", "", "Argument[0]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_find", "(void *,socklen_t,int,uint8_t,socklen_t *,void **)", "", "Argument[0]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_find", "(void *,socklen_t,int,uint8_t,socklen_t *,void **)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_find", "(void *,socklen_t,int,uint8_t,socklen_t *,void **)", "", "Argument[2]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_find", "(void *,socklen_t,int,uint8_t,socklen_t *,void **)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_finish", "(void *,socklen_t,int)", "", "Argument[2]", "Argument[*0].Field[*ip6o_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_finish", "(void *,socklen_t,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_get_val", "(void *,int,void *,socklen_t)", "", "Argument[*0]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_get_val", "(void *,int,void *,socklen_t)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_get_val", "(void *,int,void *,socklen_t)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_get_val", "(void *,int,void *,socklen_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_get_val", "(void *,int,void *,socklen_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_init", "(void *,socklen_t)", "", "Argument[1]", "Argument[*0].Field[*ip6h_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_next", "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)", "", "Argument[*0]", "Argument[**5]", "value", "df-generated"] + - ["", "", True, "inet6_opt_next", "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)", "", "Argument[0]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_next", "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)", "", "Argument[0]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_next", "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_next", "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)", "", "Argument[2]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_next", "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_set_val", "(void *,int,void *,socklen_t)", "", "Argument[**2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_set_val", "(void *,int,void *,socklen_t)", "", "Argument[*2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "inet6_opt_set_val", "(void *,int,void *,socklen_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_set_val", "(void *,int,void *,socklen_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "inet6_opt_set_val", "(void *,int,void *,socklen_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[1]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[2]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[2]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[3]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_alloc", "(cmsghdr *,int,int,int)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_append", "(cmsghdr *,const uint8_t *,int,int)", "", "Argument[*1]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_append", "(cmsghdr *,const uint8_t *,int,int)", "", "Argument[1]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_append", "(cmsghdr *,const uint8_t *,int,int)", "", "Argument[2]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_append", "(cmsghdr *,const uint8_t *,int,int)", "", "Argument[3]", "Argument[*0].Field[*cmsg_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_find", "(const cmsghdr *,uint8_t **,int)", "", "Argument[**1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_find", "(const cmsghdr *,uint8_t **,int)", "", "Argument[*0].Field[*__cmsg_data]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "inet6_option_find", "(const cmsghdr *,uint8_t **,int)", "", "Argument[*0].Field[*__cmsg_data]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_find", "(const cmsghdr *,uint8_t **,int)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_find", "(const cmsghdr *,uint8_t **,int)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_find", "(const cmsghdr *,uint8_t **,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_init", "(void *,cmsghdr **,int)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "inet6_option_init", "(void *,cmsghdr **,int)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "inet6_option_init", "(void *,cmsghdr **,int)", "", "Argument[2]", "Argument[**1].Field[*cmsg_type]", "value", "dfc-generated"] + - ["", "", True, "inet6_option_init", "(void *,cmsghdr **,int)", "", "Argument[2]", "Argument[*0].Field[*cmsg_type]", "value", "dfc-generated"] + - ["", "", True, "inet6_option_next", "(const cmsghdr *,uint8_t **)", "", "Argument[**1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_next", "(const cmsghdr *,uint8_t **)", "", "Argument[*0].Field[*__cmsg_data]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "inet6_option_next", "(const cmsghdr *,uint8_t **)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_next", "(const cmsghdr *,uint8_t **)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_next", "(const cmsghdr *,uint8_t **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_option_space", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_add", "(void *,const in6_addr *)", "", "Argument[*1]", "Argument[*0].Field[*ip6r0_addr]", "value", "dfc-generated"] + - ["", "", True, "inet6_rth_add", "(void *,const in6_addr *)", "", "Argument[1]", "Argument[*0].Field[*ip6r0_addr]", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_getaddr", "(const void *,int)", "", "Argument[*0].Field[*ip6r0_addr]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "inet6_rth_getaddr", "(const void *,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_getaddr", "(const void *,int)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_init", "(void *,socklen_t,int,int)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "inet6_rth_init", "(void *,socklen_t,int,int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "inet6_rth_init", "(void *,socklen_t,int,int)", "", "Argument[3]", "Argument[*0].Field[*ip6r_len]", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_reverse", "(const void *,void *)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "inet6_rth_reverse", "(const void *,void *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_segments", "(const void *)", "", "Argument[*0].Field[*ip6r_len]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet6_rth_space", "(int,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet_net_ntop", "(int,const void *,int,char *,size_t)", "", "Argument[*1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "inet_net_ntop", "(int,const void *,int,char *,size_t)", "", "Argument[*3]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "inet_net_ntop", "(int,const void *,int,char *,size_t)", "", "Argument[1]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "inet_net_ntop", "(int,const void *,int,char *,size_t)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "inet_net_ntop", "(int,const void *,int,char *,size_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "inet_net_ntop", "(int,const void *,int,char *,size_t)", "", "Argument[3]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "inet_net_pton", "(int,const char *,void *,size_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "inet_net_pton", "(int,const char *,void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inet_neta", "(in_addr_t,uint32_t,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "inet_neta", "(in_addr_t,uint32_t,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet_neta", "(in_addr_t,uint32_t,char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet_neta", "(in_addr_t,uint32_t,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "inet_nsap_addr", "(const char *,u_char *,unsigned char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet_nsap_addr", "(const char *,u_char *,unsigned char *,int)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet_nsap_addr", "(const char *,u_char *,unsigned char *,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "inet_nsap_ntoa", "(int,const u_char *,const unsigned char *,char *)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "inet_nsap_ntoa", "(int,const u_char *,const unsigned char *,char *)", "", "Argument[*2]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "inet_nsap_ntoa", "(int,const u_char *,const unsigned char *,char *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "inet_nsap_ntoa", "(int,const u_char *,const unsigned char *,char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "inet_nsap_ntoa", "(int,const u_char *,const unsigned char *,char *)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "inetstr2int", "(const char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "inetstr2int", "(const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "init_hash", "(hash_table *,unsigned long)", "", "Argument[1]", "Argument[*0].Field[*size]", "taint", "dfc-generated"] + - ["", "", True, "init_locale_data", "(locale_file *,size_t)", "", "Argument[1]", "Argument[*0].Field[*n_elements]", "value", "dfc-generated"] + - ["", "", True, "insert_entry", "(hash_table *,const void *,size_t,void *)", "", "Argument[**3]", "Argument[*0].Field[**first].Field[***data]", "value", "dfc-generated"] + - ["", "", True, "insert_entry", "(hash_table *,const void *,size_t,void *)", "", "Argument[*3]", "Argument[*0].Field[**first].Field[**data]", "value", "dfc-generated"] + - ["", "", True, "insert_entry", "(hash_table *,const void *,size_t,void *)", "", "Argument[3]", "Argument[*0].Field[**first].Field[*data]", "value", "dfc-generated"] + - ["", "", True, "insque", "(void *,void *)", "", "Argument[0]", "Argument[*0].Field[**q_back].Field[*q_forw]", "value", "dfc-generated"] + - ["", "", True, "insque", "(void *,void *)", "", "Argument[0]", "Argument[*0].Field[**q_forw].Field[*q_back]", "value", "dfc-generated"] + - ["", "", True, "insque", "(void *,void *)", "", "Argument[0]", "Argument[*1].Field[*q_forw]", "value", "dfc-generated"] + - ["", "", True, "insque", "(void *,void *)", "", "Argument[1]", "Argument[*0].Field[*q_back]", "value", "dfc-generated"] + - ["", "", True, "isalnum", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isalpha", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isblank", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "iscntrl", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isdigit", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isgraph", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "islower", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isprint", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ispunct", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isspace", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isupper", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "isxdigit", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "iterate_table", "(const hash_table *,void **,const void **,size_t *,void **)", "", "Argument[*0].Field[**first].Field[**next]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "iterate_table", "(const hash_table *,void **,const void **,size_t *,void **)", "", "Argument[*0].Field[**first].Field[*next]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "iterate_table", "(const hash_table *,void **,const void **,size_t *,void **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "jrand48", "(unsigned short[3])", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "jrand48", "(unsigned short[3])", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "jrand48", "(unsigned short[3])", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "key_decryptsession", "(char *,des_block *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "key_decryptsession_pk", "(char *,netobj *,des_block *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "key_decryptsession_pk", "(char *,netobj *,des_block *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "key_encryptsession", "(char *,des_block *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "key_encryptsession_pk", "(char *,netobj *,des_block *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "key_encryptsession_pk", "(char *,netobj *,des_block *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "l64a", "(long)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "la_objopen", "(link_map *,Lmid_t,uintptr_t *)", "", "Argument[*0].Field[**l_libname].Field[*name]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "la_symbind64", "(Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *)", "", "Argument[*0].Field[*st_value]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "la_symbind64", "(Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "la_version", "(unsigned int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "la_x86_64_gnu_pltenter", "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *)", "", "Argument[*0].Field[*st_value]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "la_x86_64_gnu_pltenter", "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "la_x86_64_gnu_pltenter", "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "la_x86_64_gnu_pltenter", "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "la_x86_64_gnu_pltexit", "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "la_x86_64_gnu_pltexit", "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "ldiv", "(long,long)", "", "Argument[0]", "ReturnValue.Field[*quot]", "taint", "dfc-generated"] + - ["", "", True, "ldiv", "(long,long)", "", "Argument[0]", "ReturnValue.Field[*rem]", "taint", "dfc-generated"] + - ["", "", True, "ldiv", "(long,long)", "", "Argument[1]", "ReturnValue.Field[*quot]", "taint", "dfc-generated"] + - ["", "", True, "ldiv", "(long,long)", "", "Argument[1]", "ReturnValue.Field[*rem]", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[**1]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*1]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lfind", "(const void *,const void *,size_t *,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "llabs", "(long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "lldiv", "(long long,long long)", "", "Argument[0]", "ReturnValue.Field[*quot]", "taint", "dfc-generated"] + - ["", "", True, "lldiv", "(long long,long long)", "", "Argument[0]", "ReturnValue.Field[*rem]", "taint", "dfc-generated"] + - ["", "", True, "lldiv", "(long long,long long)", "", "Argument[1]", "ReturnValue.Field[*quot]", "taint", "dfc-generated"] + - ["", "", True, "lldiv", "(long long,long long)", "", "Argument[1]", "ReturnValue.Field[*rem]", "taint", "dfc-generated"] + - ["", "", True, "load_locale", "(int,const char *,const char *,const charmap_t *,localedef_t *)", "", "Argument[*1]", "ReturnValue[*].Field[**name]", "value", "dfc-generated"] + - ["", "", True, "load_locale", "(int,const char *,const char *,const charmap_t *,localedef_t *)", "", "Argument[*2]", "ReturnValue[*].Field[**repertoire_name]", "value", "dfc-generated"] + - ["", "", True, "load_locale", "(int,const char *,const char *,const charmap_t *,localedef_t *)", "", "Argument[0]", "ReturnValue[*].Field[*categories].Union[*(unnamed class/struct/union)]", "taint", "dfc-generated"] + - ["", "", True, "load_locale", "(int,const char *,const char *,const charmap_t *,localedef_t *)", "", "Argument[0]", "ReturnValue[*].Field[*needed]", "taint", "dfc-generated"] + - ["", "", True, "load_locale", "(int,const char *,const char *,const charmap_t *,localedef_t *)", "", "Argument[1]", "ReturnValue[*].Field[*name]", "value", "dfc-generated"] + - ["", "", True, "load_locale", "(int,const char *,const char *,const charmap_t *,localedef_t *)", "", "Argument[2]", "ReturnValue[*].Field[*repertoire_name]", "value", "dfc-generated"] + - ["", "", True, "localtime", "(const time_t *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "localtime", "(const time_t *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "locfile_hash", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "locfile_hash", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "locfile_hash", "(const char *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "locfile_hash", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "locfile_hash", "(const char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "locfile_hash", "(const char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[*0]", "ReturnValue[*].Field[**fp]", "value", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[*0]", "ReturnValue[*].Field[*buf]", "taint", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[*1]", "ReturnValue[*].Field[**fname]", "value", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[0]", "ReturnValue[*].Field[*buf]", "taint", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[0]", "ReturnValue[*].Field[*fp]", "value", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[1]", "ReturnValue[*].Field[**fname]", "taint", "dfc-generated"] + - ["", "", True, "lr_create", "(FILE *,const char *,kw_hash_fct_t)", "", "Argument[2]", "ReturnValue[*].Field[*hash_fct]", "value", "dfc-generated"] + - ["", "", True, "lr_eof", "(linereader *)", "", "Argument[*0].Field[*bufact]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[*0]", "ReturnValue[*].Field[**fname]", "value", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[*0]", "ReturnValue[*].Field[**fp]", "taint", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[*0]", "ReturnValue[*].Field[*buf]", "taint", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[0]", "ReturnValue[*].Field[**fname]", "taint", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[0]", "ReturnValue[*].Field[**fp]", "taint", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[0]", "ReturnValue[*].Field[*buf]", "taint", "dfc-generated"] + - ["", "", True, "lr_open", "(const char *,kw_hash_fct_t)", "", "Argument[1]", "ReturnValue[*].Field[*hash_fct]", "value", "dfc-generated"] + - ["", "", True, "lr_token", "(linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "lrand48_r", "(drand48_data *,drand48_data *__restrict__,long *,long *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[**0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[**1]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*1]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "lsearch", "(const void *,void *,size_t *,size_t,__compar_fn_t)", "", "Argument[3]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "malloc", "(size_t)", "", "Argument[0]", "ReturnValue[*].Field[*length]", "value", "dfc-generated"] + - ["", "", True, "malloc_usable_size", "(void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "malloc_usable_size", "(void *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "mblen", "(const char *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "mbrlen", "(const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "mbrlen", "(const char *__restrict__,size_t,mbstate_t *__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "mbrtoc16", "(char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)", "", "Argument[*3].Field[*__value].Union[*(unnamed class/struct/union)]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "mbrtoc16", "(char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "mbrtoc8", "(char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)", "", "Argument[*3]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "mbstowcs", "(wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "mbtowc", "(wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "measurement_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "mempool_alloc", "(database_dyn *,size_t,int)", "", "Argument[1]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "mempool_alloc", "(database_dyn *,size_t,int)", "", "Argument[1]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "messages_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "mkdtemp", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "mkdtemp", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "mktime", "(tm *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "monetary_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "mrand48_r", "(drand48_data *,drand48_data *__restrict__,long *,long *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "name_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "netname2host", "(const char *,char *,const int)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "netname2host", "(const char *,char *,const int)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "new_glibc_hwcaps_subdirectory", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[**name].Field[*next]", "taint", "dfc-generated"] + - ["", "", True, "new_glibc_hwcaps_subdirectory", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[**name].Field[*string]", "value", "dfc-generated"] + - ["", "", True, "new_glibc_hwcaps_subdirectory", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[*name]", "taint", "dfc-generated"] + - ["", "", True, "new_glibc_hwcaps_subdirectory", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[**name].Field[*next]", "taint", "dfc-generated"] + - ["", "", True, "new_glibc_hwcaps_subdirectory", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[**name].Field[*string]", "taint", "dfc-generated"] + - ["", "", True, "new_glibc_hwcaps_subdirectory", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[*name]", "taint", "dfc-generated"] + - ["", "", True, "next_prime", "(unsigned long)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "nis_clone_directory", "(const directory_obj *,directory_obj *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "nis_clone_directory", "(const directory_obj *,directory_obj *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nis_clone_object", "(const nis_object *,nis_object *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "nis_clone_object", "(const nis_object *,nis_object *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nis_clone_result", "(const nis_result *,nis_result *)", "", "Argument[*1]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "nis_clone_result", "(const nis_result *,nis_result *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nis_domain_of", "(const_nis_name)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_domain_of", "(const_nis_name)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_domain_of_r", "(const_nis_name,char *,size_t)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "nis_domain_of_r", "(const_nis_name,char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_domain_of_r", "(const_nis_name,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "nis_domain_of_r", "(const_nis_name,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "nis_domain_of_r", "(const_nis_name,char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_domain_of_r", "(const_nis_name,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nis_freeservlist", "(nis_server **)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "nis_getnames", "(const_nis_name)", "", "Argument[*0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "nis_getnames", "(const_nis_name)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "nis_leaf_of_r", "(const_nis_name,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "nis_leaf_of_r", "(const_nis_name,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nis_lookup", "(const_nis_name,const unsigned int,unsigned int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "nis_name_of_r", "(const_nis_name,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "nis_name_of_r", "(const_nis_name,char *,size_t)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nis_print_result", "(const nis_result *)", "", "Argument[*0].Field[*objects].Field[*objects_val]", "Argument[*0].Field[*objects].Field[**objects_val]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperrno", "(const nis_error)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror", "(const nis_error,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror", "(const nis_error,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror", "(const nis_error,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[0]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "nis_sperror_r", "(const nis_error,const char *,char *,size_t)", "", "Argument[2]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "nl_langinfo", "(nl_item)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "nrand48", "(unsigned short[3])", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "nrand48", "(unsigned short[3])", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "nrand48", "(unsigned short[3])", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_datetosecs", "(const char *,int *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_datetosecs", "(const char *,int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_datetosecs", "(const char *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_format_ttl", "(u_long,unsigned long,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_format_ttl", "(u_long,unsigned long,char *,size_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_format_ttl", "(u_long,unsigned long,char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_get16", "(const u_char *,const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_get16", "(const u_char *,const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_get32", "(const u_char *,const unsigned char *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_get32", "(const u_char *,const unsigned char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_initparse", "(const u_char *,const unsigned char *,int,ns_msg *)", "", "Argument[1]", "Argument[*2].Field[**_eom]", "taint", "dfc-generated"] + - ["", "", True, "ns_initparse", "(const u_char *,const unsigned char *,int,ns_msg *)", "", "Argument[1]", "Argument[*2].Field[*_eom]", "taint", "dfc-generated"] + - ["", "", True, "ns_makecanon", "(const char *,char *,size_t)", "", "Argument[*0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "ns_makecanon", "(const char *,char *,size_t)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_msg_getflag", "(ns_msg,int)", "", "Argument[0].Field[*_flags]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_name_ntol", "(const u_char *,const unsigned char *,u_char *,unsigned char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_name_rollback", "(const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "ns_name_rollback", "(const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "ns_name_rollback", "(const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_parse_ttl", "(const char *,u_long *,unsigned long *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_parse_ttl", "(const char *,u_long *,unsigned long *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_parserr", "(ns_msg *,ns_sect,int,ns_rr *)", "", "Argument[*3].Field[*rdlength]", "Argument[*0].Field[**_msg_ptr]", "taint", "dfc-generated"] + - ["", "", True, "ns_parserr", "(ns_msg *,ns_sect,int,ns_rr *)", "", "Argument[*3].Field[*rdlength]", "Argument[*0].Field[*_msg_ptr]", "taint", "dfc-generated"] + - ["", "", True, "ns_parserr", "(ns_msg *,ns_sect,int,ns_rr *)", "", "Argument[2]", "Argument[*0].Field[*_rrnum]", "value", "dfc-generated"] + - ["", "", True, "ns_put16", "(u_int,unsigned int,u_char *,unsigned char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_put32", "(u_long,unsigned long,u_char *,unsigned char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ns_skiprr", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_skiprr", "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrr", "(const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrr", "(const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t)", "", "Argument[4]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[*2]", "Argument[*10]", "value", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[*6]", "Argument[*10]", "value", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[3]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[4]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[5]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[6]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "ns_sprintrrf", "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)", "", "Argument[7]", "Argument[*10]", "taint", "dfc-generated"] + - ["", "", True, "nscd_parse_file", "(const char *,database_dyn[5])", "", "Argument[*1].Field[*suggested_module]", "Argument[*1].Field[*max_db_size]", "taint", "dfc-generated"] + - ["", "", True, "numeric_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "obstack_free", "(obstack *,void *)", "", "Argument[*1]", "Argument[*0].Field[**next_free]", "value", "dfc-generated"] + - ["", "", True, "obstack_free", "(obstack *,void *)", "", "Argument[1]", "Argument[*0].Field[*next_free]", "value", "dfc-generated"] + - ["", "", True, "paper_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "passwd2des_internal", "(char *,char *)", "", "Argument[*0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "passwd2des_internal", "(char *,char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "passwd2des_internal", "(char *,char *)", "", "Argument[0]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "passwd2des_internal", "(char *,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "pmap_getmaps", "(sockaddr_in *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "pmap_getport", "(sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "pmap_rmtcall", "(sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getcgroup_np", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__)", "", "Argument[*0].Field[*__cgroup]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getflags", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,short *,short *__restrict__)", "", "Argument[*0].Field[*__flags]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getpgroup", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__)", "", "Argument[*0].Field[*__pgrp]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getschedparam", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sched_param *,sched_param *__restrict__)", "", "Argument[*0].Field[*__sp]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getschedpolicy", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__)", "", "Argument[*0].Field[*__policy]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getsigdefault", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__)", "", "Argument[*0].Field[*__sd]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_getsigmask", "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__)", "", "Argument[*0].Field[*__ss]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_setcgroup_np", "(posix_spawnattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*__cgroup]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_setpgroup", "(posix_spawnattr_t *,pid_t)", "", "Argument[1]", "Argument[*0].Field[*__pgrp]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_setschedparam", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__)", "", "Argument[*1]", "Argument[*0].Field[*__sp]", "value", "dfc-generated"] + - ["", "", True, "posix_spawnattr_setschedparam", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__)", "", "Argument[1]", "Argument[*0].Field[*__sp]", "taint", "dfc-generated"] + - ["", "", True, "posix_spawnattr_setschedparam", "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "posix_spawnattr_setschedpolicy", "(posix_spawnattr_t *,int)", "", "Argument[1]", "Argument[*0].Field[*__policy]", "value", "dfc-generated"] + - ["", "", True, "ppoll", "(pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "process_elf32_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[*5]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "process_elf32_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[5]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "process_elf32_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "process_elf64_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[*5]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "process_elf64_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[5]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "process_elf64_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "process_elf_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[*5]", "Argument[**4]", "value", "df-generated"] + - ["", "", True, "process_elf_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[5]", "Argument[**4]", "taint", "dfc-generated"] + - ["", "", True, "process_elf_file", "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "process_file", "(const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *)", "", "Argument[*2]", "Argument[**5]", "value", "dfc-generated"] + - ["", "", True, "process_file", "(const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *)", "", "Argument[2]", "Argument[**5]", "taint", "dfc-generated"] + - ["", "", True, "prune_cache", "(database_dyn *,time_t,int)", "", "Argument[1]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "pthread_attr_setsigmask_np", "(pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *)", "", "Argument[*1]", "Argument[*0].Field[**extension].Field[*sigmask]", "value", "dfc-generated"] + - ["", "", True, "pthread_attr_setsigmask_np", "(pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *)", "", "Argument[1]", "Argument[*0].Field[**extension].Field[*sigmask]", "taint", "dfc-generated"] + - ["", "", True, "pthread_attr_setsigmask_np", "(pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "putc_unlocked", "(int,FILE *)", "", "Argument[0]", "Argument[*1].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "putgrent", "(const group *,const group *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "putpwent", "(const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "putsgent", "(const sgrp *,FILE *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "putspent", "(const spwd *,FILE *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "pututxline", "(const utmpx *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "pututxline", "(const utmpx *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "putwc", "(wchar_t,FILE *,__FILE *)", "", "Argument[0]", "Argument[*1].Field[**_wide_data].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "putwc_unlocked", "(wchar_t,FILE *,__FILE *)", "", "Argument[0]", "Argument[*1].Field[**_wide_data].Field[**_IO_write_ptr]", "value", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[*0]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[1]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[2]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "qsort", "(void *,size_t,size_t,__compar_fn_t)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rand_r", "(unsigned int *)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "rand_r", "(unsigned int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rand_r", "(unsigned int *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "rcmd", "(char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rcmd", "(char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "rcmd_af", "(char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rcmd_af", "(char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "readdgetnetgrent", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "readdgetnetgrent", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "readdgrbygid", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "readdgrbygid", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "readdgrbygid", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "readdgrbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "readdgrbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "readdgrbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "readdhstai", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "readdhstai", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "readdhstai", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "readdhstbyaddr", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "readdhstbyaddr", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "readdhstbyaddr", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "readdhstbyaddrv6", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "readdhstbyaddrv6", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "readdhstbyaddrv6", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "readdhstbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "readdhstbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "readdhstbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "readdhstbynamev6", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "readdhstbynamev6", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "readdhstbynamev6", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "readdinitgroups", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "readdinnetgr", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "readdinnetgr", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "readdinnetgr", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "readdpwbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "readdpwbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "readdpwbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "readdpwbyuid", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*data_size]", "taint", "dfc-generated"] + - ["", "", True, "readdpwbyuid", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*1].Field[*len]", "Argument[*0].Field[**head].Field[*first_free]", "taint", "dfc-generated"] + - ["", "", True, "readdpwbyuid", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "readdservbyname", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "readdservbyport", "(database_dyn *,hashentry *,datahead *)", "", "Argument[*2].Field[*timeout]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "register_traced_file", "(size_t,traced_file *)", "", "Argument[0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "repeat_allocate", "(const void *,size_t,size_t,bool)", "", "Argument[*0]", "ReturnValue.Field[**start]", "value", "dfc-generated"] + - ["", "", True, "repeat_allocate", "(const void *,size_t,size_t,bool)", "", "Argument[0]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "repeat_allocate", "(const void *,size_t,size_t,bool)", "", "Argument[1]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "repeat_allocate", "(const void *,size_t,size_t,bool)", "", "Argument[2]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "repertoire_find_seq", "(const repertoire_t *,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "repertoire_find_seq", "(const repertoire_t *,uint32_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "repertoire_find_symbol", "(const repertoire_t *,uint32_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "repertoire_find_symbol", "(const repertoire_t *,uint32_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "repertoire_find_value", "(const repertoire_t *,const char *,size_t)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "repertoire_find_value", "(const repertoire_t *,const char *,size_t)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "repertoire_find_value", "(const repertoire_t *,const char *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "repertoire_read", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[**name]", "value", "dfc-generated"] + - ["", "", True, "repertoire_read", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[**name]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyaddr", "(const void *,socklen_t,int)", "", "Argument[*0]", "Argument[**0]", "value", "dfc-generated"] + - ["", "", True, "res_gethostbyaddr", "(const void *,socklen_t,int)", "", "Argument[*0]", "ReturnValue[*].Field[**h_name]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyaddr", "(const void *,socklen_t,int)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyaddr", "(const void *,socklen_t,int)", "", "Argument[0]", "ReturnValue[*].Field[**h_name]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyaddr", "(const void *,socklen_t,int)", "", "Argument[1]", "ReturnValue[*].Field[*h_length]", "value", "dfc-generated"] + - ["", "", True, "res_gethostbyaddr", "(const void *,socklen_t,int)", "", "Argument[2]", "ReturnValue[*].Field[*h_addrtype]", "value", "dfc-generated"] + - ["", "", True, "res_gethostbyname2", "(const char *,int)", "", "Argument[*0]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyname2", "(const char *,int)", "", "Argument[*0]", "ReturnValue[*].Field[**h_name]", "value", "dfc-generated"] + - ["", "", True, "res_gethostbyname2", "(const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyname2", "(const char *,int)", "", "Argument[0]", "ReturnValue[*].Field[**h_name]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyname", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyname", "(const char *)", "", "Argument[*0]", "ReturnValue[*].Field[**h_name]", "value", "dfc-generated"] + - ["", "", True, "res_gethostbyname", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[***h_addr_list]", "taint", "dfc-generated"] + - ["", "", True, "res_gethostbyname", "(const char *)", "", "Argument[0]", "ReturnValue[*].Field[**h_name]", "taint", "dfc-generated"] + - ["", "", True, "resolv_response_context_duplicate", "(const resolv_response_context *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "resolv_response_context_duplicate", "(const resolv_response_context *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "rexec", "(char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rexec", "(char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "rexec_af", "(char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rexec_af", "(char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "rresvport", "(int *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "rresvport_af", "(int *,sa_family_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "ruserpass", "(const char *,const char **,const char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "ruserpass", "(const char *,const char **,const char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "seekdir", "(DIR *,long)", "", "Argument[1]", "Argument[*0].Field[*filepos]", "value", "dfc-generated"] + - ["", "", True, "setlocale", "(int,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "setlocale", "(int,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "setlocale", "(int,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "setlocale", "(int,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "setlocale", "(int,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "setup_thread", "(database_dyn *)", "", "Argument[*0].Field[**head].Field[*nscd_certainly_running]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "sgetsgent", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "sgetsgent", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "sgetspent", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "sgetspent", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "sigabbrev_np", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "sigaddset", "(sigset_t *,int)", "", "Argument[1]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "sigandset", "(sigset_t *,const sigset_t *,const sigset_t *)", "", "Argument[*1].Field[*__val]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "sigandset", "(sigset_t *,const sigset_t *,const sigset_t *)", "", "Argument[*2].Field[*__val]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "sigdelset", "(sigset_t *,int)", "", "Argument[1]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "sigorset", "(sigset_t *,const sigset_t *,const sigset_t *)", "", "Argument[*1].Field[*__val]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "sigorset", "(sigset_t *,const sigset_t *,const sigset_t *)", "", "Argument[*2].Field[*__val]", "Argument[*0].Field[*__val]", "taint", "dfc-generated"] + - ["", "", True, "step", "(const char *,const char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "strerrorname_np", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "strerrorname_np", "(int)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "strfromd", "(char *,size_t,const char *,double)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfromd", "(char *,size_t,const char *,double)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfromd", "(char *,size_t,const char *,double)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "strfromf128", "(char *,size_t,const char *,_Float128)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfromf128", "(char *,size_t,const char *,_Float128)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfromf128", "(char *,size_t,const char *,_Float128)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "strfromf", "(char *,size_t,const char *,float)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfromf", "(char *,size_t,const char *,float)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfromf", "(char *,size_t,const char *,float)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "strfroml", "(char *,size_t,const char *,long double)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfroml", "(char *,size_t,const char *,long double)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfroml", "(char *,size_t,const char *,long double)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "strfry", "(char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "strfry", "(char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "strfry", "(char *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "strfry", "(char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[*1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[1]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "stringtable_add", "(stringtable *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "stringtable_finalize", "(stringtable *,stringtable_finalized *)", "", "Argument[*0].Field[***entries].Field[**string]", "Argument[*1].Field[**strings]", "value", "dfc-generated"] + - ["", "", True, "stringtable_finalize", "(stringtable *,stringtable_finalized *)", "", "Argument[*0].Field[***entries].Field[*string]", "Argument[*1].Field[**strings]", "value", "dfc-generated"] + - ["", "", True, "strptime", "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "strptime", "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *)", "", "Argument[0]", "ReturnValue", "value", "df-generated"] + - ["", "", True, "strptime", "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[*1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[*1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[2]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "strtabadd", "(Strtab *,const char *,size_t)", "", "Argument[2]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "strtabfinalize", "(Strtab *,size_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "strtaboffset", "(Strent *)", "", "Argument[*0].Field[*offset]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "strtof128", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "strtof128", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "strtof128", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "strtof128", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "strtof128", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "strtold", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "strtold", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "strtold", "(const char *,const char *__restrict__,char **,char **__restrict__)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate", "(const void *,size_t,size_t)", "", "Argument[*0]", "ReturnValue.Field[**start]", "value", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate", "(const void *,size_t,size_t)", "", "Argument[0]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate", "(const void *,size_t,size_t)", "", "Argument[1]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate", "(const void *,size_t,size_t)", "", "Argument[2]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate_shared", "(const void *,size_t,size_t)", "", "Argument[*0]", "ReturnValue.Field[**start]", "value", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate_shared", "(const void *,size_t,size_t)", "", "Argument[0]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate_shared", "(const void *,size_t,size_t)", "", "Argument[1]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "support_blob_repeat_allocate_shared", "(const void *,size_t,size_t)", "", "Argument[2]", "ReturnValue.Field[**start]", "taint", "dfc-generated"] + - ["", "", True, "support_copy_file_range", "(int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "support_copy_file_range", "(int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "support_descriptors_dump", "(support_descriptors *,const char *,FILE *)", "", "Argument[*1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "support_descriptors_dump", "(support_descriptors *,const char *,FILE *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "support_format_addrinfo", "(addrinfo *,int)", "", "Argument[*0].Field[**ai_next].Field[**ai_next]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "support_format_addrinfo", "(addrinfo *,int)", "", "Argument[*0].Field[**ai_next]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_cast_internal", "(fuse_in_header *,uint32_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_cast_internal", "(fuse_in_header *,uint32_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "support_fuse_cast_internal", "(fuse_in_header *,uint32_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "support_fuse_cast_name_internal", "(fuse_in_header *,uint32_t,size_t,char **)", "", "Argument[*0]", "Argument[**3]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_cast_name_internal", "(fuse_in_header *,uint32_t,size_t,char **)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_cast_name_internal", "(fuse_in_header *,uint32_t,size_t,char **)", "", "Argument[2]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "support_fuse_cast_name_internal", "(fuse_in_header *,uint32_t,size_t,char **)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "support_fuse_dirstream_add", "(support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *)", "", "Argument[*4]", "Argument[*0].Field[**readdir_buffer]", "taint", "dfc-generated"] + - ["", "", True, "support_fuse_dirstream_add", "(support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *)", "", "Argument[1]", "Argument[*0].Field[**readdir_buffer].Field[*ino]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_dirstream_add", "(support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *)", "", "Argument[2]", "Argument[*0].Field[**readdir_buffer].Field[*off]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_dirstream_add", "(support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *)", "", "Argument[3]", "Argument[*0].Field[**readdir_buffer].Field[*type]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_dirstream_add", "(support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *)", "", "Argument[4]", "Argument[*0].Field[**readdir_buffer]", "taint", "dfc-generated"] + - ["", "", True, "support_fuse_filter_forget", "(support_fuse *,bool)", "", "Argument[1]", "Argument[*0].Field[*filter_forget]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_handle_directory", "(support_fuse *)", "", "Argument[*0].Field[*prepared]", "Argument[*0].Field[**prepared_pointer]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_handle_mountpoint", "(support_fuse *)", "", "Argument[*0].Field[*prepared]", "Argument[*0].Field[**prepared_pointer]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_mountpoint", "(support_fuse *)", "", "Argument[*0].Field[**mountpoint]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_mountpoint", "(support_fuse *)", "", "Argument[*0].Field[*mountpoint]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "support_fuse_next", "(support_fuse *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "support_fuse_next", "(support_fuse *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "support_fuse_prepare_attr", "(support_fuse *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "support_fuse_prepare_create", "(support_fuse *,uint64_t,fuse_entry_out **,fuse_open_out **)", "", "Argument[*0].Field[*prepared]", "Argument[*0].Field[**prepared_pointer]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_prepare_entry", "(support_fuse *,uint64_t)", "", "Argument[1]", "ReturnValue[*].Field[*attr].Field[*ino]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_prepare_entry", "(support_fuse *,uint64_t)", "", "Argument[1]", "ReturnValue[*].Field[*nodeid]", "value", "dfc-generated"] + - ["", "", True, "support_fuse_prepare_readdir", "(support_fuse *)", "", "Argument[*0]", "ReturnValue[*]", "value", "df-generated"] + - ["", "", True, "support_fuse_prepare_readdir", "(support_fuse *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "support_next_to_fault_allocate", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "support_next_to_fault_allocate_before", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "support_readdir_check", "(const char *,void *,int)", "", "Argument[**1]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "support_readdir_check", "(const char *,void *,int)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "support_readdir_check", "(const char *,void *,int)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "support_readdir_r_check", "(const char *,int,void *,void *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "support_report_failure", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "support_shared_free", "(void *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "support_stack_alloc", "(size_t)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "support_timespec_normalize", "(timespec)", "", "Argument[0].Field[*tv_nsec]", "ReturnValue.Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "svcfd_create", "(int,u_int,u_int)", "", "Argument[0]", "ReturnValue[*].Field[*xp_sock]", "value", "dfc-generated"] + - ["", "", True, "svctcp_create", "(int,u_int,u_int)", "", "Argument[0]", "ReturnValue[*].Field[*xp_sock]", "value", "dfc-generated"] + - ["", "", True, "svctcp_create", "(int,u_int,u_int)", "", "Argument[1]", "ReturnValue[*].Field[**xp_p1].Field[*sendsize]", "value", "dfc-generated"] + - ["", "", True, "svctcp_create", "(int,u_int,u_int)", "", "Argument[2]", "ReturnValue[*].Field[**xp_p1].Field[*recvsize]", "value", "dfc-generated"] + - ["", "", True, "svcudp_bufcreate", "(int,u_int,u_int)", "", "Argument[0]", "ReturnValue[*].Field[*xp_sock]", "value", "dfc-generated"] + - ["", "", True, "svcudp_bufcreate", "(int,u_int,u_int)", "", "Argument[1]", "ReturnValue[*].Field[**xp_p2].Field[*su_iosz]", "taint", "dfc-generated"] + - ["", "", True, "svcudp_bufcreate", "(int,u_int,u_int)", "", "Argument[2]", "ReturnValue[*].Field[**xp_p2].Field[*su_iosz]", "taint", "dfc-generated"] + - ["", "", True, "svcudp_create", "(int)", "", "Argument[0]", "ReturnValue[*].Field[*xp_sock]", "value", "dfc-generated"] + - ["", "", True, "svcunix_create", "(int,u_int,u_int,char *)", "", "Argument[0]", "ReturnValue[*].Field[*xp_sock]", "value", "dfc-generated"] + - ["", "", True, "svcunix_create", "(int,u_int,u_int,char *)", "", "Argument[1]", "ReturnValue[*].Field[**xp_p1].Field[*sendsize]", "value", "dfc-generated"] + - ["", "", True, "svcunix_create", "(int,u_int,u_int,char *)", "", "Argument[2]", "ReturnValue[*].Field[**xp_p1].Field[*recvsize]", "value", "dfc-generated"] + - ["", "", True, "svcunixfd_create", "(int,u_int,u_int)", "", "Argument[0]", "ReturnValue[*].Field[*xp_sock]", "value", "dfc-generated"] + - ["", "", True, "td_ta_event_addr", "(const td_thragent_t *,td_event_e,td_notify_t *)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "td_ta_event_getmsg", "(const td_thragent_t *,td_event_msg_t *)", "", "Argument[0]", "Argument[*1].Field[**th_p].Field[*th_ta_p]", "value", "dfc-generated"] + - ["", "", True, "td_ta_get_ph", "(const td_thragent_t *,ps_prochandle **)", "", "Argument[*0].Field[**ph]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "td_ta_get_ph", "(const td_thragent_t *,ps_prochandle **)", "", "Argument[*0].Field[*ph]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "td_ta_map_id2thr", "(const td_thragent_t *,pthread_t,td_thrhandle_t *)", "", "Argument[*0]", "Argument[*2].Field[**th_ta_p]", "value", "dfc-generated"] + - ["", "", True, "td_ta_map_id2thr", "(const td_thragent_t *,pthread_t,td_thrhandle_t *)", "", "Argument[0]", "Argument[*2].Field[*th_ta_p]", "value", "dfc-generated"] + - ["", "", True, "td_ta_map_id2thr", "(const td_thragent_t *,pthread_t,td_thrhandle_t *)", "", "Argument[1]", "Argument[*2].Field[*th_unique]", "value", "dfc-generated"] + - ["", "", True, "td_ta_map_lwp2thr", "(const td_thragent_t *,lwpid_t,td_thrhandle_t *)", "", "Argument[0]", "Argument[*2].Field[*th_ta_p]", "value", "dfc-generated"] + - ["", "", True, "td_ta_new", "(ps_prochandle *,td_thragent_t **)", "", "Argument[*0]", "Argument[**1].Field[**ph]", "value", "dfc-generated"] + - ["", "", True, "td_ta_new", "(ps_prochandle *,td_thragent_t **)", "", "Argument[0]", "Argument[**1].Field[*ph]", "value", "dfc-generated"] + - ["", "", True, "td_ta_new", "(ps_prochandle *,td_thragent_t **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_event_getmsg", "(const td_thrhandle_t *,td_event_msg_t *)", "", "Argument[0]", "Argument[*1].Field[*th_p]", "value", "dfc-generated"] + - ["", "", True, "td_thr_get_info", "(const td_thrhandle_t *,td_thrinfo_t *)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "td_thr_tls_get_addr", "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)", "", "Argument[*3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tls_get_addr", "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tls_get_addr", "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)", "", "Argument[2]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tls_get_addr", "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)", "", "Argument[2]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tls_get_addr", "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)", "", "Argument[3]", "Argument[**3]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tls_get_addr", "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tlsbase", "(const td_thrhandle_t *,unsigned long,psaddr_t *)", "", "Argument[1]", "Argument[**2]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tlsbase", "(const td_thrhandle_t *,unsigned long,psaddr_t *)", "", "Argument[1]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "td_thr_tsd", "(const td_thrhandle_t *,const thread_key_t,void **)", "", "Argument[*0]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "td_thr_tsd", "(const td_thrhandle_t *,const thread_key_t,void **)", "", "Argument[*0]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "td_thr_tsd", "(const td_thrhandle_t *,const thread_key_t,void **)", "", "Argument[1]", "Argument[**2]", "taint", "df-generated"] + - ["", "", True, "td_thr_tsd", "(const td_thrhandle_t *,const thread_key_t,void **)", "", "Argument[1]", "Argument[*0]", "taint", "df-generated"] + - ["", "", True, "td_thr_tsd", "(const td_thrhandle_t *,const thread_key_t,void **)", "", "Argument[1]", "Argument[*2]", "taint", "df-generated"] + - ["", "", True, "telephone_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "telldir", "(DIR *)", "", "Argument[*0].Field[*filepos]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "tempnam", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "tempnam", "(const char *,const char *)", "", "Argument[*1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "tempnam", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "tempnam", "(const char *,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "time_read", "(linereader *,localedef_t *,const charmap_t *,const char *,int)", "", "Argument[*0]", "Argument[*1]", "taint", "df-generated"] + - ["", "", True, "timegm", "(tm *)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "timespec_add", "(timespec,timespec)", "", "Argument[0].Field[*tv_nsec]", "ReturnValue.Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "timespec_add", "(timespec,timespec)", "", "Argument[0].Field[*tv_sec]", "ReturnValue.Field[*tv_sec]", "value", "dfc-generated"] + - ["", "", True, "timespec_add", "(timespec,timespec)", "", "Argument[1].Field[*tv_nsec]", "ReturnValue.Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "timespec_sub", "(timespec,timespec)", "", "Argument[0].Field[*tv_nsec]", "ReturnValue.Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "timespec_sub", "(timespec,timespec)", "", "Argument[0].Field[*tv_sec]", "ReturnValue.Field[*tv_sec]", "value", "dfc-generated"] + - ["", "", True, "timespec_sub", "(timespec,timespec)", "", "Argument[1].Field[*tv_nsec]", "ReturnValue.Field[*tv_nsec]", "taint", "dfc-generated"] + - ["", "", True, "tmpnam", "(char[20])", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "tmpnam", "(char[20])", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "tmpnam", "(char[20])", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "tmpnam_r", "(char[20])", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "tmpnam_r", "(char[20])", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "toascii", "(int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "tolower", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "toupper", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "uabs", "(int)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ulabs", "(long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ullabs", "(long long)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ungetc", "(int,FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "ungetwc", "(wint_t,FILE *,__FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "user2netname", "(char[256],const uid_t,const char *)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "user2netname", "(char[256],const uid_t,const char *)", "", "Argument[1]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "user2netname", "(char[256],const uid_t,const char *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "verr", "(int,const char *,__gnuc_va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "verrx", "(int,const char *,__gnuc_va_list)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "vwarn", "(const char *,__gnuc_va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "vwarnx", "(const char *,__gnuc_va_list)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[*2]", "Argument[*0]", "value", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[*2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "wcsftime", "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "wcspbrk", "(const wchar_t *,const wchar_t *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "wcspbrk", "(const wchar_t *,const wchar_t *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "wcspbrk", "(const wchar_t *,const wchar_t *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "wcsstr", "(const wchar_t *,const wchar_t *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "wcsstr", "(const wchar_t *,const wchar_t *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "wcsstr", "(const wchar_t *,const wchar_t *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "wcstod", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "wcstod", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "wcstod", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "wcstod", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "wcstod", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "wcstof128", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "Argument[**1]", "value", "df-generated"] + - ["", "", True, "wcstof128", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "wcstof128", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[**1]", "taint", "df-generated"] + - ["", "", True, "wcstof128", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "wcstof128", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", True, "wcstof", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "wcstof", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "ReturnValue.Field[*exponent]", "taint", "dfc-generated"] + - ["", "", True, "wcstof", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "ReturnValue.Field[*mantissa]", "taint", "dfc-generated"] + - ["", "", True, "wcstof", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[*1]", "value", "df-generated"] + - ["", "", True, "wcstold", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[*0]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "wcstold", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "wcstold", "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)", "", "Argument[0]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "wcstombs", "(char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "wcswidth", "(const wchar_t *,size_t)", "", "Argument[*0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "wcswidth", "(const wchar_t *,size_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "wctob", "(wint_t)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "wcwidth", "(wchar_t)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "wordexp", "(const char *,wordexp_t *,int)", "", "Argument[*0]", "Argument[*1].Field[***we_wordv]", "value", "dfc-generated"] + - ["", "", True, "wordexp", "(const char *,wordexp_t *,int)", "", "Argument[0]", "Argument[*1].Field[***we_wordv]", "taint", "dfc-generated"] + - ["", "", True, "wordexp", "(const char *,wordexp_t *,int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "writeall", "(int,const void *,size_t)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "xaccept4", "(int,sockaddr *,socklen_t *,int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "xaccept", "(int,sockaddr *,socklen_t *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "xalloc_sigstack", "(size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "df-generated"] + - ["", "", True, "xcopy_file_range", "(int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xcopy_file_range", "(int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "xdecrypt", "(char *,char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xdecrypt", "(char *,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_array", "(XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_array", "(XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_array", "(XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_array", "(XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "xdr_array", "(XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t)", "", "Argument[4]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_bool", "(XDR *,bool_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_bytes", "(XDR *,char **,u_int *,u_int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_bytes", "(XDR *,char **,u_int *,u_int)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "xdr_char", "(XDR *,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_domainname", "(XDR *,domainname *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_enum", "(XDR *,enum_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_float", "(XDR *,float *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_hyper", "(XDR *,quad_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_int16_t", "(XDR *,int16_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_int64_t", "(XDR *,int64_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_int8_t", "(XDR *,int8_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_int", "(XDR *,int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_keystatus", "(XDR *,keystatus *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_long", "(XDR *,long *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_longlong_t", "(XDR *,quad_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_mapname", "(XDR *,mapname *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_netnamestr", "(XDR *,netnamestr *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_obj_p", "(XDR *,obj_p *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_peername", "(XDR *,peername *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_pmaplist", "(XDR *,pmaplist **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_pointer", "(XDR *,char **,u_int,xdrproc_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_quad_t", "(XDR *,quad_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_reference", "(XDR *,caddr_t *,u_int,xdrproc_t)", "", "Argument[*1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_reference", "(XDR *,caddr_t *,u_int,xdrproc_t)", "", "Argument[1]", "Argument[**1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_reference", "(XDR *,caddr_t *,u_int,xdrproc_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_short", "(XDR *,short *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_string", "(XDR *,char **,u_int)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_char", "(XDR *,u_char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_hyper", "(XDR *,u_quad_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_int", "(XDR *,u_int *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_long", "(XDR *,u_long *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_longlong_t", "(XDR *,u_quad_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_quad_t", "(XDR *,u_quad_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_u_short", "(XDR *,u_short *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_uint16_t", "(XDR *,uint16_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_uint64_t", "(XDR *,uint64_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_uint8_t", "(XDR *,uint8_t *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_union", "(XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_union", "(XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "xdr_wrapstring", "(XDR *,char **)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_ypbind_resptype", "(XDR *,ypbind_resptype *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_yppush_status", "(XDR *,yppush_status *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_ypstat", "(XDR *,ypstat *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdr_ypxfrstat", "(XDR *,ypxfrstat *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xdrmem_create", "(XDR *,const caddr_t,u_int,xdr_op)", "", "Argument[*0].Field[**x_base]", "Argument[*0].Field[**x_private]", "value", "dfc-generated"] + - ["", "", True, "xdrmem_create", "(XDR *,const caddr_t,u_int,xdr_op)", "", "Argument[*0].Field[*x_base]", "Argument[*0].Field[*x_private]", "value", "dfc-generated"] + - ["", "", True, "xdrmem_create", "(XDR *,const caddr_t,u_int,xdr_op)", "", "Argument[*1]", "Argument[*0].Field[**x_base]", "value", "dfc-generated"] + - ["", "", True, "xdrmem_create", "(XDR *,const caddr_t,u_int,xdr_op)", "", "Argument[1]", "Argument[*0].Field[*x_base]", "value", "dfc-generated"] + - ["", "", True, "xdrmem_create", "(XDR *,const caddr_t,u_int,xdr_op)", "", "Argument[2]", "Argument[*0].Field[*x_handy]", "value", "dfc-generated"] + - ["", "", True, "xdrmem_create", "(XDR *,const caddr_t,u_int,xdr_op)", "", "Argument[3]", "Argument[*0].Field[*x_op]", "value", "dfc-generated"] + - ["", "", True, "xdrrec_create", "(XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..))", "", "Argument[1]", "Argument[*0].Field[**x_private].Field[**in_base]", "taint", "dfc-generated"] + - ["", "", True, "xdrrec_create", "(XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..))", "", "Argument[1]", "Argument[*0].Field[**x_private].Field[*in_base]", "taint", "dfc-generated"] + - ["", "", True, "xdrrec_create", "(XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..))", "", "Argument[1]", "Argument[*0].Field[**x_private].Field[*sendsize]", "taint", "dfc-generated"] + - ["", "", True, "xdrrec_create", "(XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..))", "", "Argument[2]", "Argument[*0].Field[**x_private].Field[*recvsize]", "taint", "dfc-generated"] + - ["", "", True, "xdrstdio_create", "(XDR *,FILE *,xdr_op)", "", "Argument[*1]", "Argument[*0].Field[**x_private]", "value", "dfc-generated"] + - ["", "", True, "xdrstdio_create", "(XDR *,FILE *,xdr_op)", "", "Argument[1]", "Argument[*0].Field[*x_private]", "value", "dfc-generated"] + - ["", "", True, "xdrstdio_create", "(XDR *,FILE *,xdr_op)", "", "Argument[2]", "Argument[*0].Field[*x_op]", "value", "dfc-generated"] + - ["", "", True, "xencrypt", "(char *,char *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xencrypt", "(char *,char *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xfgets", "(char *,int,FILE *)", "", "Argument[*2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xfgets", "(char *,int,FILE *)", "", "Argument[0]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "xfgets", "(char *,int,FILE *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xfgets", "(char *,int,FILE *)", "", "Argument[2]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "xfopen", "(const char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xfopen", "(const char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xfreopen", "(const char *,const char *,FILE *)", "", "Argument[*0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xfreopen", "(const char *,const char *,FILE *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xget_sigstack_location", "(const void *,unsigned char **,size_t *)", "", "Argument[*0].Field[*alt_stack].Field[**ss_sp]", "Argument[**1]", "value", "dfc-generated"] + - ["", "", True, "xget_sigstack_location", "(const void *,unsigned char **,size_t *)", "", "Argument[*0].Field[*alt_stack].Field[*ss_size]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "xget_sigstack_location", "(const void *,unsigned char **,size_t *)", "", "Argument[*0].Field[*alt_stack].Field[*ss_sp]", "Argument[*1]", "value", "dfc-generated"] + - ["", "", True, "xgetline", "(char **,size_t *,FILE *)", "", "Argument[*0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "xgetline", "(char **,size_t *,FILE *)", "", "Argument[0]", "Argument[**0]", "taint", "dfc-generated"] + - ["", "", True, "xgetline", "(char **,size_t *,FILE *)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xgetline", "(char **,size_t *,FILE *)", "", "Argument[1]", "Argument[*1]", "taint", "dfc-generated"] + - ["", "", True, "xgetline", "(char **,size_t *,FILE *)", "", "Argument[2]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xrealloc", "(void *,size_t)", "", "Argument[**0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "xrealloc", "(void *,size_t)", "", "Argument[*0]", "ReturnValue[**]", "value", "dfc-generated"] + - ["", "", True, "xrealloc", "(void *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "xrealloc", "(void *,size_t)", "", "Argument[0]", "Argument[*0]", "taint", "dfc-generated"] + - ["", "", True, "xrealloc", "(void *,size_t)", "", "Argument[0]", "ReturnValue[**]", "taint", "dfc-generated"] + - ["", "", True, "xrealloc", "(void *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xsetlocale", "(int,const char *)", "", "Argument[*1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "xsetlocale", "(int,const char *)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "", True, "xsetlocale", "(int,const char *)", "", "Argument[1]", "ReturnValue", "value", "dfc-generated"] + - ["", "", True, "xsetlocale", "(int,const char *)", "", "Argument[1]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xstrdup", "(char *,const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "xstrdup", "(char *,const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xstrdup", "(const char *)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "xstrdup", "(const char *)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xstrndup", "(const char *,size_t)", "", "Argument[*0]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "xstrndup", "(const char *,size_t)", "", "Argument[0]", "ReturnValue[*]", "taint", "dfc-generated"] + - ["", "", True, "xstrndup", "(const char *,size_t)", "", "Argument[1]", "ReturnValue[*]", "value", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[**4]", "Argument[**2]", "value", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[*4]", "Argument[*2]", "value", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[*5]", "Argument[*3]", "value", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[3]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[4]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[5]", "Argument[*3]", "taint", "dfc-generated"] + - ["", "", True, "yp_first", "(const char *,const char *,char **,int *,char **,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "yp_master", "(const char *,const char *,char **)", "", "Argument[2]", "Argument[*2]", "taint", "dfc-generated"] + - ["", "", True, "yp_match", "(const char *,const char *,const char *,const int,char **,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "yp_match", "(const char *,const char *,const char *,const int,char **,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[**6]", "Argument[**4]", "value", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[*6]", "Argument[*4]", "value", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[*7]", "Argument[*5]", "value", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[4]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[5]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[6]", "Argument[*4]", "taint", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[6]", "Argument[*6]", "taint", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[7]", "Argument[*5]", "taint", "dfc-generated"] + - ["", "", True, "yp_next", "(const char *,const char *,const char *,const int,char **,int *,char **,int *)", "", "Argument[7]", "Argument[*7]", "taint", "dfc-generated"] + - ["", "", True, "ypprot_err", "(const int)", "", "Argument[0]", "ReturnValue", "taint", "dfc-generated"] + - ["", "__pthread_cleanup_class", True, "__pthread_cleanup_class", "(..(*)(..),void *)", "", "Argument[**1]", "Argument[-1]", "taint", "df-generated"] + - ["", "__pthread_cleanup_class", True, "__pthread_cleanup_class", "(..(*)(..),void *)", "", "Argument[*1]", "Argument[-1]", "taint", "df-generated"] + - ["", "__pthread_cleanup_class", True, "__pthread_cleanup_class", "(..(*)(..),void *)", "", "Argument[0]", "Argument[-1]", "taint", "df-generated"] + - ["", "__pthread_cleanup_class", True, "__pthread_cleanup_class", "(..(*)(..),void *)", "", "Argument[1]", "Argument[-1]", "taint", "df-generated"] + - ["", "__pthread_cleanup_class", True, "__setdoit", "(int)", "", "Argument[0]", "Argument[-1]", "taint", "df-generated"] diff --git a/cpp/ql/lib/ext/pthread.model.yml b/cpp/ql/lib/ext/pthread.model.yml new file mode 100644 index 000000000000..fcdb0c45d008 --- /dev/null +++ b/cpp/ql/lib/ext/pthread.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["", "", False, "pthread_create", "", "", "Argument[@3]", "Argument[2].Parameter[@0]", "value", "manual"] diff --git a/cpp/ql/lib/ext/std.thread.model.yml b/cpp/ql/lib/ext/std.thread.model.yml new file mode 100644 index 000000000000..77062fae3d00 --- /dev/null +++ b/cpp/ql/lib/ext/std.thread.model.yml @@ -0,0 +1,11 @@ +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + - ["std", "thread", True, "thread", "", "", "Argument[*@1]", "Argument[0].Parameter[@0]", "value", "manual"] + - ["std", "thread", True, "thread", "", "", "Argument[*@2]", "Argument[0].Parameter[@1]", "value", "manual"] + - ["std", "thread", True, "thread", "", "", "Argument[*@3]", "Argument[0].Parameter[@2]", "value", "manual"] + - ["std", "thread", True, "thread", "", "", "Argument[*@4]", "Argument[0].Parameter[@3]", "value", "manual"] + - ["std", "thread", True, "thread", "", "", "Argument[*@5]", "Argument[0].Parameter[@4]", "value", "manual"] + \ No newline at end of file diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index e826864ae644..2f35faa09f09 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 5.2.1-dev +version: 5.3.0 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp @@ -15,6 +15,7 @@ dependencies: codeql/tutorial: ${workspace} codeql/util: ${workspace} codeql/xml: ${workspace} + codeql/global-controlflow: ${workspace} dataExtensions: - ext/*.model.yml - ext/generated/**/*.model.yml diff --git a/cpp/ql/lib/semmle/code/cpp/Concept.qll b/cpp/ql/lib/semmle/code/cpp/Concept.qll index 5d7cd96ee38a..1770c1965ed2 100644 --- a/cpp/ql/lib/semmle/code/cpp/Concept.qll +++ b/cpp/ql/lib/semmle/code/cpp/Concept.qll @@ -57,7 +57,9 @@ class RequiresExpr extends Expr, @requires_expr { /** * A C++ requirement in a requires expression. */ -class RequirementExpr extends Expr { } +class RequirementExpr extends Expr { + RequirementExpr() { this.getParent() instanceof RequiresExpr } +} /** * A C++ simple requirement in a requires expression. @@ -70,7 +72,6 @@ class RequirementExpr extends Expr { } */ class SimpleRequirementExpr extends RequirementExpr { SimpleRequirementExpr() { - this.getParent() instanceof RequiresExpr and not this instanceof TypeRequirementExpr and not this instanceof CompoundRequirementExpr and not this instanceof NestedRequirementExpr @@ -89,8 +90,6 @@ class SimpleRequirementExpr extends RequirementExpr { * with `T` a template parameter, then `typename T::a_field;` is a type requirement. */ class TypeRequirementExpr extends RequirementExpr, TypeName { - TypeRequirementExpr() { this.getParent() instanceof RequiresExpr } - override string getAPrimaryQlClass() { result = "TypeRequirementExpr" } } @@ -140,7 +139,7 @@ class CompoundRequirementExpr extends RequirementExpr, @compound_requirement { * with `T` a template parameter, then `requires std::is_same::value;` is * a nested requirement. */ -class NestedRequirementExpr extends Expr, @nested_requirement { +class NestedRequirementExpr extends RequirementExpr, @nested_requirement { override string toString() { result = "requires ..." } override string getAPrimaryQlClass() { result = "NestedRequirementExpr" } @@ -163,7 +162,7 @@ class NestedRequirementExpr extends Expr, @nested_requirement { * then `C` is a concept id expression that refers to * the concept `C`. */ -class ConceptIdExpr extends RequirementExpr, @concept_id { +class ConceptIdExpr extends Expr, @concept_id { override string toString() { result = this.getConcept().getName() + "<...>" or diff --git a/cpp/ql/lib/semmle/code/cpp/Function.qll b/cpp/ql/lib/semmle/code/cpp/Function.qll index a4d0cff2c379..8ddb07a868eb 100644 --- a/cpp/ql/lib/semmle/code/cpp/Function.qll +++ b/cpp/ql/lib/semmle/code/cpp/Function.qll @@ -282,9 +282,12 @@ class Function extends Declaration, ControlFlowNode, AccessHolder, @function { * definition, if possible.) */ override Location getLocation() { - if exists(this.getDefinition()) - then result = this.getDefinitionLocation() - else result = this.getADeclarationLocation() + if this instanceof BuiltInFunction + then result instanceof UnknownLocation // a dummy location for the built-in function + else + if exists(this.getDefinition()) + then result = this.getDefinitionLocation() + else result = this.getADeclarationLocation() } /** Gets a child declaration of this function. */ @@ -896,17 +899,9 @@ class FunctionTemplateSpecialization extends Function { * A GCC built-in function. For example: `__builtin___memcpy_chk`. */ class BuiltInFunction extends Function { - BuiltInFunction() { functions(underlyingElement(this), _, 6) } - - /** Gets a dummy location for the built-in function. */ - override Location getLocation() { - suppressUnusedThis(this) and - result instanceof UnknownLocation - } + BuiltInFunction() { builtin_functions(underlyingElement(this)) } } -private predicate suppressUnusedThis(Function f) { any() } - /** * A C++ user-defined literal [N4140 13.5.8]. */ diff --git a/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/ControlFlow.qll b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/ControlFlow.qll new file mode 100644 index 000000000000..cd7dfea33110 --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/ControlFlow.qll @@ -0,0 +1,11 @@ +import cpp + +/** + * Provides classes for performing global (inter-procedural) control flow analyses. + */ +module ControlFlow { + private import internal.ControlFlowSpecific + private import codeql.globalcontrolflow.ControlFlow + import ControlFlowMake + import Public +} diff --git a/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowPrivate.qll b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowPrivate.qll new file mode 100644 index 000000000000..c772e1d67a84 --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowPrivate.qll @@ -0,0 +1,41 @@ +private import semmle.code.cpp.ir.IR +private import cpp as Cpp +private import ControlFlowPublic +private import semmle.code.cpp.ir.dataflow.internal.DataFlowPrivate as DataFlowPrivate +private import semmle.code.cpp.ir.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon + +predicate edge(Node n1, Node n2) { n1.asInstruction().getASuccessor() = n2.asInstruction() } + +predicate callTarget(CallNode call, Callable target) { + exists(DataFlowPrivate::DataFlowCall dfCall | dfCall.asCallInstruction() = call.asInstruction() | + DataFlowImplCommon::viableCallableCached(dfCall).asSourceCallable() = target + or + DataFlowImplCommon::viableCallableLambda(dfCall, _).asSourceCallable() = target + ) +} + +predicate flowEntry(Callable c, Node entry) { + entry.asInstruction().(EnterFunctionInstruction).getEnclosingFunction() = c +} + +predicate flowExit(Callable c, Node exitNode) { + exitNode.asInstruction().(ExitFunctionInstruction).getEnclosingFunction() = c +} + +Callable getEnclosingCallable(Node n) { n.getEnclosingFunction() = result } + +predicate hiddenNode(Node n) { n.asInstruction() instanceof PhiInstruction } + +private newtype TSplit = TNone() { none() } + +class Split extends TSplit { + abstract string toString(); + + abstract Cpp::Location getLocation(); + + abstract predicate entry(Node n1, Node n2); + + abstract predicate exit(Node n1, Node n2); + + abstract predicate blocked(Node n1, Node n2); +} diff --git a/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowPublic.qll b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowPublic.qll new file mode 100644 index 000000000000..8a843a1de640 --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowPublic.qll @@ -0,0 +1,79 @@ +private import semmle.code.cpp.ir.IR +private import cpp + +private newtype TNode = TInstructionNode(Instruction i) + +abstract private class NodeImpl extends TNode { + /** Gets the `Instruction` associated with this node, if any. */ + Instruction asInstruction() { result = this.(InstructionNode).getInstruction() } + + /** Gets the `Expr` associated with this node, if any. */ + Expr asExpr() { result = this.(ExprNode).getExpr() } + + /** Gets the `Parameter` associated with this node, if any. */ + Parameter asParameter() { result = this.(ParameterNode).getParameter() } + + /** Gets the location of this node. */ + Location getLocation() { none() } + + /** + * Holds if this element is at the specified location. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `filepath`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ + final predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + this.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) + } + + /** Gets a textual representation of this node. */ + abstract string toString(); + + /** Gets the enclosing callable of this node. */ + abstract Callable getEnclosingFunction(); +} + +final class Node = NodeImpl; + +private class InstructionNode extends NodeImpl { + Instruction instr; + + InstructionNode() { this = TInstructionNode(instr) } + + /** Gets the `Instruction` associated with this node. */ + Instruction getInstruction() { result = instr } + + final override Location getLocation() { result = instr.getLocation() } + + final override string toString() { result = instr.getAst().toString() } + + final override Callable getEnclosingFunction() { result = instr.getEnclosingFunction() } +} + +private class ExprNode extends InstructionNode { + Expr e; + + ExprNode() { e = this.getInstruction().getConvertedResultExpression() } + + /** Gets the `Expr` associated with this node. */ + Expr getExpr() { result = e } +} + +private class ParameterNode extends InstructionNode { + override InitializeParameterInstruction instr; + Parameter p; + + ParameterNode() { p = instr.getParameter() } + + /** Gets the `Parameter` associated with this node. */ + Parameter getParameter() { result = p } +} + +class CallNode extends InstructionNode { + override CallInstruction instr; +} + +class Callable = Function; diff --git a/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowSpecific.qll b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowSpecific.qll new file mode 100644 index 000000000000..8f946fd38aff --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/interproccontrolflow/internal/ControlFlowSpecific.qll @@ -0,0 +1,19 @@ +/** + * Provides IR-specific definitions for use in the data flow library. + */ + +private import cpp +private import codeql.globalcontrolflow.ControlFlow + +module Private { + import ControlFlowPrivate +} + +module Public { + import ControlFlowPublic +} + +module CppControlFlow implements InputSig { + import Private + import Public +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll index d776985720af..d7f26dd00513 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll @@ -1382,16 +1382,89 @@ predicate neverSkipInPathGraph(Node n) { exists(n.asIndirectDefinition()) } -class LambdaCallKind = Unit; +private newtype TLambdaCallKind = + TFunctionPointer() or + TFunctor() + +class LambdaCallKind extends TLambdaCallKind { + predicate isFunctionPointer() { this = TFunctionPointer() } + + predicate isFunctor() { this = TFunctor() } + + string toString() { + this.isFunctionPointer() and + result = "Function pointer kind" + or + this.isFunctor() and + result = "Functor kind" + } +} + +private class ConstructorCallInstruction extends CallInstruction { + Cpp::Class constructedType; + + ConstructorCallInstruction() { + this.getStaticCallTarget().(Cpp::Constructor).getDeclaringType() = constructedType + } + + Cpp::Class getConstructedType() { result = constructedType } +} + +private class OperatorCall extends Cpp::MemberFunction { + OperatorCall() { this.hasName("operator()") } +} + +private predicate isFunctorCreationWithoutConstructor(Node creation, OperatorCall operator) { + exists(UninitializedInstruction init, Instruction dest | + // A construction of an object with no constructor. In this case we use + // the `UninitializedInstruction` as the creation node. + init = creation.asInstruction() and + dest = init.getDestinationAddress() and + not any(ConstructorCallInstruction constructorCall).getThisArgument() = dest and + operator.getDeclaringType() = init.getResultType() + ) + or + // Workaround for an extractor bug. In this snippet: + // ``` + // struct S { }; + // void f(S); + // f(S()); + // ``` + // The expression `S()` is represented as a 0 literal in the database. + exists(ConstantValueInstruction constant | + constant.getValue() = "0" and + creation.asInstruction() = constant and + constant.getResultType() = operator.getDeclaringType() + ) +} + +private predicate isFunctorCreationWithConstructor(Node creation, OperatorCall operator) { + exists(DataFlowCall constructorCall, IndirectionPosition pos | + // A construction of an object with a constructor. In this case we use + // the post-update node of the qualifier + pos.getArgumentIndex() = -1 and + isArgumentNode(creation.(PostUpdateNode).getPreUpdateNode(), constructorCall, pos) and + operator.getDeclaringType() = + constructorCall.asCallInstruction().(ConstructorCallInstruction).getConstructedType() + ) +} /** Holds if `creation` is an expression that creates a lambda of kind `kind` for `c`. */ predicate lambdaCreation(Node creation, LambdaCallKind kind, DataFlowCallable c) { - creation.asInstruction().(FunctionAddressInstruction).getFunctionSymbol() = c.asSourceCallable() and - exists(kind) + kind.isFunctionPointer() and + creation.asInstruction().(FunctionAddressInstruction).getFunctionSymbol() = c.asSourceCallable() + or + kind.isFunctor() and + exists(OperatorCall operator | operator = c.asSourceCallable() | + isFunctorCreationWithoutConstructor(creation, operator) + or + isFunctorCreationWithConstructor(creation, operator) + ) } /** Holds if `call` is a lambda call of kind `kind` where `receiver` is the lambda expression. */ predicate lambdaCall(DataFlowCall call, LambdaCallKind kind, Node receiver) { + kind.isFunctionPointer() and ( call.(SummaryCall).getReceiver() = receiver.(FlowSummaryNode).getSummaryNode() or @@ -1400,8 +1473,15 @@ predicate lambdaCall(DataFlowCall call, LambdaCallKind kind, Node receiver) { // has a result for `getStaticCallTarget`. not exists(call.getStaticCallTarget()) and call.asCallInstruction().getCallTargetOperand() = receiver.asOperand() - ) and - exists(kind) + ) + or + kind.isFunctor() and + ( + call.(SummaryCall).getReceiver() = receiver.(FlowSummaryNode).getSummaryNode() + or + not exists(call.getStaticCallTarget()) and + call.asCallInstruction().getThisArgumentOperand() = receiver.asOperand() + ) } /** Extra data-flow steps needed for lambda flow analysis. */ diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll index c72614ac5c32..38a4d827a4da 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll @@ -488,6 +488,23 @@ class Node extends TIRDataFlowNode { result = this.(IndirectParameterNode).getParameter() } + /** + * Holds if this node represents the `indirectionIndex`'th indirection of + * the value of an output parameter `p` just before reaching the end of a function. + */ + predicate isFinalValueOfParameter(Parameter p, int indirectionIndex) { + exists(FinalParameterNode n | n = this | + p = n.getParameter() and + indirectionIndex = n.getIndirectionIndex() + ) + } + + /** + * Holds if this node represents the value of an output parameter `p` + * just before reaching the end of a function. + */ + predicate isFinalValueOfParameter(Parameter p) { this.isFinalValueOfParameter(p, _) } + /** * Gets the variable corresponding to this node, if any. This can be used for * modeling flow in and out of global variables. @@ -1225,7 +1242,7 @@ import RawIndirectNodes /** * INTERNAL: do not use. * - * A node representing the value of an update parameter + * A node representing the value of an output parameter * just before reaching the end of a function. */ class FinalParameterNode extends Node, TFinalParameterNode { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll index 42ab60eced78..6d69dd11e80b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll @@ -151,7 +151,7 @@ private module Cached { ) or // Similarly for `i++` and `++i` we pretend that the generated - // `StoreInstruction` is contains the result of the expression even though + // `StoreInstruction` contains the result of the expression even though // this isn't totally aligned with the C/C++ standard. exists(TranslatedCrementOperation tco | store = tco.getInstruction(CrementStoreTag()) and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternals.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternals.qll index 863825b375e3..fd9ba967a13d 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternals.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternals.qll @@ -153,6 +153,10 @@ private predicate isGlobalDefImpl( GlobalLikeVariable v, IRFunction f, int indirection, int indirectionIndex ) { exists(VariableAddressInstruction vai | + // The right-hand side of an initialization of a global variable + // creates its own `IRFunction`. We don't want flow into that `IRFunction` + // since the variable is only initialized once. + not vai.getEnclosingFunction() = v and vai.getEnclosingIRFunction() = f and vai.getAstVariable() = v and isUse(_, _, vai, indirection, indirectionIndex) and diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/Opcode.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/Opcode.qll index bd1ffcd5ce15..d8c1c6115c80 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/Opcode.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/Opcode.qll @@ -42,6 +42,7 @@ private newtype TOpcode = TCompareGT() or TCompareLE() or TCompareGE() or + TSpaceship() or TPointerAdd() or TPointerSub() or TPointerDiff() or @@ -92,7 +93,9 @@ private newtype TOpcode = TUninitializedGroup() or TInlineAsm() or TUnreached() or - TNewObj() + TNewObj() or + TTypeidExpr() or + TTypeidType() /** * An opcode that specifies the operation performed by an `Instruction`. @@ -763,6 +766,15 @@ module Opcode { final override string toString() { result = "CompareGE" } } + /** + * The `Opcode` for a `SpaceshipInstruction`. + * + * See the `SpaceshipInstruction` documentation for more details. + */ + class Spaceship extends BinaryOpcode, TSpaceship { + final override string toString() { result = "Spaceship" } + } + /** * The `Opcode` for a `PointerAddInstruction`. * @@ -1281,4 +1293,29 @@ module Opcode { class NewObj extends Opcode, TNewObj { final override string toString() { result = "NewObj" } } + + /** + * The `Opcode` for a `TypeidInstruction`. + * + * See the `TypeidInstruction` documentation for more details. + */ + abstract class Typeid extends Opcode { } + + /** + * The `Opcode` for a `TypeidExprInstruction`. + * + * See the `TypeidExprInstruction` documentation for more details. + */ + class TypeidExpr extends Typeid, UnaryOpcode, TTypeidExpr { + final override string toString() { result = "TypeidExpr" } + } + + /** + * The `Opcode` for a `TypeidTypeInstruction`. + * + * See the `TypeidTypeInstruction` documentation for more details. + */ + class TypeidType extends Typeid, TTypeidType { + final override string toString() { result = "TypeidType" } + } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll index af5dd4199858..a564508e16b4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll @@ -725,6 +725,20 @@ class UninitializedInstruction extends VariableInstruction { * Gets the variable that is uninitialized. */ final Language::Variable getLocalVariable() { result = var.(IRUserVariable).getVariable() } + + /** + * Gets the operand that provides the address of the location to which the + * uninitialized value will be stored. + */ + final AddressOperand getDestinationAddressOperand() { result = this.getAnOperand() } + + /** + * Gets the instruction whose result provides the address of the location to + * which the value will be stored, if an exact definition is available. + */ + final Instruction getDestinationAddress() { + result = this.getDestinationAddressOperand().getDef() + } } /** @@ -1590,6 +1604,13 @@ class CompareGEInstruction extends RelationalInstruction { override predicate isStrict() { none() } } +/** + * An instruction that represents a three-way comparison operator. + */ +class SpaceshipInstruction extends BinaryInstruction { + SpaceshipInstruction() { this.getOpcode() instanceof Opcode::Spaceship } +} + /** * An instruction that branches to one of multiple successor instructions based on the value of an * integer operand. @@ -2279,3 +2300,26 @@ class NextVarArgInstruction extends UnaryInstruction { class NewObjInstruction extends Instruction { NewObjInstruction() { this.getOpcode() instanceof Opcode::NewObj } } + +/** + * An instruction that returns the type info for its operand. + */ +class TypeidInstruction extends Instruction { + TypeidInstruction() { this.getOpcode() instanceof Opcode::Typeid } +} + +/** + * An instruction that returns the type info for its operand, where the + * operand occurs as an expression in the AST. + */ +class TypeidExprInstruction extends TypeidInstruction, UnaryInstruction { + TypeidExprInstruction() { this.getOpcode() instanceof Opcode::TypeidExpr } +} + +/** + * An instruction that returns the type info for its operand, where the + * operand occurs as a type in the AST. + */ +class TypeidTypeInstruction extends TypeidInstruction { + TypeidTypeInstruction() { this.getOpcode() instanceof Opcode::TypeidType } +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll index af5dd4199858..a564508e16b4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll @@ -725,6 +725,20 @@ class UninitializedInstruction extends VariableInstruction { * Gets the variable that is uninitialized. */ final Language::Variable getLocalVariable() { result = var.(IRUserVariable).getVariable() } + + /** + * Gets the operand that provides the address of the location to which the + * uninitialized value will be stored. + */ + final AddressOperand getDestinationAddressOperand() { result = this.getAnOperand() } + + /** + * Gets the instruction whose result provides the address of the location to + * which the value will be stored, if an exact definition is available. + */ + final Instruction getDestinationAddress() { + result = this.getDestinationAddressOperand().getDef() + } } /** @@ -1590,6 +1604,13 @@ class CompareGEInstruction extends RelationalInstruction { override predicate isStrict() { none() } } +/** + * An instruction that represents a three-way comparison operator. + */ +class SpaceshipInstruction extends BinaryInstruction { + SpaceshipInstruction() { this.getOpcode() instanceof Opcode::Spaceship } +} + /** * An instruction that branches to one of multiple successor instructions based on the value of an * integer operand. @@ -2279,3 +2300,26 @@ class NextVarArgInstruction extends UnaryInstruction { class NewObjInstruction extends Instruction { NewObjInstruction() { this.getOpcode() instanceof Opcode::NewObj } } + +/** + * An instruction that returns the type info for its operand. + */ +class TypeidInstruction extends Instruction { + TypeidInstruction() { this.getOpcode() instanceof Opcode::Typeid } +} + +/** + * An instruction that returns the type info for its operand, where the + * operand occurs as an expression in the AST. + */ +class TypeidExprInstruction extends TypeidInstruction, UnaryInstruction { + TypeidExprInstruction() { this.getOpcode() instanceof Opcode::TypeidExpr } +} + +/** + * An instruction that returns the type info for its operand, where the + * operand occurs as a type in the AST. + */ +class TypeidTypeInstruction extends TypeidInstruction { + TypeidTypeInstruction() { this.getOpcode() instanceof Opcode::TypeidType } +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll index 705a9dcdd0b7..a7e85fe9b1a5 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll @@ -1808,6 +1808,11 @@ private Opcode comparisonOpcode(ComparisonOperation expr) { expr instanceof GEExpr and result instanceof Opcode::CompareGE } +private Opcode spaceShipOpcode(SpaceshipExpr expr) { + exists(expr) and + result instanceof Opcode::Spaceship +} + /** * IR translation of a simple binary operation. */ @@ -1867,7 +1872,8 @@ class TranslatedBinaryOperation extends TranslatedSingleInstructionExpr { override Opcode getOpcode() { result = binaryArithmeticOpcode(expr) or result = binaryBitwiseOpcode(expr) or - result = comparisonOpcode(expr) + result = comparisonOpcode(expr) or + result = spaceShipOpcode(expr) } override Type getExprType() { @@ -4146,7 +4152,8 @@ predicate exprNeedsCopyIfNotLoaded(Expr expr) { private predicate exprImmediatelyDiscarded(Expr expr) { exists(ExprStmt s | s = expr.getParent() and - not exists(StmtExpr se | s = se.getStmt().(BlockStmt).getLastStmt()) + not exists(StmtExpr se | s = se.getStmt().(BlockStmt).getLastStmt()) and + not exists(expr.getConversion()) ) or exists(CommaExpr c | c.getLeftOperand() = expr) @@ -4184,3 +4191,52 @@ class TranslatedAssumeExpr extends TranslatedSingleInstructionExpr { none() } } + +class TranslatedTypeidExpr extends TranslatedSingleInstructionExpr { + override TypeidOperator expr; + + final override Opcode getOpcode() { + exists(this.getOperand()) and + result instanceof Opcode::TypeidExpr + or + not exists(this.getOperand()) and + result instanceof Opcode::TypeidType + } + + final override Instruction getFirstInstruction(EdgeKind kind) { + result = this.getOperand().getFirstInstruction(kind) + or + not exists(this.getOperand()) and + result = this.getInstruction(OnlyInstructionTag()) and + kind instanceof GotoEdge + } + + override Instruction getALastInstructionInternal() { + result = this.getInstruction(OnlyInstructionTag()) + } + + final override TranslatedElement getChildInternal(int id) { + id = 0 and result = this.getOperand() + } + + final override Instruction getInstructionSuccessorInternal(InstructionTag tag, EdgeKind kind) { + tag = OnlyInstructionTag() and + result = this.getParent().getChildSuccessor(this, kind) + } + + final override Instruction getChildSuccessorInternal(TranslatedElement child, EdgeKind kind) { + child = this.getOperand() and + result = this.getInstruction(OnlyInstructionTag()) and + kind instanceof GotoEdge + } + + final override Instruction getInstructionRegisterOperand(InstructionTag tag, OperandTag operandTag) { + tag = OnlyInstructionTag() and + result = this.getOperand().getResult() and + operandTag instanceof UnaryOperandTag + } + + private TranslatedExpr getOperand() { + result = getTranslatedExpr(expr.getExpr().getFullyConverted()) + } +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll index af5dd4199858..a564508e16b4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll @@ -725,6 +725,20 @@ class UninitializedInstruction extends VariableInstruction { * Gets the variable that is uninitialized. */ final Language::Variable getLocalVariable() { result = var.(IRUserVariable).getVariable() } + + /** + * Gets the operand that provides the address of the location to which the + * uninitialized value will be stored. + */ + final AddressOperand getDestinationAddressOperand() { result = this.getAnOperand() } + + /** + * Gets the instruction whose result provides the address of the location to + * which the value will be stored, if an exact definition is available. + */ + final Instruction getDestinationAddress() { + result = this.getDestinationAddressOperand().getDef() + } } /** @@ -1590,6 +1604,13 @@ class CompareGEInstruction extends RelationalInstruction { override predicate isStrict() { none() } } +/** + * An instruction that represents a three-way comparison operator. + */ +class SpaceshipInstruction extends BinaryInstruction { + SpaceshipInstruction() { this.getOpcode() instanceof Opcode::Spaceship } +} + /** * An instruction that branches to one of multiple successor instructions based on the value of an * integer operand. @@ -2279,3 +2300,26 @@ class NextVarArgInstruction extends UnaryInstruction { class NewObjInstruction extends Instruction { NewObjInstruction() { this.getOpcode() instanceof Opcode::NewObj } } + +/** + * An instruction that returns the type info for its operand. + */ +class TypeidInstruction extends Instruction { + TypeidInstruction() { this.getOpcode() instanceof Opcode::Typeid } +} + +/** + * An instruction that returns the type info for its operand, where the + * operand occurs as an expression in the AST. + */ +class TypeidExprInstruction extends TypeidInstruction, UnaryInstruction { + TypeidExprInstruction() { this.getOpcode() instanceof Opcode::TypeidExpr } +} + +/** + * An instruction that returns the type info for its operand, where the + * operand occurs as a type in the AST. + */ +class TypeidTypeInstruction extends TypeidInstruction { + TypeidTypeInstruction() { this.getOpcode() instanceof Opcode::TypeidType } +} diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll index 3a93188e9ca6..d6abbf771114 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll @@ -26,6 +26,14 @@ private class IteratorTraits extends Class { } Type getIteratorType() { result = this.getTemplateArgument(0) } + + Type getValueType() { + exists(TypedefType t | + this.getAMember() = t and + t.getName() = "value_type" and + result = t.getUnderlyingType() + ) + } } /** @@ -34,16 +42,13 @@ private class IteratorTraits extends Class { */ private class IteratorByTraits extends Iterator { IteratorTraits trait; + IteratorByTraits() { + trait.getIteratorType() = this and + not trait.getValueType() = this + } - IteratorByTraits() { trait.getIteratorType() = this } + override Type getValueType() { result = trait.getValueType() } - override Type getValueType() { - exists(TypedefType t | - trait.getAMember() = t and - t.getName() = "value_type" and - result = t.getUnderlyingType() - ) - } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/security/FunctionWithWrappers.qll b/cpp/ql/lib/semmle/code/cpp/security/FunctionWithWrappers.qll index b7a7a95a4271..b66731678475 100644 --- a/cpp/ql/lib/semmle/code/cpp/security/FunctionWithWrappers.qll +++ b/cpp/ql/lib/semmle/code/cpp/security/FunctionWithWrappers.qll @@ -17,7 +17,6 @@ import cpp import PrintfLike -private import semmle.code.cpp.ir.dataflow.ResolveCall bindingset[index] private string toCause(Function func, int index) { @@ -37,9 +36,9 @@ private predicate wrapperFunctionStep( not target.isVirtual() and not source.isVirtual() and source.hasDefinition() and - exists(Call call, Expr arg, Parameter sourceParam | + exists(FunctionCall call, Expr arg, Parameter sourceParam | // there is a 'call' to 'target' with argument 'arg' at index 'targetParamIndex' - target = resolveCall(call) and + target = call.getTarget() and arg = call.getArgument(targetParamIndex) and // 'call' is enclosed in 'source' source = call.getEnclosingFunction() and @@ -154,8 +153,8 @@ abstract class FunctionWithWrappers extends Function { * Whether 'arg' is an argument in a call to an outermost wrapper function of 'this' function. */ predicate outermostWrapperFunctionCall(Expr arg, string callChain) { - exists(Function targetFunc, Call call, int argIndex | - targetFunc = resolveCall(call) and + exists(Function targetFunc, FunctionCall call, int argIndex | + targetFunc = call.getTarget() and this.wrapperFunction(targetFunc, argIndex, callChain) and ( exists(Function sourceFunc | sourceFunc = call.getEnclosingFunction() | diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme index 5491582ac851..5340d6d5f428 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme @@ -217,10 +217,6 @@ diagnostics( /*- C++ dbscheme -*/ -/* - * C++ dbscheme - */ - extractor_version( string codeql_version: string ref, string frontend_version: string ref @@ -286,18 +282,17 @@ macro_argument_expanded( string text: string ref ); -/* case @function.kind of - 1 = @normal_function + 0 = @unknown_function +| 1 = @normal_function | 2 = @constructor | 3 = @destructor | 4 = @conversion_function | 5 = @operator -| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk | 7 = @user_defined_literal | 8 = @deduction_guide ; -*/ functions( unique int id: @function, @@ -305,6 +300,10 @@ functions( int kind: int ref ); +builtin_functions( + int id: @function ref +) + function_entry_point( int id: @function ref, unique int entry_point: @stmt ref @@ -713,9 +712,8 @@ decltypes( boolean parentheses_would_change_meaning: boolean ref ); -/* case @type_operator.kind of -| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual | 1 = @underlying_type | 2 = @bases | 3 = @direct_bases @@ -736,7 +734,6 @@ case @type_operator.kind of | 18 = @remove_volatile | 19 = @remove_reference ; -*/ type_operators( unique int id: @type_operator, @@ -745,9 +742,8 @@ type_operators( int base_type: @type ref ) -/* case @usertype.kind of -| 0 = @unknown_usertype + 0 = @unknown_usertype | 1 = @struct | 2 = @class | 3 = @union @@ -767,7 +763,6 @@ case @usertype.kind of | 17 = @template_union | 18 = @alias ; -*/ usertypes( unique int id: @usertype, diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats index e563fba8ab34..ef86a76e7edd 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats @@ -2,7 +2,7 @@ @compilation - 12647 + 12642 @externalDataElement @@ -10,43 +10,71 @@ @file - 65232 + 65211 @folder - 12393 + 12389 @diagnostic - 1483 + 1484 @location_default - 46965948 + 46965929 @macro_expansion - 40257335 + 40257319 @other_macro_reference 300694 - @function - 4053072 + @normal_function + 2740505 + + + @unknown_function + 1 + + + @constructor + 698724 + + + @destructor + 86280 + + + @conversion_function + 10363 + + + @operator + 653036 + + + @user_defined_literal + 998 + + + @deduction_guide + 5868 @fun_decl - 4206779 + 4206778 @var_decl - 9391616 + 9391612 @type_decl - 1634964 + 1634963 @namespace_decl @@ -54,11 +82,11 @@ @using_declaration - 267955 + 267931 @using_directive - 6472 + 6473 @using_enum_declaration @@ -70,7 +98,7 @@ @parameter - 7026200 + 7026197 @membervariable @@ -82,7 +110,7 @@ @localvariable - 726278 + 726232 @enumconstant @@ -338,7 +366,7 @@ @type_with_specifiers - 693867 + 693866 @array @@ -346,7 +374,7 @@ @routineptr - 684076 + 684109 @reference @@ -354,7 +382,7 @@ @gnu_vector - 676 + 675 @routinereference @@ -372,37 +400,161 @@ @scalable_vector 1 - - @type_operator - 7953 - @decltype 102349 - @usertype - 4151861 + @typeof + 816 + + + @underlying_type + 624 + + + @bases + 1 + + + @direct_bases + 1 + + + @add_lvalue_reference + 1 + + + @add_pointer + 1 + + + @add_rvalue_reference + 1 + + + @decay + 1 + + + @make_signed + 1 + + + @make_unsigned + 1 + + + @remove_all_extents + 1 + + + @remove_const + 1 + + + @remove_cv + 2065 + + + @remove_cvref + 21 + + + @remove_extent + 1 + + + @remove_pointer + 1 + + + @remove_reference_t + 1 + + + @remove_restrict + 1 + + + @remove_volatile + 1 + + + @remove_reference + 5723 + + + @struct + 979865 + + + @union + 20977 + + + @enum + 41337 + + + @template_parameter + 867072 + + + @alias + 1762239 + + + @unknown_usertype + 1 + + + @class + 325269 + + + @template_template_parameter + 6115 + + + @proxy_class + 48438 + + + @scoped_enum + 11612 + + + @template_struct + 212078 + + + @template_class + 29342 + + + @template_union + 1373 @mangledname - 6370041 + 6370039 @type_mention - 5902899 + 5902897 @concept_template - 3611 + 3614 @routinetype - 604289 + 604319 @ptrtomember - 9730 + 9727 @specifier @@ -434,11 +586,11 @@ @attribute_arg_constant_expr - 71994 + 71875 @attribute_arg_expr - 1405 + 1404 @attribute_arg_empty @@ -454,19 +606,19 @@ @derivation - 476877 + 476900 @frienddecl - 700420 + 700462 @comment - 11241970 + 11241965 @namespace - 8653 + 8650 @specialnamequalifyingelement @@ -474,15 +626,15 @@ @namequalifier - 3038986 + 3041863 @value - 13474612 + 13474606 @initialiser - 2251036 + 2251035 @address_of @@ -490,15 +642,15 @@ @indirect - 404154 + 404153 @array_to_pointer - 1953752 + 1953751 @parexpr - 4915210 + 4915208 @arithnegexpr @@ -554,7 +706,7 @@ @remexpr - 16011 + 16012 @paddexpr @@ -574,7 +726,7 @@ @rshiftexpr - 200555 + 200554 @andexpr @@ -614,7 +766,7 @@ @assignexpr - 1281145 + 1281144 @assignaddexpr @@ -626,7 +778,7 @@ @assignmulexpr - 11189 + 11185 @assigndivexpr @@ -674,7 +826,7 @@ @commaexpr - 168441 + 168440 @subscriptexpr @@ -682,7 +834,7 @@ @callexpr - 239767 + 239778 @vastartexpr @@ -702,7 +854,7 @@ @varaccess - 8254635 + 8254632 @runtime_sizeof @@ -710,7 +862,7 @@ @runtime_alignof - 49874 + 49877 @expr_stmt @@ -718,11 +870,11 @@ @routineexpr - 5726803 + 5732226 @type_operand - 1405364 + 1405363 @offsetofexpr @@ -734,7 +886,7 @@ @literal - 7967517 + 7967630 @aggregateliteral @@ -742,15 +894,15 @@ @c_style_cast - 6026988 + 6026986 @temp_init - 992325 + 992324 @errorexpr - 45684 + 45686 @reference_to @@ -758,7 +910,7 @@ @ref_indirect - 2107213 + 2107314 @vacuous_destructor_call @@ -822,11 +974,11 @@ @new_expr - 46195 + 46197 @delete_expr - 11480 + 11481 @throw_expr @@ -834,7 +986,7 @@ @condition_decl - 408518 + 408905 @braced_init_list @@ -842,7 +994,7 @@ @type_id - 47898 + 47901 @sizeof_pack @@ -894,7 +1046,7 @@ @isbaseofexpr - 257 + 258 @isclassexpr @@ -946,15 +1098,15 @@ @foldexpr - 1246 + 1247 @ctordirectinit - 112831 + 112837 @ctorvirtualinit - 4019 + 4020 @ctorfieldinit @@ -966,15 +1118,15 @@ @dtordirectdestruct - 39450 + 39452 @dtorvirtualdestruct - 3985 + 3986 @dtorfielddestruct - 39824 + 39826 @static_cast @@ -986,7 +1138,7 @@ @const_cast - 24460 + 24461 @dynamic_cast @@ -1098,7 +1250,7 @@ @isfinalexpr - 9402 + 9403 @noexceptexpr @@ -1130,7 +1282,7 @@ @spaceshipexpr - 1311 + 1312 @co_await @@ -1150,7 +1302,7 @@ @hasuniqueobjectrepresentations - 42 + 43 @builtinbitcast @@ -1166,7 +1318,7 @@ @issame - 4535 + 4539 @isfunction @@ -1274,7 +1426,7 @@ @reuseexpr - 846206 + 847007 @istriviallycopyassignable @@ -1330,7 +1482,7 @@ @referenceconstructsfromtemporary - 42 + 43 @referenceconvertsfromtemporary @@ -1338,7 +1490,7 @@ @isconvertible - 128 + 129 @isvalidwinrttype @@ -1374,19 +1526,19 @@ @requires_expr - 16486 + 16502 @nested_requirement - 687 + 688 @compound_requirement - 10941 + 10951 @concept_id - 90344 + 90430 @lambdacapture @@ -1394,27 +1546,27 @@ @stmt_expr - 2031615 + 2031614 @stmt_if - 990215 + 990214 @stmt_while - 39648 + 39647 @stmt_goto - 157956 + 157904 @stmt_label - 78048 + 78022 @stmt_return - 1241843 + 1241797 @stmt_block @@ -1430,11 +1582,11 @@ @stmt_switch_case - 835329 + 836120 @stmt_switch - 411463 + 411852 @stmt_asm @@ -1446,7 +1598,7 @@ @stmt_empty - 428982 + 429388 @stmt_continue @@ -1518,7 +1670,7 @@ @ppd_elif - 21923 + 21916 @ppd_else @@ -1526,15 +1678,15 @@ @ppd_endif - 889778 + 889777 @ppd_plain_include - 318660 + 318555 @ppd_define - 2752618 + 2752617 @ppd_undef @@ -1550,7 +1702,7 @@ @ppd_line - 18828 + 18827 @ppd_error @@ -1608,11 +1760,11 @@ compilations - 12647 + 12642 id - 12647 + 12642 cwd @@ -1630,7 +1782,7 @@ 1 2 - 12647 + 12642 @@ -1656,11 +1808,11 @@ compilation_args - 1012517 + 1012186 id - 12647 + 12642 num @@ -1668,7 +1820,7 @@ arg - 29277 + 29267 @@ -1697,7 +1849,7 @@ 44 45 - 507 + 506 45 @@ -1707,7 +1859,7 @@ 51 70 - 486 + 485 71 @@ -1717,7 +1869,7 @@ 72 90 - 898 + 897 94 @@ -1742,7 +1894,7 @@ 104 119 - 1067 + 1066 120 @@ -1773,7 +1925,7 @@ 38 39 - 1500 + 1499 39 @@ -1783,7 +1935,7 @@ 40 42 - 1088 + 1087 42 @@ -1798,7 +1950,7 @@ 54 63 - 898 + 897 64 @@ -1808,17 +1960,17 @@ 67 68 - 1405 + 1404 68 70 - 972 + 971 70 71 - 1405 + 1404 73 @@ -1996,17 +2148,17 @@ 1 2 - 13407 + 13403 2 3 - 12689 + 12685 3 103 - 2197 + 2196 104 @@ -2027,17 +2179,17 @@ 1 2 - 19387 + 19381 2 3 - 8727 + 8724 3 62 - 1162 + 1161 @@ -2047,11 +2199,11 @@ compilation_build_mode - 12647 + 12642 id - 12647 + 12642 mode @@ -2069,7 +2221,7 @@ 1 2 - 12647 + 12642 @@ -2357,7 +2509,7 @@ seconds - 13234 + 13343 @@ -2435,6 +2587,11 @@ 12 + + 2 + 3 + 54 + 3 4 @@ -2443,7 +2600,7 @@ 4 5 - 708 + 653 6 @@ -2458,32 +2615,27 @@ 10 11 - 163 + 217 11 - 13 + 14 217 - 14 - 17 + 16 + 18 163 18 - 20 - 163 - - - 20 - 43 + 22 217 - 47 - 92 - 108 + 25 + 103 + 217 @@ -2566,12 +2718,12 @@ 6 7 - 490 + 381 7 8 - 163 + 326 8 @@ -2580,19 +2732,14 @@ 9 - 17 + 22 381 - 23 - 48 + 25 + 91 381 - - 91 - 92 - 54 - @@ -2647,13 +2794,13 @@ 54 - 136 - 137 + 148 + 149 54 - 150 - 151 + 154 + 155 54 @@ -2670,17 +2817,17 @@ 1 2 - 6862 + 6644 2 3 - 2886 + 3267 3 4 - 1906 + 1797 4 @@ -2689,8 +2836,8 @@ 6 - 47 - 381 + 48 + 435 @@ -2706,17 +2853,17 @@ 1 2 - 6099 + 5882 2 3 - 2723 + 2941 3 4 - 1797 + 1960 4 @@ -2726,12 +2873,12 @@ 5 7 - 1089 + 1198 7 - 75 - 599 + 73 + 435 @@ -2747,12 +2894,12 @@ 1 2 - 10511 + 9857 2 3 - 2723 + 3485 @@ -2762,15 +2909,15 @@ diagnostic_for - 4148 + 4152 diagnostic - 1483 + 1484 compilation - 1354 + 1355 file_number @@ -2792,12 +2939,12 @@ 1 2 - 1440 + 1441 63 64 - 42 + 43 @@ -2813,7 +2960,7 @@ 1 2 - 1483 + 1484 @@ -2829,7 +2976,7 @@ 1 2 - 1483 + 1484 @@ -2845,12 +2992,12 @@ 3 4 - 1311 + 1312 5 6 - 42 + 43 @@ -2866,7 +3013,7 @@ 1 2 - 1354 + 1355 @@ -2882,12 +3029,12 @@ 3 4 - 1311 + 1312 5 6 - 42 + 43 @@ -2951,12 +3098,12 @@ 1 2 - 42 + 43 2 3 - 42 + 43 63 @@ -2977,7 +3124,7 @@ 2 3 - 42 + 43 63 @@ -3008,19 +3155,19 @@ compilation_finished - 12647 + 12642 id - 12647 + 12642 cpu_seconds - 9625 + 9579 elapsed_seconds - 221 + 232 @@ -3034,7 +3181,7 @@ 1 2 - 12647 + 12642 @@ -3050,7 +3197,7 @@ 1 2 - 12647 + 12642 @@ -3066,17 +3213,17 @@ 1 2 - 8262 + 8080 2 3 - 919 + 1077 3 - 34 - 443 + 25 + 422 @@ -3092,12 +3239,12 @@ 1 2 - 9023 + 9051 2 3 - 602 + 528 @@ -3113,67 +3260,47 @@ 1 2 - 63 + 73 2 - 3 + 5 21 - 7 + 6 8 21 - - 10 - 11 - 21 - 11 12 10 - 16 - 17 - 10 - - - 21 - 22 - 10 - - - 28 - 29 - 10 - - - 56 - 57 - 10 + 13 + 14 + 21 - 153 - 154 - 10 + 14 + 17 + 21 - 248 - 249 - 10 + 27 + 54 + 21 - 297 - 298 - 10 + 164 + 251 + 21 - 323 - 324 - 10 + 289 + 322 + 21 @@ -3189,67 +3316,47 @@ 1 2 - 63 + 73 2 - 3 + 5 21 - 7 + 6 8 21 - - 10 - 11 - 21 - 11 12 10 - 16 - 17 - 10 - - - 21 - 22 - 10 - - - 27 - 28 - 10 - - - 54 - 55 - 10 + 13 + 14 + 21 - 152 - 153 - 10 + 14 + 17 + 21 - 163 - 164 - 10 + 26 + 53 + 21 - 229 - 230 - 10 + 154 + 161 + 21 - 251 - 252 - 10 + 227 + 246 + 21 @@ -3486,11 +3593,11 @@ locations_default - 46965948 + 46965929 id - 46965948 + 46965929 file @@ -3498,7 +3605,7 @@ beginLine - 7507424 + 7507421 beginColumn @@ -3506,7 +3613,7 @@ endLine - 7508548 + 7508545 endColumn @@ -3524,7 +3631,7 @@ 1 2 - 46965948 + 46965929 @@ -3540,7 +3647,7 @@ 1 2 - 46965948 + 46965929 @@ -3556,7 +3663,7 @@ 1 2 - 46965948 + 46965929 @@ -3572,7 +3679,7 @@ 1 2 - 46965948 + 46965929 @@ -3588,7 +3695,7 @@ 1 2 - 46965948 + 46965929 @@ -3989,12 +4096,12 @@ 1 2 - 4961954 + 4961952 2 3 - 779773 + 779772 3 @@ -4030,7 +4137,7 @@ 1 2 - 5024012 + 5024010 2 @@ -4066,7 +4173,7 @@ 1 2 - 5646457 + 5646455 2 @@ -4102,7 +4209,7 @@ 1 2 - 7041183 + 7041180 2 @@ -4123,7 +4230,7 @@ 1 2 - 5031004 + 5031002 2 @@ -4544,7 +4651,7 @@ 1 2 - 4959832 + 4959830 2 @@ -4559,12 +4666,12 @@ 4 12 - 568379 + 568378 12 96 - 564758 + 564757 96 @@ -4585,12 +4692,12 @@ 1 2 - 5021140 + 5021138 2 3 - 1224912 + 1224911 3 @@ -4621,7 +4728,7 @@ 1 2 - 7057915 + 7057912 2 @@ -4642,7 +4749,7 @@ 1 2 - 5645583 + 5645580 2 @@ -4652,7 +4759,7 @@ 3 7 - 587608 + 587607 7 @@ -4678,7 +4785,7 @@ 1 2 - 5029631 + 5029629 2 @@ -4688,7 +4795,7 @@ 3 4 - 540035 + 540034 4 @@ -5018,15 +5125,15 @@ files - 65232 + 65211 id - 65232 + 65211 name - 65232 + 65211 @@ -5040,7 +5147,7 @@ 1 2 - 65232 + 65211 @@ -5056,7 +5163,7 @@ 1 2 - 65232 + 65211 @@ -5066,15 +5173,15 @@ folders - 12393 + 12389 id - 12393 + 12389 name - 12393 + 12389 @@ -5088,7 +5195,7 @@ 1 2 - 12393 + 12389 @@ -5104,7 +5211,7 @@ 1 2 - 12393 + 12389 @@ -5114,15 +5221,15 @@ containerparent - 77604 + 77579 parent - 12393 + 12389 child - 77604 + 77579 @@ -5136,12 +5243,12 @@ 1 2 - 6032 + 6031 2 3 - 1521 + 1520 3 @@ -5156,7 +5263,7 @@ 6 10 - 972 + 971 10 @@ -5187,7 +5294,7 @@ 1 2 - 77604 + 77579 @@ -5227,7 +5334,7 @@ 1 2 - 806369 + 806368 2 @@ -5248,7 +5355,7 @@ 1 2 - 806369 + 806368 2 @@ -5269,7 +5376,7 @@ 1 2 - 807243 + 807242 2 @@ -5633,11 +5740,11 @@ diagnostics - 1483 + 1484 id - 1483 + 1484 severity @@ -5645,7 +5752,7 @@ error_tag - 42 + 43 error_message @@ -5671,7 +5778,7 @@ 1 2 - 1483 + 1484 @@ -5687,7 +5794,7 @@ 1 2 - 1483 + 1484 @@ -5703,7 +5810,7 @@ 1 2 - 1483 + 1484 @@ -5719,7 +5826,7 @@ 1 2 - 1483 + 1484 @@ -5735,7 +5842,7 @@ 1 2 - 1483 + 1484 @@ -5852,7 +5959,7 @@ 1 2 - 42 + 43 @@ -5931,7 +6038,7 @@ 1 2 - 128 + 129 63 @@ -6016,7 +6123,7 @@ 1 2 - 128 + 129 63 @@ -6101,7 +6208,7 @@ 3 4 - 42 + 43 63 @@ -6159,7 +6266,7 @@ 3 4 - 42 + 43 @@ -6180,7 +6287,7 @@ 3 4 - 42 + 43 @@ -6238,11 +6345,11 @@ fileannotations - 4201815 + 4200439 id - 5768 + 5766 kind @@ -6250,11 +6357,11 @@ name - 58734 + 58715 value - 39526 + 39513 @@ -6273,7 +6380,7 @@ 2 3 - 5568 + 5566 @@ -6324,7 +6431,7 @@ 550 551 - 1331 + 1330 553 @@ -6344,7 +6451,7 @@ 1234 2155 - 243 + 242 @@ -6395,7 +6502,7 @@ 706 707 - 1331 + 1330 710 @@ -6499,57 +6606,57 @@ 1 2 - 11030 + 11026 2 3 - 4363 + 4362 3 5 - 5060 + 5059 5 7 - 4099 + 4098 7 9 - 4596 + 4594 9 16 - 4331 + 4330 16 19 - 4891 + 4890 19 27 - 4257 + 4256 27 47 - 4839 + 4837 47 128 - 4923 + 4921 128 459 - 4627 + 4626 459 @@ -6570,7 +6677,7 @@ 1 2 - 58734 + 58715 @@ -6586,57 +6693,57 @@ 1 2 - 11590 + 11586 2 3 - 7691 + 7689 3 4 - 4099 + 4098 4 6 - 4067 + 4066 6 8 - 3423 + 3422 8 11 - 4743 + 4742 11 17 - 5399 + 5397 17 23 - 4701 + 4700 23 41 - 4680 + 4679 41 95 - 4469 + 4467 95 1726 - 3867 + 3865 @@ -6652,7 +6759,7 @@ 1 2 - 3359 + 3358 2 @@ -6662,57 +6769,57 @@ 4 5 - 3190 + 3189 5 8 - 2461 + 2460 8 14 - 2968 + 2967 14 17 - 1933 + 1932 17 24 - 3042 + 3041 24 51 - 3539 + 3538 51 58 - 3032 + 3031 58 80 - 2979 + 2978 81 151 - 3085 + 3084 151 334 - 2979 + 2978 334 473 - 3000 + 2999 473 @@ -6733,7 +6840,7 @@ 1 2 - 39515 + 39502 2 @@ -6754,17 +6861,17 @@ 1 2 - 3402 + 3401 2 4 - 1912 + 1911 4 5 - 3053 + 3052 5 @@ -6774,47 +6881,47 @@ 8 14 - 3486 + 3485 14 18 - 3454 + 3453 18 28 - 3201 + 3200 28 34 - 3148 + 3147 34 41 - 3201 + 3200 41 66 - 2990 + 2989 66 92 - 3074 + 3073 92 113 - 2990 + 2989 113 145 - 3032 + 3031 145 @@ -6829,15 +6936,15 @@ inmacroexpansion - 149996022 + 149995963 id - 24670888 + 24670878 inv - 3705273 + 3705272 @@ -6851,37 +6958,37 @@ 1 3 - 2209400 + 2209399 3 5 - 1474978 + 1474977 5 6 - 1620370 + 1620369 6 7 - 6582548 + 6582545 7 8 - 8719004 + 8719001 8 9 - 3557050 + 3557049 9 22 - 507535 + 507534 @@ -6897,7 +7004,7 @@ 1 2 - 531662 + 531661 2 @@ -6957,15 +7064,15 @@ affectedbymacroexpansion - 48735860 + 48735840 id - 7044743 + 7044740 inv - 3803123 + 3803121 @@ -6979,7 +7086,7 @@ 1 2 - 3846711 + 3846709 2 @@ -6989,7 +7096,7 @@ 3 4 - 361842 + 361841 4 @@ -7040,7 +7147,7 @@ 9 12 - 342939 + 342938 12 @@ -7065,7 +7172,7 @@ 16 17 - 377678 + 377677 17 @@ -7095,11 +7202,11 @@ macroinvocations - 40338485 + 40338469 id - 40338485 + 40338469 macro_id @@ -7107,7 +7214,7 @@ location - 5912757 + 5912755 kind @@ -7125,7 +7232,7 @@ 1 2 - 40338485 + 40338469 @@ -7141,7 +7248,7 @@ 1 2 - 40338485 + 40338469 @@ -7157,7 +7264,7 @@ 1 2 - 40338485 + 40338469 @@ -7249,7 +7356,7 @@ 5 8 - 14106 + 14105 8 @@ -7280,7 +7387,7 @@ 1 2 - 177496 + 177495 2 @@ -7301,12 +7408,12 @@ 1 2 - 5255929 + 5255927 2 4 - 422363 + 422362 4 @@ -7327,7 +7434,7 @@ 1 2 - 5890590 + 5890588 2 @@ -7348,7 +7455,7 @@ 1 2 - 5912757 + 5912755 @@ -7421,15 +7528,15 @@ macroparent - 33655998 + 33655984 id - 33655998 + 33655984 parent_id - 15926385 + 15926379 @@ -7443,7 +7550,7 @@ 1 2 - 33655998 + 33655984 @@ -7459,7 +7566,7 @@ 1 2 - 7806501 + 7806498 2 @@ -7469,7 +7576,7 @@ 3 4 - 4702908 + 4702906 4 @@ -7489,15 +7596,15 @@ macrolocationbind - 6058841 + 6046191 id - 4241799 + 4227950 location - 2277063 + 2278566 @@ -7511,27 +7618,27 @@ 1 2 - 3316469 + 3302009 2 3 - 490781 + 491104 3 4 - 7888 + 7893 4 5 - 413483 + 413756 5 17 - 13176 + 13185 @@ -7547,27 +7654,27 @@ 1 2 - 1335697 + 1336578 2 3 - 481667 + 481984 3 4 - 7802 + 7807 4 5 - 427799 + 428082 5 522 - 24096 + 24112 @@ -7577,11 +7684,11 @@ macro_argument_unexpanded - 82524830 + 82497361 invocation - 26294983 + 26285935 argument_index @@ -7589,7 +7696,7 @@ text - 343373 + 343260 @@ -7603,22 +7710,22 @@ 1 2 - 9687115 + 9683509 2 3 - 9773574 + 9770372 3 4 - 5003770 + 5002131 4 67 - 1830521 + 1829922 @@ -7634,22 +7741,22 @@ 1 2 - 9869806 + 9866140 2 3 - 9791124 + 9787916 3 4 - 4847060 + 4845472 4 67 - 1786991 + 1786405 @@ -7674,7 +7781,7 @@ 646840 - 2488722 + 2488681 31 @@ -7717,57 +7824,57 @@ 1 2 - 39716 + 39703 2 3 - 62347 + 62327 3 4 - 21036 + 21029 4 5 - 34591 + 34580 5 6 - 39261 + 39249 6 9 - 30883 + 30873 9 15 - 28992 + 28982 15 26 - 25896 + 25887 26 57 - 27153 + 27144 57 517 - 26002 + 25993 518 486610 - 7491 + 7488 @@ -7783,17 +7890,17 @@ 1 2 - 243253 + 243173 2 3 - 89903 + 89873 3 9 - 10216 + 10213 @@ -7803,11 +7910,11 @@ macro_argument_expanded - 82524830 + 82497361 invocation - 26294983 + 26285935 argument_index @@ -7815,7 +7922,7 @@ text - 207995 + 207927 @@ -7829,22 +7936,22 @@ 1 2 - 9687115 + 9683509 2 3 - 9773574 + 9770372 3 4 - 5003770 + 5002131 4 67 - 1830521 + 1829922 @@ -7860,22 +7967,22 @@ 1 2 - 12646684 + 12642108 2 3 - 8431006 + 8428244 3 4 - 4226602 + 4225217 4 9 - 990689 + 990364 @@ -7900,7 +8007,7 @@ 646840 - 2488722 + 2488681 31 @@ -7943,57 +8050,57 @@ 1 2 - 21839 + 21832 2 3 - 26868 + 26859 3 4 - 43509 + 43495 4 5 - 15911 + 15906 5 6 - 3264 + 3263 6 7 - 18405 + 18399 7 10 - 18975 + 18969 10 19 - 18331 + 18325 19 51 - 15785 + 15779 51 252 - 15605 + 15600 252 - 1169625 - 9498 + 1169584 + 9495 @@ -8009,17 +8116,17 @@ 1 2 - 105117 + 105083 2 3 - 88941 + 88912 3 66 - 13936 + 13931 @@ -8029,19 +8136,19 @@ functions - 4053072 + 4053071 id - 4053072 + 4053071 name - 1694898 + 1694897 kind - 998 + 874 @@ -8055,7 +8162,7 @@ 1 2 - 4053072 + 4053071 @@ -8071,7 +8178,7 @@ 1 2 - 4053072 + 4053071 @@ -8136,11 +8243,6 @@ 9 124 - - 13 - 14 - 124 - 47 48 @@ -8167,8 +8269,8 @@ 124 - 21935 - 21936 + 21948 + 21949 124 @@ -8187,11 +8289,6 @@ 3 124 - - 13 - 14 - 124 - 18 19 @@ -8218,8 +8315,8 @@ 124 - 12674 - 12675 + 12687 + 12688 124 @@ -8228,17 +8325,28 @@ + + builtin_functions + 30926 + + + id + 30926 + + + + function_entry_point - 1141500 + 1141555 id - 1137753 + 1137808 entry_point - 1141500 + 1141555 @@ -8252,7 +8360,7 @@ 1 2 - 1134551 + 1134605 2 @@ -8273,7 +8381,7 @@ 1 2 - 1141500 + 1141555 @@ -8283,11 +8391,11 @@ function_return_type - 4070553 + 4070552 id - 4053072 + 4053071 return_type @@ -8305,7 +8413,7 @@ 1 2 - 4035591 + 4035590 2 @@ -8637,33 +8745,33 @@ function_deleted - 88001 + 88085 id - 88001 + 88085 function_defaulted - 51631 + 51680 id - 51631 + 51680 function_prototyped - 4051574 + 4051572 id - 4051574 + 4051572 @@ -8821,15 +8929,15 @@ fun_decls - 4212773 + 4212771 id - 4206779 + 4206778 function - 4028474 + 4028473 type_id @@ -8837,11 +8945,11 @@ name - 1693400 + 1693399 location - 2815799 + 2815798 @@ -8855,7 +8963,7 @@ 1 2 - 4206779 + 4206778 @@ -8871,7 +8979,7 @@ 1 2 - 4200786 + 4200784 2 @@ -8892,7 +9000,7 @@ 1 2 - 4206779 + 4206778 @@ -8908,7 +9016,7 @@ 1 2 - 4206779 + 4206778 @@ -8924,7 +9032,7 @@ 1 2 - 3864778 + 3864776 2 @@ -8945,7 +9053,7 @@ 1 2 - 4009994 + 4009993 2 @@ -8966,7 +9074,7 @@ 1 2 - 4028474 + 4028473 @@ -8982,7 +9090,7 @@ 1 2 - 3885256 + 3885254 2 @@ -9137,7 +9245,7 @@ 1 2 - 1332544 + 1332543 2 @@ -9168,7 +9276,7 @@ 1 2 - 1448043 + 1448042 2 @@ -9194,7 +9302,7 @@ 1 2 - 1603498 + 1603497 2 @@ -9215,7 +9323,7 @@ 1 2 - 1368505 + 1368504 2 @@ -9241,12 +9349,12 @@ 1 2 - 2422478 + 2422477 2 3 - 251725 + 251724 3 @@ -9267,7 +9375,7 @@ 1 2 - 2441208 + 2441207 2 @@ -9293,7 +9401,7 @@ 1 2 - 2701299 + 2701298 2 @@ -9314,7 +9422,7 @@ 1 2 - 2776592 + 2776590 2 @@ -9329,11 +9437,11 @@ fun_def - 1423570 + 1423569 id - 1423570 + 1423569 @@ -9362,11 +9470,11 @@ fun_decl_specifiers - 4283570 + 4283569 id - 1749838 + 1749837 name @@ -9394,7 +9502,7 @@ 3 4 - 1101172 + 1101171 4 @@ -9607,15 +9715,15 @@ fun_decl_noexcept - 141823 + 141829 fun_decl - 141823 + 141829 constant - 141346 + 141353 @@ -9629,7 +9737,7 @@ 1 2 - 141823 + 141829 @@ -9645,7 +9753,7 @@ 1 2 - 140903 + 140910 2 @@ -9769,19 +9877,19 @@ fun_requires - 29083 + 29110 id - 10102 + 10112 kind - 42 + 43 constraint - 28846 + 28874 @@ -9795,7 +9903,7 @@ 1 2 - 10038 + 10047 2 @@ -9816,7 +9924,7 @@ 1 2 - 7265 + 7272 2 @@ -9826,7 +9934,7 @@ 3 6 - 859 + 860 6 @@ -9836,7 +9944,7 @@ 13 14 - 1139 + 1140 19 @@ -9899,7 +10007,7 @@ 1 2 - 28610 + 28637 2 @@ -9920,7 +10028,7 @@ 1 2 - 28846 + 28874 @@ -9930,11 +10038,11 @@ param_decl_bind - 7317007 + 7317004 id - 7317007 + 7317004 index @@ -9942,7 +10050,7 @@ fun_decl - 3534888 + 3534887 @@ -9956,7 +10064,7 @@ 1 2 - 7317007 + 7317004 @@ -9972,7 +10080,7 @@ 1 2 - 7317007 + 7317004 @@ -10070,7 +10178,7 @@ 1 2 - 1510350 + 1510349 2 @@ -10106,7 +10214,7 @@ 1 2 - 1510350 + 1510349 2 @@ -10136,15 +10244,15 @@ var_decls - 9398483 + 9398480 id - 9391616 + 9391612 variable - 9042872 + 9042868 type_id @@ -10156,7 +10264,7 @@ location - 6280264 + 6280262 @@ -10170,7 +10278,7 @@ 1 2 - 9391616 + 9391612 @@ -10186,7 +10294,7 @@ 1 2 - 9384748 + 9384745 2 @@ -10207,7 +10315,7 @@ 1 2 - 9391616 + 9391612 @@ -10223,7 +10331,7 @@ 1 2 - 9391616 + 9391612 @@ -10239,7 +10347,7 @@ 1 2 - 8711609 + 8711605 2 @@ -10260,7 +10368,7 @@ 1 2 - 8989305 + 8989302 2 @@ -10281,7 +10389,7 @@ 1 2 - 8937362 + 8937359 2 @@ -10302,7 +10410,7 @@ 1 2 - 8791022 + 8791018 2 @@ -10395,7 +10503,7 @@ 1 2 - 1120526 + 1120525 2 @@ -10544,7 +10652,7 @@ 1 2 - 655284 + 655283 2 @@ -10575,7 +10683,7 @@ 1 2 - 494210 + 494209 2 @@ -10611,7 +10719,7 @@ 1 2 - 5780061 + 5780059 2 @@ -10637,7 +10745,7 @@ 1 2 - 5860972 + 5860970 2 @@ -10658,7 +10766,7 @@ 1 2 - 5981466 + 5981463 2 @@ -10679,7 +10787,7 @@ 1 2 - 6267903 + 6267900 2 @@ -10694,22 +10802,22 @@ var_def - 3770381 + 3770380 id - 3770381 + 3770380 var_specialized - 644 + 645 id - 644 + 645 @@ -10779,18 +10887,18 @@ is_structured_binding - 945 + 946 id - 945 + 946 var_requires - 386 + 387 id @@ -10798,7 +10906,7 @@ constraint - 386 + 387 @@ -10838,7 +10946,7 @@ 1 2 - 386 + 387 @@ -10848,11 +10956,11 @@ type_decls - 1634964 + 1634963 id - 1634964 + 1634963 type_id @@ -10860,7 +10968,7 @@ location - 1548808 + 1548807 @@ -10874,7 +10982,7 @@ 1 2 - 1634964 + 1634963 @@ -10890,7 +10998,7 @@ 1 2 - 1634964 + 1634963 @@ -10927,7 +11035,7 @@ 1 2 - 1599752 + 1599751 2 @@ -10948,7 +11056,7 @@ 1 2 - 1526707 + 1526706 2 @@ -10969,7 +11077,7 @@ 1 2 - 1526832 + 1526831 2 @@ -10984,11 +11092,11 @@ type_def - 1096552 + 1096551 id - 1096552 + 1096551 @@ -11006,15 +11114,15 @@ type_requires - 7673 + 7681 id - 2042 + 2043 constraint - 7652 + 7659 @@ -11028,7 +11136,7 @@ 1 2 - 1010 + 1011 2 @@ -11038,12 +11146,12 @@ 5 6 - 601 + 602 6 13 - 171 + 172 13 @@ -11064,7 +11172,7 @@ 1 2 - 7630 + 7638 2 @@ -11445,19 +11553,19 @@ usings - 272108 + 272082 id - 272108 + 272082 element_id - 59009 + 59053 location - 26857 + 26849 kind @@ -11475,7 +11583,7 @@ 1 2 - 272108 + 272082 @@ -11491,7 +11599,7 @@ 1 2 - 272108 + 272082 @@ -11507,7 +11615,7 @@ 1 2 - 272108 + 272082 @@ -11523,17 +11631,17 @@ 1 2 - 51275 + 51321 2 5 - 5388 + 5386 5 134 - 2345 + 2344 @@ -11549,17 +11657,17 @@ 1 2 - 51275 + 51321 2 5 - 5388 + 5386 5 134 - 2345 + 2344 @@ -11575,7 +11683,7 @@ 1 2 - 59009 + 59053 @@ -11591,22 +11699,22 @@ 1 2 - 21184 + 21177 2 4 - 2303 + 2302 4 132 - 1944 + 1943 145 - 365 - 1426 + 367 + 1425 @@ -11622,22 +11730,22 @@ 1 2 - 21184 + 21177 2 4 - 2303 + 2302 4 132 - 1944 + 1943 145 - 365 - 1426 + 367 + 1425 @@ -11653,7 +11761,7 @@ 1 2 - 26857 + 26849 @@ -11672,8 +11780,8 @@ 10 - 25361 - 25362 + 25367 + 25368 10 @@ -11693,8 +11801,8 @@ 10 - 5371 - 5372 + 5377 + 5378 10 @@ -11726,15 +11834,15 @@ using_container - 580276 + 580149 parent - 21892 + 21895 child - 272108 + 272082 @@ -11748,7 +11856,7 @@ 1 2 - 10375 + 10372 2 @@ -11758,17 +11866,17 @@ 3 6 - 1859 + 1858 6 7 - 2282 + 2291 7 28 - 1669 + 1668 28 @@ -11778,7 +11886,7 @@ 145 146 - 2620 + 2619 146 @@ -11799,27 +11907,27 @@ 1 2 - 96570 + 96601 2 3 - 120321 + 120282 3 4 - 20106 + 20099 4 5 - 26720 + 26711 5 65 - 8389 + 8386 @@ -12437,15 +12545,15 @@ params - 7067155 + 7067152 id - 7026200 + 7026197 function - 3408027 + 3408025 index @@ -12467,7 +12575,7 @@ 1 2 - 7026200 + 7026197 @@ -12483,7 +12591,7 @@ 1 2 - 7026200 + 7026197 @@ -12499,7 +12607,7 @@ 1 2 - 6985244 + 6985242 2 @@ -12520,12 +12628,12 @@ 1 2 - 1474514 + 1474513 2 3 - 927112 + 927111 3 @@ -12556,12 +12664,12 @@ 1 2 - 1474514 + 1474513 2 3 - 927112 + 927111 3 @@ -12592,12 +12700,12 @@ 1 2 - 1783302 + 1783301 2 3 - 1031623 + 1031622 3 @@ -12818,7 +12926,7 @@ 1 2 - 996037 + 996036 2 @@ -13082,7 +13190,7 @@ 3 660 - 44551 + 44550 @@ -13258,7 +13366,7 @@ 1 2 - 97019 + 97018 2 @@ -13278,19 +13386,19 @@ localvariables - 726278 + 726232 id - 726278 + 726232 type_id - 53441 + 53437 name - 101531 + 101525 @@ -13304,7 +13412,7 @@ 1 2 - 726278 + 726232 @@ -13320,7 +13428,7 @@ 1 2 - 726278 + 726232 @@ -13336,17 +13444,17 @@ 1 2 - 28885 + 28883 2 3 - 7838 + 7837 3 4 - 4029 + 4028 4 @@ -13361,7 +13469,7 @@ 12 165 - 4009 + 4008 165 @@ -13382,7 +13490,7 @@ 1 2 - 38385 + 38383 2 @@ -13397,7 +13505,7 @@ 5 3502 - 3889 + 3888 @@ -13413,12 +13521,12 @@ 1 2 - 62453 + 62449 2 3 - 16032 + 16031 3 @@ -13454,7 +13562,7 @@ 1 2 - 84485 + 84480 2 @@ -13547,15 +13655,15 @@ orphaned_variables - 44321 + 44323 var - 44321 + 44323 function - 41051 + 41052 @@ -13569,7 +13677,7 @@ 1 2 - 44321 + 44323 @@ -13585,7 +13693,7 @@ 1 2 - 40199 + 40201 2 @@ -15179,15 +15287,15 @@ derivedtypes - 3033686 + 3033685 id - 3033686 + 3033685 name - 1461903 + 1461902 kind @@ -15195,7 +15303,7 @@ type_id - 1948496 + 1948495 @@ -15209,7 +15317,7 @@ 1 2 - 3033686 + 3033685 @@ -15225,7 +15333,7 @@ 1 2 - 3033686 + 3033685 @@ -15241,7 +15349,7 @@ 1 2 - 3033686 + 3033685 @@ -15257,7 +15365,7 @@ 1 2 - 1345280 + 1345279 2 @@ -15283,7 +15391,7 @@ 1 2 - 1461903 + 1461902 @@ -15299,7 +15407,7 @@ 1 2 - 1345405 + 1345404 2 @@ -15453,7 +15561,7 @@ 2 3 - 376214 + 376213 3 @@ -15484,7 +15592,7 @@ 2 3 - 376214 + 376213 3 @@ -16100,15 +16208,15 @@ typedefbase - 1762320 + 1762239 id - 1762320 + 1762239 type_id - 838043 + 838004 @@ -16122,7 +16230,7 @@ 1 2 - 1762320 + 1762239 @@ -16138,22 +16246,22 @@ 1 2 - 662586 + 662556 2 3 - 80931 + 80927 3 6 - 64157 + 64154 6 4526 - 30367 + 30366 @@ -16611,23 +16719,23 @@ type_operators - 7953 + 7960 id - 7953 + 7960 arg_type - 7179 + 7186 kind - 85 + 86 base_type - 5244 + 5249 @@ -16641,7 +16749,7 @@ 1 2 - 7953 + 7960 @@ -16657,7 +16765,7 @@ 1 2 - 7953 + 7960 @@ -16673,7 +16781,7 @@ 1 2 - 7953 + 7960 @@ -16689,12 +16797,12 @@ 1 2 - 6405 + 6411 2 3 - 773 + 774 @@ -16710,12 +16818,12 @@ 1 2 - 6405 + 6411 2 3 - 773 + 774 @@ -16731,7 +16839,7 @@ 1 2 - 7157 + 7164 2 @@ -16845,17 +16953,17 @@ 1 2 - 3632 + 3636 2 3 - 902 + 903 3 4 - 343 + 344 4 @@ -16876,12 +16984,12 @@ 1 2 - 3783 + 3786 2 3 - 988 + 989 3 @@ -16907,12 +17015,12 @@ 1 2 - 4084 + 4087 2 3 - 1139 + 1140 3 @@ -16927,15 +17035,15 @@ usertypes - 4151861 + 4151525 id - 4151861 + 4151525 name - 918789 + 918510 kind @@ -16953,7 +17061,7 @@ 1 2 - 4151861 + 4151525 @@ -16969,7 +17077,7 @@ 1 2 - 4151861 + 4151525 @@ -16985,22 +17093,22 @@ 1 2 - 654542 + 654243 2 3 - 158590 + 158665 3 8 - 70610 + 70566 8 32669 - 35046 + 35034 @@ -17016,12 +17124,12 @@ 1 2 - 867028 + 866765 2 10 - 51761 + 51744 @@ -17055,8 +17163,8 @@ 10 - 1594 - 1595 + 1595 + 1596 10 @@ -17070,13 +17178,13 @@ 10 - 20078 - 20079 + 20079 + 20080 10 - 21485 - 21486 + 21491 + 21492 10 @@ -17085,13 +17193,13 @@ 10 - 92762 - 92763 + 92771 + 92772 10 - 166764 - 166765 + 166844 + 166845 10 @@ -17156,8 +17264,8 @@ 10 - 12187 - 12188 + 12189 + 12190 10 @@ -17173,15 +17281,15 @@ usertypesize - 1364111 + 1363780 id - 1364111 + 1363780 size - 1479 + 1478 alignment @@ -17199,7 +17307,7 @@ 1 2 - 1364111 + 1363780 @@ -17215,7 +17323,7 @@ 1 2 - 1364111 + 1363780 @@ -17270,12 +17378,12 @@ 118 - 1731 + 1735 116 1839 - 99773 + 99774 52 @@ -17341,18 +17449,18 @@ 10 - 2079 - 2080 + 2080 + 2081 10 - 11940 - 11941 + 11949 + 11950 10 - 114968 - 114969 + 114969 + 114970 10 @@ -17473,11 +17581,11 @@ usertype_alias_kind - 1762320 + 1762239 id - 1762320 + 1762239 alias_kind @@ -17495,7 +17603,7 @@ 1 2 - 1762320 + 1762239 @@ -17526,26 +17634,26 @@ nontype_template_parameters - 766246 + 766283 id - 766246 + 766283 type_template_type_constraint - 27127 + 27152 id - 13370 + 13382 constraint - 25987 + 26012 @@ -17559,22 +17667,22 @@ 1 2 - 10210 + 10219 2 3 - 902 + 903 3 5 - 1031 + 1032 5 14 - 1117 + 1118 14 @@ -17595,12 +17703,12 @@ 1 2 - 24848 + 24872 2 3 - 1139 + 1140 @@ -17610,15 +17718,15 @@ mangled_name - 7859539 + 7859536 id - 7859539 + 7859536 mangled_name - 6370041 + 6370039 is_complete @@ -17636,7 +17744,7 @@ 1 2 - 7859539 + 7859536 @@ -17652,7 +17760,7 @@ 1 2 - 7859539 + 7859536 @@ -17668,7 +17776,7 @@ 1 2 - 6041650 + 6041648 2 @@ -17689,7 +17797,7 @@ 1 2 - 6370041 + 6370039 @@ -17741,59 +17849,59 @@ is_pod_class - 593728 + 593757 id - 593728 + 593757 is_standard_layout_class - 1124682 + 1124388 id - 1124682 + 1124388 is_complete - 1346593 + 1346258 id - 1346593 + 1346258 is_class_template - 232233 + 232167 id - 232233 + 232167 class_instantiation - 1126267 + 1126046 to - 1123214 + 1123004 from - 71825 + 71801 @@ -17807,12 +17915,12 @@ 1 2 - 1121069 + 1120871 2 8 - 2144 + 2133 @@ -17828,47 +17936,47 @@ 1 2 - 20497 + 20490 2 3 - 12890 + 12885 3 4 - 7110 + 7108 4 5 - 4659 + 4657 5 7 - 6064 + 6073 7 10 - 5737 + 5724 10 17 - 5916 + 5904 17 51 - 5388 + 5397 51 4223 - 3560 + 3559 @@ -17878,19 +17986,19 @@ class_template_argument - 2899301 + 2898595 type_id - 1367407 + 1367076 index - 1183 + 1182 arg_type - 822314 + 822077 @@ -17904,27 +18012,27 @@ 1 2 - 579515 + 579347 2 3 - 410328 + 410278 3 4 - 251124 + 251042 4 7 - 103120 + 103097 7 113 - 23318 + 23310 @@ -17940,22 +18048,22 @@ 1 2 - 608064 + 607886 2 3 - 424338 + 424283 3 4 - 251959 + 251876 4 113 - 83046 + 83029 @@ -17976,7 +18084,7 @@ 4 5 - 750 + 749 5 @@ -17995,12 +18103,12 @@ 643 - 7127 + 7128 95 - 11967 - 129418 + 11968 + 129429 42 @@ -18022,7 +18130,7 @@ 4 5 - 750 + 749 5 @@ -18046,7 +18154,7 @@ 10413 - 44531 + 44533 31 @@ -18063,27 +18171,27 @@ 1 2 - 513871 + 513703 2 3 - 167677 + 167643 3 5 - 75111 + 75086 5 47 - 61745 + 61736 47 - 12616 - 3909 + 12618 + 3908 @@ -18099,17 +18207,17 @@ 1 2 - 724001 + 723795 2 3 - 79939 + 79913 3 22 - 18373 + 18367 @@ -18119,11 +18227,11 @@ class_template_argument_value - 510059 + 510083 type_id - 205801 + 205811 index @@ -18131,7 +18239,7 @@ arg_value - 509922 + 509947 @@ -18145,12 +18253,12 @@ 1 2 - 155790 + 155798 2 3 - 43367 + 43370 3 @@ -18171,17 +18279,17 @@ 1 2 - 147921 + 147928 2 3 - 40472 + 40474 3 45 - 15534 + 15535 45 @@ -18314,7 +18422,7 @@ 1 2 - 509786 + 509811 2 @@ -18335,7 +18443,7 @@ 1 2 - 509922 + 509947 @@ -18345,15 +18453,15 @@ is_proxy_class_for - 48454 + 48438 id - 48454 + 48438 templ_param_id - 45781 + 45766 @@ -18367,7 +18475,7 @@ 1 2 - 48454 + 48438 @@ -18383,7 +18491,7 @@ 1 2 - 45062 + 45047 2 @@ -18398,11 +18506,11 @@ type_mentions - 5902899 + 5902897 id - 5902899 + 5902897 type_id @@ -18410,7 +18518,7 @@ location - 5846584 + 5846582 kind @@ -18428,7 +18536,7 @@ 1 2 - 5902899 + 5902897 @@ -18444,7 +18552,7 @@ 1 2 - 5902899 + 5902897 @@ -18460,7 +18568,7 @@ 1 2 - 5902899 + 5902897 @@ -18476,7 +18584,7 @@ 1 2 - 136594 + 136593 2 @@ -18527,7 +18635,7 @@ 1 2 - 136594 + 136593 2 @@ -18594,7 +18702,7 @@ 1 2 - 5800889 + 5800887 2 @@ -18615,7 +18723,7 @@ 1 2 - 5800889 + 5800887 2 @@ -18636,7 +18744,7 @@ 1 2 - 5846584 + 5846582 @@ -18694,26 +18802,26 @@ is_function_template - 1332544 + 1332543 id - 1332544 + 1332543 function_instantiation - 973581 + 973628 to - 973581 + 973628 from - 182636 + 182644 @@ -18727,7 +18835,7 @@ 1 2 - 973581 + 973628 @@ -18743,17 +18851,17 @@ 1 2 - 110583 + 110588 2 3 - 42788 + 42790 3 9 - 14376 + 14377 9 @@ -18773,11 +18881,11 @@ function_template_argument - 2484681 + 2484801 function_id - 1453218 + 1453288 index @@ -18785,7 +18893,7 @@ arg_type - 297988 + 298003 @@ -18799,22 +18907,22 @@ 1 2 - 782974 + 783011 2 3 - 413136 + 413156 3 4 - 171802 + 171810 4 15 - 85305 + 85309 @@ -18830,22 +18938,22 @@ 1 2 - 802120 + 802158 2 3 - 411229 + 411249 3 4 - 169622 + 169630 4 9 - 70247 + 70250 @@ -18983,32 +19091,32 @@ 1 2 - 174766 + 174774 2 3 - 26334 + 26335 3 4 - 19997 + 19998 4 6 - 22654 + 22656 6 11 - 23234 + 23235 11 76 - 23370 + 23371 79 @@ -19029,17 +19137,17 @@ 1 2 - 256801 + 256813 2 3 - 32125 + 32127 3 15 - 9061 + 9062 @@ -19049,11 +19157,11 @@ function_template_argument_value - 452757 + 452779 function_id - 196774 + 196783 index @@ -19061,7 +19169,7 @@ arg_value - 450066 + 450087 @@ -19075,17 +19183,17 @@ 1 2 - 151396 + 151403 2 3 - 42891 + 42893 3 8 - 2486 + 2487 @@ -19101,17 +19209,17 @@ 1 2 - 144480 + 144487 2 3 - 36690 + 36692 3 54 - 14853 + 14854 54 @@ -19254,7 +19362,7 @@ 1 2 - 447374 + 447396 2 @@ -19275,7 +19383,7 @@ 1 2 - 450066 + 450087 @@ -19849,11 +19957,11 @@ template_template_argument - 9678 + 9674 type_id - 6117 + 6115 index @@ -19861,7 +19969,7 @@ arg_type - 9086 + 9083 @@ -19875,7 +19983,7 @@ 1 2 - 5018 + 5017 2 @@ -19885,12 +19993,12 @@ 3 8 - 507 + 506 8 11 - 169 + 168 @@ -19906,7 +20014,7 @@ 1 2 - 5039 + 5038 2 @@ -20059,7 +20167,7 @@ 1 2 - 9054 + 9051 3 @@ -20080,7 +20188,7 @@ 1 2 - 9065 + 9062 2 @@ -20231,19 +20339,19 @@ concept_templates - 3611 + 3614 concept_id - 3611 + 3614 name - 3611 + 3614 location - 3611 + 3614 @@ -20257,7 +20365,7 @@ 1 2 - 3611 + 3614 @@ -20273,7 +20381,7 @@ 1 2 - 3611 + 3614 @@ -20289,7 +20397,7 @@ 1 2 - 3611 + 3614 @@ -20305,7 +20413,7 @@ 1 2 - 3611 + 3614 @@ -20321,7 +20429,7 @@ 1 2 - 3611 + 3614 @@ -20337,7 +20445,7 @@ 1 2 - 3611 + 3614 @@ -20347,15 +20455,15 @@ concept_instantiation - 90344 + 90430 to - 90344 + 90430 from - 3439 + 3442 @@ -20369,7 +20477,7 @@ 1 2 - 90344 + 90430 @@ -20400,12 +20508,12 @@ 4 5 - 128 + 129 5 6 - 300 + 301 6 @@ -20425,37 +20533,37 @@ 12 15 - 214 + 215 15 19 - 214 + 215 19 25 - 257 + 258 25 37 - 257 + 258 38 49 - 257 + 258 50 72 - 257 + 258 78 387 - 214 + 215 @@ -20465,30 +20573,30 @@ is_type_constraint - 36864 + 36899 concept_id - 36864 + 36899 concept_template_argument - 112936 + 113043 concept_id - 76308 + 76380 index - 128 + 129 arg_type - 21409 + 21429 @@ -20502,17 +20610,17 @@ 1 2 - 46429 + 46473 2 3 - 24655 + 24678 3 7 - 5223 + 5228 @@ -20528,17 +20636,17 @@ 1 2 - 50041 + 50088 2 3 - 22355 + 22376 3 7 - 3912 + 3915 @@ -20636,42 +20744,42 @@ 1 2 - 10382 + 10392 2 3 - 2966 + 2969 3 4 - 1053 + 1054 4 5 - 1354 + 1355 5 6 - 1160 + 1161 6 9 - 1612 + 1613 9 14 - 1977 + 1979 14 259 - 902 + 903 @@ -20687,17 +20795,17 @@ 1 2 - 18013 + 18030 2 3 - 3267 + 3270 3 4 - 128 + 129 @@ -20838,15 +20946,15 @@ routinetypes - 604289 + 604319 id - 604289 + 604319 return_type - 283850 + 283864 @@ -20860,7 +20968,7 @@ 1 2 - 604289 + 604319 @@ -20876,17 +20984,17 @@ 1 2 - 234214 + 234225 2 3 - 35089 + 35091 3 4676 - 14546 + 14547 @@ -20896,7 +21004,7 @@ routinetypeargs - 1176789 + 1176788 routine @@ -21262,19 +21370,19 @@ ptrtomembers - 9730 + 9727 id - 9730 + 9727 type_id - 7977 + 7974 class_id - 4870 + 4869 @@ -21288,7 +21396,7 @@ 1 2 - 9730 + 9727 @@ -21304,7 +21412,7 @@ 1 2 - 9730 + 9727 @@ -21320,7 +21428,7 @@ 1 2 - 7755 + 7752 2 @@ -21341,7 +21449,7 @@ 1 2 - 7755 + 7752 2 @@ -21362,7 +21470,7 @@ 1 2 - 3898 + 3897 2 @@ -21393,7 +21501,7 @@ 1 2 - 3898 + 3897 2 @@ -21466,11 +21574,11 @@ typespecifiers - 854941 + 854940 type_id - 847449 + 847448 spec_id @@ -21579,11 +21687,11 @@ funspecifiers - 9723254 + 9723250 func_id - 4012492 + 4012490 spec_id @@ -21601,7 +21709,7 @@ 1 2 - 1528455 + 1528454 2 @@ -21611,7 +21719,7 @@ 3 4 - 1037866 + 1037865 4 @@ -21737,11 +21845,11 @@ varspecifiers - 3078137 + 3078136 var_id - 2316969 + 2316968 spec_id @@ -21759,7 +21867,7 @@ 1 2 - 1659562 + 1659561 2 @@ -21883,11 +21991,11 @@ attributes - 654410 + 654409 id - 654410 + 654409 kind @@ -21917,7 +22025,7 @@ 1 2 - 654410 + 654409 @@ -21933,7 +22041,7 @@ 1 2 - 654410 + 654409 @@ -21949,7 +22057,7 @@ 1 2 - 654410 + 654409 @@ -21965,7 +22073,7 @@ 1 2 - 654410 + 654409 @@ -23135,15 +23243,15 @@ attribute_arg_constant - 71994 + 71875 arg - 71994 + 71875 constant - 71994 + 71875 @@ -23157,7 +23265,7 @@ 1 2 - 71994 + 71875 @@ -23173,7 +23281,7 @@ 1 2 - 71994 + 71875 @@ -23183,15 +23291,15 @@ attribute_arg_expr - 1405 + 1404 arg - 1405 + 1404 expr - 1405 + 1404 @@ -23205,7 +23313,7 @@ 1 2 - 1405 + 1404 @@ -23221,7 +23329,7 @@ 1 2 - 1405 + 1404 @@ -23369,7 +23477,7 @@ 1 2 - 759670 + 759669 2 @@ -23468,7 +23576,7 @@ namespaceattributes - 5995 + 5996 namespace_id @@ -23476,7 +23584,7 @@ spec_id - 5995 + 5996 @@ -23516,7 +23624,7 @@ 1 2 - 5995 + 5996 @@ -23526,15 +23634,15 @@ stmtattributes - 2214 + 2216 stmt_id - 2214 + 2216 spec_id - 558 + 559 @@ -23548,7 +23656,7 @@ 1 2 - 2214 + 2216 @@ -23564,7 +23672,7 @@ 1 2 - 214 + 215 2 @@ -23574,7 +23682,7 @@ 3 4 - 42 + 43 9 @@ -23584,7 +23692,7 @@ 13 16 - 42 + 43 @@ -23594,15 +23702,15 @@ unspecifiedtype - 7179407 + 7179404 type_id - 7179407 + 7179404 unspecified_type_id - 3965917 + 3965916 @@ -23616,7 +23724,7 @@ 1 2 - 7179407 + 7179404 @@ -23632,17 +23740,17 @@ 1 2 - 2482788 + 2482787 2 3 - 1117779 + 1117778 3 7 - 302919 + 302918 7 @@ -23657,11 +23765,11 @@ member - 4193419 + 4193417 parent - 543781 + 543780 index @@ -23669,7 +23777,7 @@ child - 4188799 + 4188797 @@ -23947,7 +24055,7 @@ 1 2 - 4188799 + 4188797 @@ -23963,7 +24071,7 @@ 1 2 - 4184179 + 4184177 2 @@ -23978,15 +24086,15 @@ enclosingfunction - 114807 + 114813 child - 114807 + 114813 parent - 71337 + 71340 @@ -24000,7 +24108,7 @@ 1 2 - 114807 + 114813 @@ -24016,7 +24124,7 @@ 1 2 - 49329 + 49332 2 @@ -24026,12 +24134,12 @@ 3 4 - 15364 + 15365 4 37 - 2009 + 2010 @@ -24041,15 +24149,15 @@ derivations - 476877 + 476900 derivation - 476877 + 476900 sub - 455142 + 455164 index @@ -24057,11 +24165,11 @@ super - 235542 + 235554 location - 35396 + 35397 @@ -24075,7 +24183,7 @@ 1 2 - 476877 + 476900 @@ -24091,7 +24199,7 @@ 1 2 - 476877 + 476900 @@ -24107,7 +24215,7 @@ 1 2 - 476877 + 476900 @@ -24123,7 +24231,7 @@ 1 2 - 476877 + 476900 @@ -24139,12 +24247,12 @@ 1 2 - 438619 + 438640 2 9 - 16522 + 16523 @@ -24160,12 +24268,12 @@ 1 2 - 438619 + 438640 2 8 - 16522 + 16523 @@ -24181,12 +24289,12 @@ 1 2 - 438619 + 438640 2 9 - 16522 + 16523 @@ -24202,12 +24310,12 @@ 1 2 - 438619 + 438640 2 8 - 16522 + 16523 @@ -24362,7 +24470,7 @@ 1 2 - 225731 + 225742 2 @@ -24383,7 +24491,7 @@ 1 2 - 225731 + 225742 2 @@ -24404,7 +24512,7 @@ 1 2 - 235100 + 235111 2 @@ -24425,7 +24533,7 @@ 1 2 - 230194 + 230205 2 @@ -24446,7 +24554,7 @@ 1 2 - 26504 + 26505 2 @@ -24482,7 +24590,7 @@ 1 2 - 26504 + 26505 2 @@ -24518,7 +24626,7 @@ 1 2 - 35396 + 35397 @@ -24534,7 +24642,7 @@ 1 2 - 28718 + 28720 2 @@ -24559,11 +24667,11 @@ derspecifiers - 478648 + 478671 der_id - 476434 + 476457 spec_id @@ -24581,7 +24689,7 @@ 1 2 - 474220 + 474242 2 @@ -24627,11 +24735,11 @@ direct_base_offsets - 449963 + 449985 der_id - 449963 + 449985 offset @@ -24649,7 +24757,7 @@ 1 2 - 449963 + 449985 @@ -24846,19 +24954,19 @@ frienddecls - 700420 + 700462 id - 700420 + 700462 type_id - 42413 + 42416 decl_id - 77741 + 77848 location @@ -24876,7 +24984,7 @@ 1 2 - 700420 + 700462 @@ -24892,7 +25000,7 @@ 1 2 - 700420 + 700462 @@ -24908,7 +25016,7 @@ 1 2 - 700420 + 700462 @@ -24929,7 +25037,7 @@ 2 3 - 13967 + 13968 3 @@ -24985,7 +25093,7 @@ 2 3 - 13967 + 13968 3 @@ -25036,7 +25144,7 @@ 1 2 - 41050 + 41053 2 @@ -25057,27 +25165,27 @@ 1 2 - 47864 + 48071 2 3 - 6063 + 5962 3 8 - 5995 + 5996 8 15 - 6063 + 6064 15 40 - 6063 + 6064 40 @@ -25098,27 +25206,27 @@ 1 2 - 47864 + 48071 2 3 - 6063 + 5962 3 8 - 5995 + 5996 8 15 - 6063 + 6064 15 40 - 6063 + 6064 40 @@ -25139,7 +25247,7 @@ 1 2 - 77059 + 77166 2 @@ -25181,7 +25289,7 @@ 1 2 - 5961 + 5962 2 @@ -25206,7 +25314,7 @@ 2 - 2129 + 2132 340 @@ -25217,19 +25325,19 @@ comments - 11241970 + 11241965 id - 11241970 + 11241965 contents - 4306670 + 4306669 location - 11241970 + 11241965 @@ -25243,7 +25351,7 @@ 1 2 - 11241970 + 11241965 @@ -25259,7 +25367,7 @@ 1 2 - 11241970 + 11241965 @@ -25275,7 +25383,7 @@ 1 2 - 3932329 + 3932328 2 @@ -25301,7 +25409,7 @@ 1 2 - 3932329 + 3932328 2 @@ -25327,7 +25435,7 @@ 1 2 - 11241970 + 11241965 @@ -25343,7 +25451,7 @@ 1 2 - 11241970 + 11241965 @@ -25353,15 +25461,15 @@ commentbinding - 3916721 + 3916720 id - 3352213 + 3352211 element - 3751027 + 3751026 @@ -25375,7 +25483,7 @@ 1 2 - 3290530 + 3290529 2 @@ -25396,12 +25504,12 @@ 1 2 - 3585333 + 3585332 2 3 - 165694 + 165693 @@ -25411,15 +25519,15 @@ exprconv - 9633092 + 9633088 converted - 9632986 + 9632982 conversion - 9633092 + 9633088 @@ -25433,7 +25541,7 @@ 1 2 - 9632881 + 9632877 2 @@ -25454,7 +25562,7 @@ 1 2 - 9633092 + 9633088 @@ -25464,30 +25572,30 @@ compgenerated - 9891533 + 9891529 id - 9891533 + 9891529 synthetic_destructor_call - 1670057 + 1671638 element - 1243740 + 1244918 i - 386 + 387 destructor_call - 1670057 + 1671638 @@ -25501,17 +25609,17 @@ 1 2 - 827870 + 828654 2 3 - 409077 + 409464 3 19 - 6792 + 6798 @@ -25527,17 +25635,17 @@ 1 2 - 827870 + 828654 2 3 - 409077 + 409464 3 19 - 6792 + 6798 @@ -25553,17 +25661,17 @@ 1 2 - 42 + 43 2 3 - 85 + 86 3 4 - 85 + 86 13 @@ -25619,17 +25727,17 @@ 1 2 - 42 + 43 2 3 - 85 + 86 3 4 - 85 + 86 13 @@ -25685,7 +25793,7 @@ 1 2 - 1670057 + 1671638 @@ -25701,7 +25809,7 @@ 1 2 - 1670057 + 1671638 @@ -25711,15 +25819,15 @@ namespaces - 8653 + 8650 id - 8653 + 8650 name - 4574 + 4573 @@ -25733,7 +25841,7 @@ 1 2 - 8653 + 8650 @@ -25749,7 +25857,7 @@ 1 2 - 3740 + 3739 2 @@ -25780,7 +25888,7 @@ namespacembrs - 2039522 + 2039521 parentid @@ -25788,7 +25896,7 @@ memberid - 2039522 + 2039521 @@ -25878,7 +25986,7 @@ 1 2 - 2039522 + 2039521 @@ -25888,11 +25996,11 @@ exprparents - 19454225 + 19454218 expr_id - 19454225 + 19454218 child_index @@ -25900,7 +26008,7 @@ parent_id - 12939994 + 12939988 @@ -25914,7 +26022,7 @@ 1 2 - 19454225 + 19454218 @@ -25930,7 +26038,7 @@ 1 2 - 19454225 + 19454218 @@ -26048,12 +26156,12 @@ 1 2 - 7394760 + 7394757 2 3 - 5082682 + 5082680 3 @@ -26074,12 +26182,12 @@ 1 2 - 7394760 + 7394757 2 3 - 5082682 + 5082680 3 @@ -26094,22 +26202,22 @@ expr_isload - 6909477 + 6909475 expr_id - 6909477 + 6909475 conversionkinds - 6050435 + 6050433 expr_id - 6050435 + 6050433 kind @@ -26127,7 +26235,7 @@ 1 2 - 6050435 + 6050433 @@ -26171,8 +26279,8 @@ 1 - 5831536 - 5831537 + 5831534 + 5831535 1 @@ -26183,11 +26291,11 @@ iscall - 5797114 + 5802603 caller - 5797114 + 5802603 kind @@ -26205,7 +26313,7 @@ 1 2 - 5797114 + 5802603 @@ -26241,11 +26349,11 @@ numtemplatearguments - 627939 + 627938 expr_id - 627939 + 627938 num @@ -26263,7 +26371,7 @@ 1 2 - 627939 + 627938 @@ -26347,23 +26455,23 @@ namequalifiers - 3038986 + 3041863 id - 3038986 + 3041863 qualifiableelement - 3038986 + 3041863 qualifyingelement - 47440 + 47485 location - 551913 + 552436 @@ -26377,7 +26485,7 @@ 1 2 - 3038986 + 3041863 @@ -26393,7 +26501,7 @@ 1 2 - 3038986 + 3041863 @@ -26409,7 +26517,7 @@ 1 2 - 3038986 + 3041863 @@ -26425,7 +26533,7 @@ 1 2 - 3038986 + 3041863 @@ -26441,7 +26549,7 @@ 1 2 - 3038986 + 3041863 @@ -26457,7 +26565,7 @@ 1 2 - 3038986 + 3041863 @@ -26473,27 +26581,27 @@ 1 2 - 31512 + 31541 2 3 - 8168 + 8175 3 5 - 4105 + 4109 5 6811 - 3568 + 3571 19018 41956 - 85 + 86 @@ -26509,27 +26617,27 @@ 1 2 - 31512 + 31541 2 3 - 8168 + 8175 3 5 - 4105 + 4109 5 6811 - 3568 + 3571 19018 41956 - 85 + 86 @@ -26545,22 +26653,22 @@ 1 2 - 34371 + 34403 2 3 - 7351 + 7358 3 6 - 3568 + 3571 6 20057 - 2149 + 2151 @@ -26576,22 +26684,22 @@ 1 2 - 79059 + 79134 2 6 - 38068 + 38104 6 7 - 398609 + 398986 7 192 - 36176 + 36210 @@ -26607,22 +26715,22 @@ 1 2 - 79059 + 79134 2 6 - 38068 + 38104 6 7 - 398609 + 398986 7 192 - 36176 + 36210 @@ -26638,22 +26746,22 @@ 1 2 - 111431 + 111537 2 4 - 13284 + 13296 4 5 - 414902 + 415295 5 33 - 12295 + 12306 @@ -26663,11 +26771,11 @@ varbind - 8254635 + 8254632 expr - 8254635 + 8254632 var @@ -26685,7 +26793,7 @@ 1 2 - 8254635 + 8254632 @@ -26701,7 +26809,7 @@ 1 2 - 171536 + 171535 2 @@ -26711,7 +26819,7 @@ 3 4 - 145648 + 145647 4 @@ -26756,15 +26864,15 @@ funbind - 5806808 + 5812199 expr - 5804336 + 5809833 fun - 275677 + 275916 @@ -26778,12 +26886,12 @@ 1 2 - 5801865 + 5807466 2 3 - 2471 + 2366 @@ -26799,17 +26907,17 @@ 1 2 - 181269 + 181420 2 3 - 38799 + 38835 3 4 - 17174 + 17212 4 @@ -26819,7 +26927,7 @@ 8 37798 - 15713 + 15727 @@ -26829,11 +26937,11 @@ expr_allocator - 45241 + 45243 expr - 45241 + 45243 func @@ -26855,7 +26963,7 @@ 1 2 - 45241 + 45243 @@ -26871,7 +26979,7 @@ 1 2 - 45241 + 45243 @@ -26955,11 +27063,11 @@ expr_deallocator - 53826 + 53829 expr - 53826 + 53829 func @@ -26981,7 +27089,7 @@ 1 2 - 53826 + 53829 @@ -26997,7 +27105,7 @@ 1 2 - 53826 + 53829 @@ -27246,11 +27354,11 @@ values - 13474612 + 13474606 id - 13474612 + 13474606 str @@ -27268,7 +27376,7 @@ 1 2 - 13474612 + 13474606 @@ -27314,11 +27422,11 @@ valuetext - 6647584 + 6647578 id - 6647584 + 6647578 text @@ -27336,7 +27444,7 @@ 1 2 - 6647584 + 6647578 @@ -27377,15 +27485,15 @@ valuebind - 13583194 + 13583189 val - 13474612 + 13474606 expr - 13583194 + 13583189 @@ -27399,7 +27507,7 @@ 1 2 - 13384057 + 13384052 2 @@ -27420,7 +27528,7 @@ 1 2 - 13583194 + 13583189 @@ -27817,19 +27925,19 @@ initialisers - 2251036 + 2251035 init - 2251036 + 2251035 var - 980972 + 980971 expr - 2251036 + 2251035 location @@ -27847,7 +27955,7 @@ 1 2 - 2251036 + 2251035 @@ -27863,7 +27971,7 @@ 1 2 - 2251036 + 2251035 @@ -27879,7 +27987,7 @@ 1 2 - 2251036 + 2251035 @@ -27895,7 +28003,7 @@ 1 2 - 870557 + 870556 2 @@ -27921,7 +28029,7 @@ 1 2 - 870557 + 870556 2 @@ -27947,7 +28055,7 @@ 1 2 - 980964 + 980963 2 @@ -27968,7 +28076,7 @@ 1 2 - 2251036 + 2251035 @@ -27984,7 +28092,7 @@ 1 2 - 2251036 + 2251035 @@ -28000,7 +28108,7 @@ 1 2 - 2251036 + 2251035 @@ -28021,7 +28129,7 @@ 2 3 - 33607 + 33606 3 @@ -28047,7 +28155,7 @@ 1 2 - 443658 + 443657 2 @@ -28078,7 +28186,7 @@ 2 3 - 33607 + 33606 3 @@ -28109,15 +28217,15 @@ expr_ancestor - 1676032 + 1677619 exp - 1676032 + 1677619 ancestor - 838833 + 839627 @@ -28131,7 +28239,7 @@ 1 2 - 1676032 + 1677619 @@ -28147,17 +28255,17 @@ 1 2 - 17067 + 17083 2 3 - 811706 + 812474 3 19 - 10059 + 10069 @@ -28167,11 +28275,11 @@ exprs - 25210587 + 25210577 id - 25210587 + 25210577 kind @@ -28179,7 +28287,7 @@ location - 10582675 + 10582671 @@ -28193,7 +28301,7 @@ 1 2 - 25210587 + 25210577 @@ -28209,7 +28317,7 @@ 1 2 - 25210587 + 25210577 @@ -28387,12 +28495,12 @@ 1 2 - 8900705 + 8900701 2 3 - 820609 + 820608 3 @@ -28418,7 +28526,7 @@ 1 2 - 9040107 + 9040103 2 @@ -28438,19 +28546,19 @@ expr_reuse - 846206 + 847007 reuse - 846206 + 847007 original - 846206 + 847007 value_category - 42 + 43 @@ -28464,7 +28572,7 @@ 1 2 - 846206 + 847007 @@ -28480,7 +28588,7 @@ 1 2 - 846206 + 847007 @@ -28496,7 +28604,7 @@ 1 2 - 846206 + 847007 @@ -28512,7 +28620,7 @@ 1 2 - 846206 + 847007 @@ -28564,11 +28672,11 @@ expr_types - 25210587 + 25210577 id - 25210587 + 25210577 typeid @@ -28590,7 +28698,7 @@ 1 2 - 25210587 + 25210577 @@ -28606,7 +28714,7 @@ 1 2 - 25210587 + 25210577 @@ -28751,15 +28859,15 @@ new_allocated_type - 46195 + 46197 expr - 46195 + 46197 type_id - 27390 + 27391 @@ -28773,7 +28881,7 @@ 1 2 - 46195 + 46197 @@ -28789,12 +28897,12 @@ 1 2 - 11514 + 11515 2 3 - 14478 + 14479 3 @@ -28872,7 +28980,7 @@ aggregate_field_init - 5717382 + 5717380 aggregate @@ -28880,7 +28988,7 @@ initializer - 5717204 + 5717202 field @@ -29080,7 +29188,7 @@ 1 2 - 5717204 + 5717202 @@ -29096,7 +29204,7 @@ 1 2 - 5717026 + 5717024 2 @@ -29117,7 +29225,7 @@ 1 2 - 5717204 + 5717202 @@ -29133,7 +29241,7 @@ 1 2 - 5717204 + 5717202 @@ -30208,15 +30316,15 @@ condition_decl_bind - 408518 + 408905 expr - 408518 + 408905 decl - 408518 + 408905 @@ -30230,7 +30338,7 @@ 1 2 - 408518 + 408905 @@ -30246,7 +30354,7 @@ 1 2 - 408518 + 408905 @@ -30256,15 +30364,15 @@ typeid_bind - 47898 + 47901 expr - 47898 + 47901 type_id - 15943 + 15944 @@ -30278,7 +30386,7 @@ 1 2 - 47898 + 47901 @@ -30294,12 +30402,12 @@ 1 2 - 2963 + 2964 2 3 - 12570 + 12571 3 @@ -31962,15 +32070,15 @@ fold - 1246 + 1247 expr - 1246 + 1247 operator - 85 + 86 is_left_fold @@ -31988,7 +32096,7 @@ 1 2 - 1246 + 1247 @@ -32004,7 +32112,7 @@ 1 2 - 1246 + 1247 @@ -32020,7 +32128,7 @@ 1 2 - 42 + 43 2 @@ -32046,7 +32154,7 @@ 1 2 - 85 + 86 @@ -32088,11 +32196,11 @@ stmts - 6368971 + 6368968 id - 6368971 + 6368968 kind @@ -32100,7 +32208,7 @@ location - 2684539 + 2684538 @@ -32114,7 +32222,7 @@ 1 2 - 6368971 + 6368968 @@ -32130,7 +32238,7 @@ 1 2 - 6368971 + 6368968 @@ -32368,7 +32476,7 @@ 1 2 - 2225040 + 2225039 2 @@ -32399,7 +32507,7 @@ 1 2 - 2601582 + 2601581 2 @@ -32569,15 +32677,15 @@ if_then - 990215 + 990214 if_stmt - 990215 + 990214 then_id - 990215 + 990214 @@ -32591,7 +32699,7 @@ 1 2 - 990215 + 990214 @@ -32607,7 +32715,7 @@ 1 2 - 990215 + 990214 @@ -32617,15 +32725,15 @@ if_else - 436677 + 437090 if_stmt - 436677 + 437090 else_id - 436677 + 437090 @@ -32639,7 +32747,7 @@ 1 2 - 436677 + 437090 @@ -32655,7 +32763,7 @@ 1 2 - 436677 + 437090 @@ -32905,15 +33013,15 @@ while_body - 39648 + 39647 while_stmt - 39648 + 39647 body_id - 39648 + 39647 @@ -32927,7 +33035,7 @@ 1 2 - 39648 + 39647 @@ -32943,7 +33051,7 @@ 1 2 - 39648 + 39647 @@ -33049,19 +33157,19 @@ switch_case - 835329 + 836120 switch_stmt - 411463 + 411852 index - 386 + 387 case_id - 835329 + 836120 @@ -33080,12 +33188,12 @@ 2 3 - 408582 + 408969 3 19 - 2858 + 2861 @@ -33106,12 +33214,12 @@ 2 3 - 408582 + 408969 3 19 - 2858 + 2861 @@ -33269,7 +33377,7 @@ 1 2 - 835329 + 836120 @@ -33285,7 +33393,7 @@ 1 2 - 835329 + 836120 @@ -33295,15 +33403,15 @@ switch_body - 411463 + 411852 switch_stmt - 411463 + 411852 body_id - 411463 + 411852 @@ -33317,7 +33425,7 @@ 1 2 - 411463 + 411852 @@ -33333,7 +33441,7 @@ 1 2 - 411463 + 411852 @@ -33535,11 +33643,11 @@ stmtparents - 5628382 + 5628380 id - 5628382 + 5628380 index @@ -33547,7 +33655,7 @@ parent - 2381491 + 2381490 @@ -33561,7 +33669,7 @@ 1 2 - 5628382 + 5628380 @@ -33577,7 +33685,7 @@ 1 2 - 5628382 + 5628380 @@ -33715,7 +33823,7 @@ 1 2 - 1359016 + 1359015 2 @@ -33756,7 +33864,7 @@ 1 2 - 1359016 + 1359015 2 @@ -33828,7 +33936,7 @@ 1 2 - 707851 + 707850 2 @@ -33849,7 +33957,7 @@ 1 2 - 707851 + 707850 2 @@ -34034,7 +34142,7 @@ 1 2 - 707851 + 707850 2 @@ -34055,7 +34163,7 @@ 1 2 - 707851 + 707850 2 @@ -34214,15 +34322,15 @@ blockscope - 1644953 + 1644952 block - 1644953 + 1644952 enclosing - 1428065 + 1428064 @@ -34236,7 +34344,7 @@ 1 2 - 1644953 + 1644952 @@ -34272,11 +34380,11 @@ jumpinfo - 348321 + 348320 id - 348321 + 348320 str @@ -34298,7 +34406,7 @@ 1 2 - 348321 + 348320 @@ -34314,7 +34422,7 @@ 1 2 - 348321 + 348320 @@ -34407,7 +34515,7 @@ 2 3 - 36211 + 36210 3 @@ -34453,11 +34561,11 @@ preprocdirects - 5413336 + 5413334 id - 5413336 + 5413334 kind @@ -34465,7 +34573,7 @@ location - 5410090 + 5410088 @@ -34479,7 +34587,7 @@ 1 2 - 5413336 + 5413334 @@ -34495,7 +34603,7 @@ 1 2 - 5413336 + 5413334 @@ -34643,7 +34751,7 @@ 1 2 - 5409965 + 5409963 27 @@ -34664,7 +34772,7 @@ 1 2 - 5410090 + 5410088 @@ -34674,15 +34782,15 @@ preprocpair - 1142252 + 1142251 begin - 889778 + 889777 elseelifend - 1142252 + 1142251 @@ -34701,7 +34809,7 @@ 2 3 - 230623 + 230622 3 @@ -34722,7 +34830,7 @@ 1 2 - 1142252 + 1142251 @@ -34743,30 +34851,30 @@ preprocfalse - 285563 + 285562 branch - 285563 + 285562 preproctext - 4356366 + 4356364 id - 4356366 + 4356364 head - 2957769 + 2957767 body - 1684909 + 1684908 @@ -34780,7 +34888,7 @@ 1 2 - 4356366 + 4356364 @@ -34796,7 +34904,7 @@ 1 2 - 4356366 + 4356364 @@ -34812,7 +34920,7 @@ 1 2 - 2758986 + 2758985 2 @@ -34833,7 +34941,7 @@ 1 2 - 2876482 + 2876481 2 @@ -34854,7 +34962,7 @@ 1 2 - 1536571 + 1536570 2 @@ -34900,15 +35008,15 @@ includes - 318734 + 318629 id - 318734 + 318629 included - 58713 + 58694 @@ -34922,7 +35030,7 @@ 1 2 - 318734 + 318629 @@ -34938,37 +35046,37 @@ 1 2 - 29055 + 29046 2 3 - 9445 + 9442 3 4 - 4955 + 4953 4 6 - 5356 + 5355 6 11 - 4522 + 4520 11 47 - 4405 + 4404 47 793 - 972 + 971 @@ -35026,11 +35134,11 @@ link_parent - 30396619 + 30398086 element - 3865915 + 3866101 link_target @@ -35048,17 +35156,17 @@ 1 2 - 530431 + 530457 2 9 - 26947 + 26948 9 10 - 3308536 + 3308696 diff --git a/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/builtin_functions.ql b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/builtin_functions.ql new file mode 100644 index 000000000000..7ab87b9bc3a3 --- /dev/null +++ b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/builtin_functions.ql @@ -0,0 +1,7 @@ +class Function extends @function { + string toString() { none() } +} + +from Function f +where functions(f, _, 6) +select f diff --git a/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/functions.ql b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/functions.ql new file mode 100644 index 000000000000..76657ad2eded --- /dev/null +++ b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/functions.ql @@ -0,0 +1,9 @@ +class Function extends @function { + string toString() { none() } +} + +from Function f, string n, int k, int new_k +where + functions(f, n, k) and + if k = 6 then new_k = 1 else new_k = k +select f, n, new_k diff --git a/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/old.dbscheme b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/old.dbscheme new file mode 100644 index 000000000000..5491582ac851 --- /dev/null +++ b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/old.dbscheme @@ -0,0 +1,2428 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +| 6 = @builtin_function // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @type_operator.kind of +| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; +*/ + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +/* +case @usertype.kind of +| 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/semmlecode.cpp.dbscheme new file mode 100644 index 000000000000..801b2f03360d --- /dev/null +++ b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/semmlecode.cpp.dbscheme @@ -0,0 +1,2433 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function ref +) + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @type_operator.kind of +| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; +*/ + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +/* +case @usertype.kind of +| 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/upgrade.properties b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/upgrade.properties new file mode 100644 index 000000000000..361c66366a44 --- /dev/null +++ b/cpp/ql/lib/upgrades/5491582ac8511726e12fae3e2399000f9201cd9a/upgrade.properties @@ -0,0 +1,4 @@ +description: Move builtin function identification to its own table +compatibility: full +functions.rel: run functions.qlo +builtin_functions.rel: run builtin_functions.qlo diff --git a/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/old.dbscheme b/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/old.dbscheme new file mode 100644 index 000000000000..801b2f03360d --- /dev/null +++ b/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/old.dbscheme @@ -0,0 +1,2433 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +/* + * C++ dbscheme + */ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* +case @function.kind of + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; +*/ + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function ref +) + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* +case @type_operator.kind of +| 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; +*/ + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +/* +case @usertype.kind of +| 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; +*/ + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/semmlecode.cpp.dbscheme new file mode 100644 index 000000000000..5340d6d5f428 --- /dev/null +++ b/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/semmlecode.cpp.dbscheme @@ -0,0 +1,2423 @@ +/*- Compilations -*/ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * Optionally, record the build mode for each compilation. + */ +compilation_build_mode( + unique int id : @compilation ref, + int mode : int ref +); + +/* +case @compilation_build_mode.mode of + 0 = @build_mode_none +| 1 = @build_mode_manual +| 2 = @build_mode_auto +; +*/ + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/*- External data -*/ + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/*- Source location prefix -*/ + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/*- Files and folders -*/ + +/** + * The location of an element. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @file | @folder + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/*- Lines of code -*/ + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +/*- Diagnostic messages -*/ + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/*- C++ dbscheme -*/ + +extractor_version( + string codeql_version: string ref, + string frontend_version: string ref +) + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +case @macroinvocation.kind of + 1 = @macro_expansion +| 2 = @other_macro_reference +; + +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location_default ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +case @function.kind of + 0 = @unknown_function +| 1 = @normal_function +| 2 = @constructor +| 3 = @destructor +| 4 = @conversion_function +| 5 = @operator +// ... 6 = @builtin_function deprecated // GCC built-in functions, e.g. __builtin___memcpy_chk +| 7 = @user_defined_literal +| 8 = @deduction_guide +; + +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +builtin_functions( + int id: @function ref +) + +function_entry_point( + int id: @function ref, + unique int entry_point: @stmt ref +); + +function_return_type( + int id: @function ref, + int return_type: @type ref +); + +/** + * If `function` is a coroutine, then this gives the `std::experimental::resumable_traits` + * instance associated with it, and the variables representing the `handle` and `promise` + * for it. + */ +coroutine( + unique int function: @function ref, + int traits: @type ref +); + +/* +case @coroutine_placeholder_variable.kind of + 1 = @handle +| 2 = @promise +| 3 = @init_await_resume +; +*/ + +coroutine_placeholder_variable( + unique int placeholder_variable: @variable ref, + int kind: int ref, + int function: @function ref +) + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +function_prototyped(unique int id: @function ref) + +deduction_guide_for_class( + int id: @function ref, + int class_template: @usertype ref +) + +member_function_this_type( + unique int id: @function ref, + int this_type: @type ref +); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +/* +case @fun_requires.kind of + 1 = @template_attached +| 2 = @function_attached +; +*/ + +fun_requires( + int id: @fun_decl ref, + int kind: int ref, + int constraint: @expr ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_specialized(int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); +var_requires( + int id: @var_decl ref, + int constraint: @expr ref +); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); +type_requires( + int id: @type_decl ref, + int constraint: @expr ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +case @using.kind of + 1 = @using_declaration +| 2 = @using_directive +| 3 = @using_enum_declaration +; + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref, + int kind: int ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @parameterized_element ref, + int index: int ref, + int type_id: @type ref +); + +overrides( + int new: @function ref, + int old: @function ref +); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +orphaned_variables( + int var: @localvariable ref, + int function: @function ref +) + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/** + * Built-in types are the fundamental types, e.g., integral, floating, and void. + */ +case @builtintype.kind of + 1 = @errortype +| 2 = @unknowntype +| 3 = @void +| 4 = @boolean +| 5 = @char +| 6 = @unsigned_char +| 7 = @signed_char +| 8 = @short +| 9 = @unsigned_short +| 10 = @signed_short +| 11 = @int +| 12 = @unsigned_int +| 13 = @signed_int +| 14 = @long +| 15 = @unsigned_long +| 16 = @signed_long +| 17 = @long_long +| 18 = @unsigned_long_long +| 19 = @signed_long_long +// ... 20 Microsoft-specific __int8 +// ... 21 Microsoft-specific __int16 +// ... 22 Microsoft-specific __int32 +// ... 23 Microsoft-specific __int64 +| 24 = @float +| 25 = @double +| 26 = @long_double +| 27 = @complex_float // C99-specific _Complex float +| 28 = @complex_double // C99-specific _Complex double +| 29 = @complex_long_double // C99-specific _Complex long double +| 30 = @imaginary_float // C99-specific _Imaginary float +| 31 = @imaginary_double // C99-specific _Imaginary double +| 32 = @imaginary_long_double // C99-specific _Imaginary long double +| 33 = @wchar_t // Microsoft-specific +| 34 = @decltype_nullptr // C++11 +| 35 = @int128 // __int128 +| 36 = @unsigned_int128 // unsigned __int128 +| 37 = @signed_int128 // signed __int128 +| 38 = @float128 // __float128 +| 39 = @complex_float128 // _Complex __float128 +| 40 = @decimal32 // _Decimal32 +| 41 = @decimal64 // _Decimal64 +| 42 = @decimal128 // _Decimal128 +| 43 = @char16_t +| 44 = @char32_t +| 45 = @std_float32 // _Float32 +| 46 = @float32x // _Float32x +| 47 = @std_float64 // _Float64 +| 48 = @float64x // _Float64x +| 49 = @std_float128 // _Float128 +// ... 50 _Float128x +| 51 = @char8_t +| 52 = @float16 // _Float16 +| 53 = @complex_float16 // _Complex _Float16 +| 54 = @fp16 // __fp16 +| 55 = @std_bfloat16 // __bf16 +| 56 = @std_float16 // std::float16_t +| 57 = @complex_std_float32 // _Complex _Float32 +| 58 = @complex_float32x // _Complex _Float32x +| 59 = @complex_std_float64 // _Complex _Float64 +| 60 = @complex_float64x // _Complex _Float64x +| 61 = @complex_std_float128 // _Complex _Float128 +| 62 = @mfp8 // __mfp8 +| 63 = @scalable_vector_count // __SVCount_t +| 64 = @complex_fp16 // _Complex __fp16 +| 65 = @complex_std_bfloat16 // _Complex __bf16 +| 66 = @complex_std_float16 // _Complex std::float16_t +; + +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/** + * Derived types are types that are directly derived from existing types and + * point to, refer to, transform type data to return a new type. + */ +case @derivedtype.kind of + 1 = @pointer +| 2 = @reference +| 3 = @type_with_specifiers +| 4 = @array +| 5 = @gnu_vector +| 6 = @routineptr +| 7 = @routinereference +| 8 = @rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated +| 10 = @block +| 11 = @scalable_vector // Arm SVE +; + +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +tupleelements( + unique int id: @derivedtype ref, + int num_elements: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator or C23 `typeof`/`typeof_unqual` + * operator taking an expression as its argument. For example: + * ``` + * int a; + * decltype(1+a) b; + * typeof(1+a) c; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * changes the semantics of the decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ + +/* +case @decltype.kind of +| 0 = @decltype +| 1 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +; +*/ + +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int kind: int ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +case @type_operator.kind of + 0 = @typeof // The frontend does not differentiate between typeof and typeof_unqual +| 1 = @underlying_type +| 2 = @bases +| 3 = @direct_bases +| 4 = @add_lvalue_reference +| 5 = @add_pointer +| 6 = @add_rvalue_reference +| 7 = @decay +| 8 = @make_signed +| 9 = @make_unsigned +| 10 = @remove_all_extents +| 11 = @remove_const +| 12 = @remove_cv +| 13 = @remove_cvref +| 14 = @remove_extent +| 15 = @remove_pointer +| 16 = @remove_reference_t +| 17 = @remove_restrict +| 18 = @remove_volatile +| 19 = @remove_reference +; + +type_operators( + unique int id: @type_operator, + int arg_type: @type ref, + int kind: int ref, + int base_type: @type ref +) + +case @usertype.kind of + 0 = @unknown_usertype +| 1 = @struct +| 2 = @class +| 3 = @union +| 4 = @enum +// ... 5 = @typedef deprecated // classic C: typedef typedef type name +// ... 6 = @template deprecated +| 7 = @template_parameter +| 8 = @template_template_parameter +| 9 = @proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated +| 13 = @scoped_enum +// ... 14 = @using_alias deprecated // a using name = type style typedef +| 15 = @template_struct +| 16 = @template_class +| 17 = @template_union +| 18 = @alias +; + +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +/* +case @usertype.alias_kind of +| 0 = @typedef +| 1 = @alias +*/ + +usertype_alias_kind( + int id: @usertype ref, + int alias_kind: int ref +) + +nontype_template_parameters( + int id: @expr ref +); + +type_template_type_constraint( + int id: @usertype ref, + int constraint: @expr ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname, + boolean is_complete: boolean ref +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@user_or_decltype = @usertype | @decltype; + +is_proxy_class_for( + unique int id: @usertype ref, + int templ_param_id: @user_or_decltype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location_default ref, + // a_symbol_reference_kind from the frontend. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +template_template_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +template_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +template_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +@concept = @concept_template | @concept_id; + +concept_templates( + unique int concept_id: @concept_template, + string name: string ref, + int location: @location_default ref +); +concept_instantiation( + unique int to: @concept_id ref, + int from: @concept_template ref +); +is_type_constraint(int concept_id: @concept_id ref); +concept_template_argument( + int concept_id: @concept ref, + int index: int ref, + int arg_type: @type ref +); +concept_template_argument_value( + int concept_id: @concept ref, + int index: int ref, + int arg_value: @expr ref +); + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +explicit_specifier_exprs( + unique int func_id: @function ref, + int constant: @expr ref +) + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +| 4 = @attribute_arg_constant_expr +| 5 = @attribute_arg_expr +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_constant( + unique int arg: @attribute_arg ref, + int constant: @expr ref +) +attribute_arg_expr( + unique int arg: @attribute_arg ref, + int expr: @expr ref +) +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +namespaceattributes( + int namespace_id: @namespace ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + | @routinetype + | @ptrtomember + | @decltype + | @type_operator; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl + | @concept_template; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + | @c11_generic + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall( + unique int caller: @funbindexpr ref, + int kind: int ref +); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + ; + +@assign_pointer_expr = @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr + | @assign_bitwise_expr + | @assign_pointer_expr + ; + +@assign_expr = @assignexpr | @assign_op_expr | @blockassignexpr + +/* + Binary encoding of the allocator form. + + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + Binary encoding of the deallocator form. + + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 4 = destroying_delete + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_default ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_default ref +); + +expr_reuse( + int reuse: @expr ref, + int original: @expr ref, + int value_category: int ref +) + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // frontend internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +| 335 = @blockassignexpr +| 336 = @issame +| 337 = @isfunction +| 338 = @islayoutcompatible +| 339 = @ispointerinterconvertiblebaseof +| 340 = @isarray +| 341 = @arrayrank +| 342 = @arrayextent +| 343 = @isarithmetic +| 344 = @iscompletetype +| 345 = @iscompound +| 346 = @isconst +| 347 = @isfloatingpoint +| 348 = @isfundamental +| 349 = @isintegral +| 350 = @islvaluereference +| 351 = @ismemberfunctionpointer +| 352 = @ismemberobjectpointer +| 353 = @ismemberpointer +| 354 = @isobject +| 355 = @ispointer +| 356 = @isreference +| 357 = @isrvaluereference +| 358 = @isscalar +| 359 = @issigned +| 360 = @isunsigned +| 361 = @isvoid +| 362 = @isvolatile +| 363 = @reuseexpr +| 364 = @istriviallycopyassignable +| 365 = @isassignablenopreconditioncheck +| 366 = @referencebindstotemporary +| 367 = @issameas +| 368 = @builtinhasattribute +| 369 = @ispointerinterconvertiblewithclass +| 370 = @builtinispointerinterconvertiblewithclass +| 371 = @iscorrespondingmember +| 372 = @builtiniscorrespondingmember +| 373 = @isboundedarray +| 374 = @isunboundedarray +| 375 = @isreferenceable +| 378 = @isnothrowconvertible +| 379 = @referenceconstructsfromtemporary +| 380 = @referenceconvertsfromtemporary +| 381 = @isconvertible +| 382 = @isvalidwinrttype +| 383 = @iswinclass +| 384 = @iswininterface +| 385 = @istriviallyequalitycomparable +| 386 = @isscopedenum +| 387 = @istriviallyrelocatable +| 388 = @datasizeof +| 389 = @c11_generic +| 390 = @requires_expr +| 391 = @nested_requirement +| 392 = @compound_requirement +| 393 = @concept_id +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @istrivialexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + | @issame + | @isfunction + | @islayoutcompatible + | @ispointerinterconvertiblebaseof + | @isarray + | @arrayrank + | @arrayextent + | @isarithmetic + | @iscompletetype + | @iscompound + | @isconst + | @isfloatingpoint + | @isfundamental + | @isintegral + | @islvaluereference + | @ismemberfunctionpointer + | @ismemberobjectpointer + | @ismemberpointer + | @isobject + | @ispointer + | @isreference + | @isrvaluereference + | @isscalar + | @issigned + | @isunsigned + | @isvoid + | @isvolatile + | @istriviallycopyassignable + | @isassignablenopreconditioncheck + | @referencebindstotemporary + | @issameas + | @builtinhasattribute + | @ispointerinterconvertiblewithclass + | @builtinispointerinterconvertiblewithclass + | @iscorrespondingmember + | @builtiniscorrespondingmember + | @isboundedarray + | @isunboundedarray + | @isreferenceable + | @isnothrowconvertible + | @referenceconstructsfromtemporary + | @referenceconvertsfromtemporary + | @isconvertible + | @isvalidwinrttype + | @iswinclass + | @iswininterface + | @istriviallyequalitycomparable + | @isscopedenum + | @istriviallyrelocatable + ; + +compound_requirement_is_noexcept( + int expr: @compound_requirement ref +); + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref, + int position: int ref, + boolean is_designated: boolean ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. Position is used to sort repeated initializers. + */ +#keyset[aggregate, position] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref, + int position: int ref, + boolean is_designated: boolean ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@sizeof_or_alignof = @runtime_sizeof | @runtime_alignof | @datasizeof | @sizeof_pack; + +sizeof_bind( + unique int expr: @sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref, + boolean has_explicit_parameter_list: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_default ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +| 38 = @stmt_consteval_if +| 39 = @stmt_not_consteval_if +| 40 = @stmt_leave +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +type_is_vla(unique int type_id: @derivedtype ref) + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +@stmt_consteval_or_not_consteval_if = @stmt_consteval_if | @stmt_not_consteval_if; + +consteval_if_then( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int then_id: @stmt ref +); + +consteval_if_else( + unique int constexpr_if_stmt: @stmt_consteval_or_not_consteval_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +@stmt_for_or_range_based_for = @stmt_for + | @stmt_range_based_for; + +for_initialization( + unique int for_stmt: @stmt_for_or_range_based_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@parameterized_element = @function | @stmt_block | @requires_expr; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @parameterized_element ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue | @stmt_leave; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 14 = @ppd_ms_import +| 15 = @ppd_elifdef +| 16 = @ppd_elifndef +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next | @ppd_ms_import; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif | @ppd_elifdef | @ppd_elifndef; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/*- XML Files -*/ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/upgrade.properties b/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/upgrade.properties new file mode 100644 index 000000000000..a469b3025bfb --- /dev/null +++ b/cpp/ql/lib/upgrades/801b2f03360d78c85f51fbad9b75956fa8d58b00/upgrade.properties @@ -0,0 +1,2 @@ +description: Uncomment cases in dbscheme +compatibility: full diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 7fc5b0d92bd9..7750db55e66e 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,8 +1,21 @@ +## 1.4.4 + +### Minor Analysis Improvements + +* Due to changes in the `FunctionWithWrappers` library (`semmle.code.cpp.security.FunctionWithWrappers`) the primary alert location generated by the queries `cpp/path-injection`, `cpp/sql-injection`, `cpp/tainted-format-string`, and `cpp/command-line-injection` may have changed. +* Added flow models for the Win32 API functions `CreateThread`, `CreateRemoteThread`, and `CreateRemoteThreadEx`. +* Improved support for dataflow through function objects and lambda expressions. +* Added flow models for `pthread_create` and `std::thread`. +* The `cpp/incorrect-string-type-conversion` query no longer alerts on incorrect type conversions that occur in unreachable code. +* Added flow models for the GNU C Library. +* Fixed a number of false positives and false negatives in `cpp/global-use-before-init`. Note that this query is not part of any of the default query suites. +* The query `cpp/sql-injection` now can be extended using the `sql-injection` Models as Data (MaD) sink kind. + ## 1.4.3 ### Minor Analysis Improvements -* Added flow model for the following libraries: `madler/zlib`, `google/brotli`, `libidn/libidn2`, `libssh2/libssh2/`, `nghttp2/nghttp2`, `libuv/libuv/`, and `curl/curl`. This may result in more alerts when running queries on codebases that use these libraries. +* Added flow models for the following libraries: `madler/zlib`, `google/brotli`, `libidn/libidn2`, `libssh2/libssh2`, `nghttp2/nghttp2`, `libuv/libuv`, and `curl/curl`. This may result in more alerts when running queries on codebases that use these libraries. ## 1.4.2 @@ -12,7 +25,7 @@ No user-facing changes. ### Minor Analysis Improvements -* Added flow model for the `SQLite` and `OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries. +* Added flow models for the `SQLite` and `OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries. ## 1.4.0 diff --git a/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.qhelp b/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.qhelp index 186ec8079944..f0d303a05787 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.qhelp +++ b/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.qhelp @@ -11,7 +11,7 @@ It is not safe to assume that a year is 365 days long.

Determine whether the time span in question contains a leap day, then perform the calculation using the correct number -of days. Alternatively, use an established library routine that already contains correct leap year logic.

+of days. Alternatively, use an established library routine that already contains correct leap year logic.

diff --git a/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.ql b/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.ql index 71aa97c0ae56..341d014dae7d 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.ql +++ b/cpp/ql/src/Likely Bugs/Leap Year/Adding365DaysPerYear.ql @@ -4,8 +4,8 @@ * value of 365, it may be a sign that leap years are not taken * into account. * @kind problem - * @problem.severity warning - * @id cpp/leap-year/adding-365-days-per-year + * @problem.severity error + * @id cpp/microsoft/public/leap-year/adding-365-days-per-year * @precision medium * @tags leap-year * correctness @@ -13,11 +13,13 @@ import cpp import LeapYear +import semmle.code.cpp.dataflow.new.DataFlow from Expr source, Expr sink where PossibleYearArithmeticOperationCheckFlow::flow(DataFlow::exprNode(source), DataFlow::exprNode(sink)) select sink, - "An arithmetic operation $@ that uses a constant value of 365 ends up modifying this date/time, without considering leap year scenarios.", - source, source.toString() + "$@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios.", + sink.getEnclosingFunction(), sink.getEnclosingFunction().toString(), source, source.toString(), + sink, sink.toString() diff --git a/cpp/ql/src/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck.ql b/cpp/ql/src/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck.ql new file mode 100644 index 000000000000..7a2cb9b04df4 --- /dev/null +++ b/cpp/ql/src/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck.ql @@ -0,0 +1,17 @@ +/** + * @name Leap Year Invalid Check (AntiPattern 5) + * @description An expression is used to check a year is presumably a leap year, but the conditions used are insufficient. + * @kind problem + * @problem.severity warning + * @id cpp/microsoft/public/leap-year/invalid-leap-year-check + * @precision medium + * @tags leap-year + * correctness + */ + +import cpp +import LeapYear + +from Mod4CheckedExpr exprMod4 +where not exists(ExprCheckLeapYear lyCheck | lyCheck.getAChild*() = exprMod4) +select exprMod4, "Possible Insufficient Leap Year check (AntiPattern 5)" diff --git a/cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll b/cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll index 3cff86412e49..d3b53bf8ff9b 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll +++ b/cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll @@ -3,7 +3,7 @@ */ import cpp -import semmle.code.cpp.ir.dataflow.TaintTracking +import semmle.code.cpp.dataflow.new.TaintTracking import semmle.code.cpp.commons.DateTime /** @@ -41,6 +41,271 @@ class CheckForLeapYearOperation extends Expr { } } +bindingset[modVal] +Expr moduloCheckEQ_0(EQExpr eq, int modVal) { + exists(RemExpr rem | rem = eq.getLeftOperand() | + result = rem.getLeftOperand() and + rem.getRightOperand().getValue().toInt() = modVal + ) and + eq.getRightOperand().getValue().toInt() = 0 +} + +bindingset[modVal] +Expr moduloCheckNEQ_0(NEExpr neq, int modVal) { + exists(RemExpr rem | rem = neq.getLeftOperand() | + result = rem.getLeftOperand() and + rem.getRightOperand().getValue().toInt() = modVal + ) and + neq.getRightOperand().getValue().toInt() = 0 +} + +/** + * Returns if the two expressions resolve to the same value, albeit it is a fuzzy attempt. + * SSA is not fit for purpose here as calls break SSA equivalence. + */ +predicate exprEq_propertyPermissive(Expr e1, Expr e2) { + not e1 = e2 and + ( + DataFlow::localFlow(DataFlow::exprNode(e1), DataFlow::exprNode(e2)) + or + if e1 instanceof ThisExpr and e2 instanceof ThisExpr + then any() + else + /* If it's a direct Access, check that the target is the same. */ + if e1 instanceof Access + then e1.(Access).getTarget() = e2.(Access).getTarget() + else + /* If it's a Call, compare qualifiers and only permit no-argument Calls. */ + if e1 instanceof Call + then + e1.(Call).getTarget() = e2.(Call).getTarget() and + e1.(Call).getNumberOfArguments() = 0 and + e2.(Call).getNumberOfArguments() = 0 and + if e1.(Call).hasQualifier() + then exprEq_propertyPermissive(e1.(Call).getQualifier(), e2.(Call).getQualifier()) + else any() + else + /* If it's a binaryOperation, compare op and recruse */ + if e1 instanceof BinaryOperation + then + e1.(BinaryOperation).getOperator() = e2.(BinaryOperation).getOperator() and + exprEq_propertyPermissive(e1.(BinaryOperation).getLeftOperand(), + e2.(BinaryOperation).getLeftOperand()) and + exprEq_propertyPermissive(e1.(BinaryOperation).getRightOperand(), + e2.(BinaryOperation).getRightOperand()) + else + // Otherwise fail (and permit the raising of a finding) + if e1 instanceof Literal + then e1.(Literal).getValue() = e2.(Literal).getValue() + else none() + ) +} + +/** + * An expression that is the subject of a mod-4 check. + * ie `expr % 4 == 0` + */ +class Mod4CheckedExpr extends Expr { + Mod4CheckedExpr() { exists(Expr e | e = moduloCheckEQ_0(this, 4)) } +} + +/** + * Year Div of 100 not equal to 0: + * - `year % 100 != 0` + * - `!(year % 100 == 0)` + */ +abstract class ExprCheckCenturyComponentDiv100 extends Expr { + abstract Expr getYearExpr(); +} + +/** + * The normal form of the expression `year % 100 != 0`. + */ +final class ExprCheckCenturyComponentDiv100Normative extends ExprCheckCenturyComponentDiv100 { + ExprCheckCenturyComponentDiv100Normative() { exists(moduloCheckNEQ_0(this, 100)) } + + override Expr getYearExpr() { result = moduloCheckNEQ_0(this, 100) } +} + +/** + * The inverted form of the expression `year % 100 != 0`, ie `!(year % 100 == 0)` + */ +final class ExprCheckCenturyComponentDiv100Inverted extends ExprCheckCenturyComponentDiv100, NotExpr +{ + ExprCheckCenturyComponentDiv100Inverted() { exists(moduloCheckEQ_0(this.getOperand(), 100)) } + + override Expr getYearExpr() { result = moduloCheckEQ_0(this.getOperand(), 100) } +} + +/** + * A check that an expression is divisible by 400 or not + * - `(year % 400 == 0)` + * - `!(year % 400 != 0)` + */ +abstract class ExprCheckCenturyComponentDiv400 extends Expr { + abstract Expr getYearExpr(); +} + +/** + * The normative form of expression is divisible by 400: + * ie `year % 400 == 0` + */ +final class ExprCheckCenturyComponentDiv400Normative extends ExprCheckCenturyComponentDiv400 { + ExprCheckCenturyComponentDiv400Normative() { exists(moduloCheckEQ_0(this, 400)) } + + override Expr getYearExpr() { + exists(Expr e | + e = moduloCheckEQ_0(this, 400) and + ( + if e instanceof ConvertedYearByOffset + then result = e.(ConvertedYearByOffset).getYearOperand() + else result = e + ) + ) + } +} + +/** + * An arithmetic operation that seemingly converts an operand between time formats. + */ +class ConvertedYearByOffset extends BinaryArithmeticOperation { + ConvertedYearByOffset() { + this.getAnOperand().getValue().toInt() instanceof TimeFormatConversionOffset + } + + Expr getYearOperand() { + this.getLeftOperand().getValue().toInt() instanceof TimeFormatConversionOffset and + result = this.getRightOperand() + or + this.getRightOperand().getValue().toInt() instanceof TimeFormatConversionOffset and + result = this.getLeftOperand() + } +} + +/** + * A flow configuration to track DataFlow from a `CovertedYearByOffset` to some `StructTmLeapYearFieldAccess`. + */ +module LocalConvertedYearByOffsetToLeapYearCheckFlowConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { not n.asExpr() instanceof ConvertedYearByOffset } + + predicate isSink(DataFlow::Node n) { n.asExpr() instanceof StructTmLeapYearFieldAccess } +} + +module LocalConvertedYearByOffsetToLeapYearCheckFlow = + DataFlow::Global; + +/** + * The set of ints (or strings) which represent a value that is typically used to convert between time data types. + */ +final class TimeFormatConversionOffset extends int { + TimeFormatConversionOffset() { + this = + [ + 1900, // tm_year represents years since 1900 + 1970, // converting from/to Unix epoch + 2000, // some systems may use 2000 for 2-digit year conversions + ] + } +} + +/** + * The inverted form of expression is divisible by 400: + * ie `!(year % 400 != 0)` + */ +final class ExprCheckCenturyComponentDiv400Inverted extends ExprCheckCenturyComponentDiv400, NotExpr +{ + ExprCheckCenturyComponentDiv400Inverted() { exists(moduloCheckNEQ_0(this.getOperand(), 400)) } + + override Expr getYearExpr() { result = moduloCheckNEQ_0(this.getOperand(), 400) } +} + +/** + * The Century component of a Leap-Year guard + */ +class ExprCheckCenturyComponent extends LogicalOrExpr { + ExprCheckCenturyComponent() { + exists(ExprCheckCenturyComponentDiv400 exprDiv400, ExprCheckCenturyComponentDiv100 exprDiv100 | + this.getAnOperand() = exprDiv100 and + this.getAnOperand() = exprDiv400 and + exprEq_propertyPermissive(exprDiv100.getYearExpr(), exprDiv400.getYearExpr()) + ) + } + + Expr getYearExpr() { + exists(ExprCheckCenturyComponentDiv400 exprDiv400 | + this.getAnOperand() = exprDiv400 and + result = exprDiv400.getYearExpr() + ) + } +} + +/** + * A **Valid** Leap year check expression. + */ +abstract class ExprCheckLeapYear extends Expr { } + +/** + * A valid Leap-Year guard expression of the following form: + * `dt.Year % 4 == 0 && (dt.Year % 100 != 0 || dt.Year % 400 == 0)` + */ +final class ExprCheckLeapYearFormA extends ExprCheckLeapYear, LogicalAndExpr { + ExprCheckLeapYearFormA() { + exists(Expr e, ExprCheckCenturyComponent centuryCheck | + e = moduloCheckEQ_0(this.getLeftOperand(), 4) and + centuryCheck = this.getAnOperand().getAChild*() and + exprEq_propertyPermissive(e, centuryCheck.getYearExpr()) + ) + } +} + +/** + * A valid Leap-Year guard expression of the following forms: + * `year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)` + * `(year + 1900) % 400 == 0 || (year % 100 != 0 && year % 4 == 0)` + */ +final class ExprCheckLeapYearFormB extends ExprCheckLeapYear, LogicalOrExpr { + ExprCheckLeapYearFormB() { + exists(VariableAccess va1, VariableAccess va2, VariableAccess va3 | + va1 = moduloCheckEQ_0(this.getAnOperand(), 400) and + va2 = moduloCheckNEQ_0(this.getAnOperand().(LogicalAndExpr).getAnOperand(), 100) and + va3 = moduloCheckEQ_0(this.getAnOperand().(LogicalAndExpr).getAnOperand(), 4) and + // The 400-leap year check may be offset by [1900,1970,2000]. + exists(Expr va1_subExpr | va1_subExpr = va1.getAChild*() | + exprEq_propertyPermissive(va1_subExpr, va2) and + exprEq_propertyPermissive(va2, va3) + ) + ) + } +} + +Expr leapYearOpEnclosingElement(CheckForLeapYearOperation op) { result = op.getEnclosingElement() } + +/** + * A value that resolves as a constant integer that represents some normalization or conversion between date types. + */ +pragma[inline] +private predicate isNormalizationPrimitiveValue(Expr e) { + e.getValue().toInt() = [1900, 2000, 1980, 80] +} + +/** + * A normalization operation is an expression that is merely attempting to convert between two different datetime schemes, + * and does not apply any additional mutation to the represented value. + */ +pragma[inline] +predicate isNormalizationOperation(Expr e) { + isNormalizationPrimitiveValue([e, e.(Operation).getAChild()]) + or + // Special case for transforming marshaled 2-digit year date: + // theTime.wYear += 100*value; + e.(Operation).getAChild().(MulExpr).getValue().toInt() = 100 +} + +/** + * Get the field accesses used in a `ExprCheckLeapYear` expression. + */ +LeapYearFieldAccess leapYearCheckFieldAccess(ExprCheckLeapYear a) { result = a.getAChild*() } + /** * A `YearFieldAccess` that would represent an access to a year field on a struct and is used for arguing about leap year calculations. */ @@ -73,48 +338,7 @@ abstract class LeapYearFieldAccess extends YearFieldAccess { this.isModified() and exists(Operation op | op.getAnOperand() = this and - ( - op instanceof AssignArithmeticOperation and - not ( - op.getAChild().getValue().toInt() = 1900 - or - op.getAChild().getValue().toInt() = 2000 - or - op.getAChild().getValue().toInt() = 1980 - or - op.getAChild().getValue().toInt() = 80 - or - // Special case for transforming marshaled 2-digit year date: - // theTime.wYear += 100*value; - exists(MulExpr mulBy100 | mulBy100 = op.getAChild() | - mulBy100.getAChild().getValue().toInt() = 100 - ) - ) - or - exists(BinaryArithmeticOperation bao | - bao = op.getAnOperand() and - // we're specifically interested in calculations that update the existing - // value (like `x = x + 1`), so look for a child `YearFieldAccess`. - bao.getAChild*() instanceof YearFieldAccess and - not ( - bao.getAChild().getValue().toInt() = 1900 - or - bao.getAChild().getValue().toInt() = 2000 - or - bao.getAChild().getValue().toInt() = 1980 - or - bao.getAChild().getValue().toInt() = 80 - or - // Special case for transforming marshaled 2-digit year date: - // theTime.wYear += 100*value; - exists(MulExpr mulBy100 | mulBy100 = op.getAChild() | - mulBy100.getAChild().getValue().toInt() = 100 - ) - ) - ) - or - op instanceof CrementOperation - ) + not isNormalizationOperation(op) ) } @@ -155,9 +379,7 @@ abstract class LeapYearFieldAccess extends YearFieldAccess { // but these centurial years are leap years if they are exactly divisible by 400 // // https://aa.usno.navy.mil/faq/docs/calendars.php - this.isUsedInMod4Operation() and - this.additionalModulusCheckForLeapYear(400) and - this.additionalModulusCheckForLeapYear(100) + this = leapYearCheckFieldAccess(_) } } @@ -175,19 +397,9 @@ class StructTmLeapYearFieldAccess extends LeapYearFieldAccess { StructTmLeapYearFieldAccess() { this.getTarget().getName() = "tm_year" } override predicate isUsedInCorrectLeapYearCheck() { - this.isUsedInMod4Operation() and - this.additionalModulusCheckForLeapYear(400) and - this.additionalModulusCheckForLeapYear(100) and - // tm_year represents years since 1900 - ( - this.additionalAdditionOrSubstractionCheckForLeapYear(1900) - or - // some systems may use 2000 for 2-digit year conversions - this.additionalAdditionOrSubstractionCheckForLeapYear(2000) - or - // converting from/to Unix epoch - this.additionalAdditionOrSubstractionCheckForLeapYear(1970) - ) + this = leapYearCheckFieldAccess(_) and + /* There is some data flow from some conversion arithmetic to this expression. */ + LocalConvertedYearByOffsetToLeapYearCheckFlow::flow(_, DataFlow::exprNode(this)) } } @@ -206,10 +418,10 @@ class ChecksForLeapYearFunctionCall extends FunctionCall { } /** - * Data flow configuration for finding a variable access that would flow into + * A `DataFlow` configuraiton for finding a variable access that would flow into * a function call that includes an operation to check for leap year. */ -private module LeapYearCheckConfig implements DataFlow::ConfigSig { +private module LeapYearCheckFlowConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { source.asExpr() instanceof VariableAccess } predicate isSink(DataFlow::Node sink) { @@ -217,11 +429,10 @@ private module LeapYearCheckConfig implements DataFlow::ConfigSig { } } -module LeapYearCheckFlow = DataFlow::Global; +module LeapYearCheckFlow = DataFlow::Global; /** - * Data flow configuration for finding an operation with hardcoded 365 that will flow into - * a `FILEINFO` field. + * A `DataFlow` configuration for finding an operation with hardcoded 365 that will flow into a `_FILETIME` field. */ private module FiletimeYearArithmeticOperationCheckConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { @@ -246,46 +457,72 @@ module FiletimeYearArithmeticOperationCheckFlow = DataFlow::Global; /** - * Taint configuration for finding an operation with hardcoded 365 that will flow into any known date/time field. + * A `DataFlow` configuration for finding an operation with hardcoded 365 that will flow into any known date/time field. */ private module PossibleYearArithmeticOperationCheckConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { - exists(Operation op | op = source.asExpr() | - op.getAChild*().getValue().toInt() = 365 and - ( - not op.getParent() instanceof Expr or - op.getParent() instanceof Assignment - ) - ) - } - - predicate isBarrierIn(DataFlow::Node node) { isSource(node) } - - predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { - // flow from anything on the RHS of an assignment to a time/date structure to that - // assignment. - exists(StructLikeClass dds, FieldAccess fa, Assignment aexpr, Expr e | - e = node1.asExpr() and - fa = node2.asExpr() - | - (dds instanceof PackedTimeType or dds instanceof UnpackedTimeType) and - fa.getQualifier().getUnderlyingType() = dds and - aexpr.getLValue() = fa and - aexpr.getRValue().getAChild*() = e - ) + // NOTE: addressing current issue with new IR dataflow, where + // constant folding occurs before dataflow nodes are associated + // with the constituent literals. + source.asExpr().getAChild*().getValue().toInt() = 365 and + not exists(DataFlow::Node parent | parent.asExpr().getAChild+() = source.asExpr()) } predicate isSink(DataFlow::Node sink) { exists(StructLikeClass dds, FieldAccess fa, AssignExpr aexpr | - aexpr.getRValue() = sink.asExpr() - | (dds instanceof PackedTimeType or dds instanceof UnpackedTimeType) and fa.getQualifier().getUnderlyingType() = dds and fa.isModified() and - aexpr.getLValue() = fa + aexpr.getLValue() = fa and + sink.asExpr() = aexpr.getRValue() ) } } module PossibleYearArithmeticOperationCheckFlow = TaintTracking::Global; + +/** + * A `YearFieldAccess` that is modifying the year by any arithmetic operation. + * + * NOTE: + * To change this class to work for general purpose date transformations that do not check the return value, + * make the following changes: + * - change `extends LeapYearFieldAccess` to `extends FieldAccess`. + * - change `this.isModifiedByArithmeticOperation()` to `this.isModified()`. + * Expect a lower precision for a general purpose version. + */ +class DateStructModifiedFieldAccess extends LeapYearFieldAccess { + DateStructModifiedFieldAccess() { + exists(Field f, StructLikeClass struct | + f.getAnAccess() = this and + struct.getAField() = f and + struct.getUnderlyingType() instanceof UnpackedTimeType and + this.isModifiedByArithmeticOperation() + ) + } +} + +/** + * This is a list of APIs that will get the system time, and therefore guarantee that the value is valid. + */ +class SafeTimeGatheringFunction extends Function { + SafeTimeGatheringFunction() { + this.getQualifiedName() = ["GetFileTime", "GetSystemTime", "NtQuerySystemTime"] + } +} + +/** + * This list of APIs should check for the return value to detect problems during the conversion. + */ +class TimeConversionFunction extends Function { + TimeConversionFunction() { + this.getQualifiedName() = + [ + "FileTimeToSystemTime", "SystemTimeToFileTime", "SystemTimeToTzSpecificLocalTime", + "SystemTimeToTzSpecificLocalTimeEx", "TzSpecificLocalTimeToSystemTime", + "TzSpecificLocalTimeToSystemTimeEx", "RtlLocalTimeToSystemTime", + "RtlTimeToSecondsSince1970", "_mkgmtime" + ] + } +} diff --git a/cpp/ql/src/Likely Bugs/Leap Year/LeapYearConditionalLogic.qhelp b/cpp/ql/src/Likely Bugs/Leap Year/LeapYearConditionalLogic.qhelp new file mode 100644 index 000000000000..eda98e5350fa --- /dev/null +++ b/cpp/ql/src/Likely Bugs/Leap Year/LeapYearConditionalLogic.qhelp @@ -0,0 +1,26 @@ + + + + +

This anti-pattern occurs when a developer uses conditional logic to execute a different path of code for a leap year than for a common year, without fully testing both code paths.

+

Though using a framework or library's leap year function is better than manually calculating the leap year (as described in anti-pattern 5), it can still be a source of errors if the result is used to execute a different code path. The bug is especially easy to be masked if the year is derived from the current time of the system clock. See Prevention Measures for techniques to avoid this bug.

+
+ +
    +
  • Avoid using conditional logic that creates a separate branch in your code for leap year.
  • +
  • Ensure your code is testable, and test how it will behave when presented with leap year dates of February 29th and December 31st as inputs.
  • +
+
+ +

Note in the following examples, that year, month, and day might instead be .wYear, .wMonth, and .wDay fields of a SYSTEMTIME structure, or might be .tm_year, .tm_mon, and .tm_mday fields of a struct tm.

+ +
+ + +
  • NASA / Goddard Space Flight Center - Calendars
  • +
  • Wikipedia - Leap year bug
  • +
  • Microsoft Azure blog - Is your code ready for the leap year?
  • +
    +
    diff --git a/cpp/ql/src/Likely Bugs/Leap Year/LeapYearConditionalLogic.ql b/cpp/ql/src/Likely Bugs/Leap Year/LeapYearConditionalLogic.ql new file mode 100644 index 000000000000..43c8690c591a --- /dev/null +++ b/cpp/ql/src/Likely Bugs/Leap Year/LeapYearConditionalLogic.ql @@ -0,0 +1,28 @@ +/** + * @name Leap Year Conditional Logic (AntiPattern 7) + * @description Conditional logic is present for leap years and common years, potentially leading to untested code pathways. + * @kind problem + * @problem.severity warning + * @id cpp/microsoft/public/leap-year/conditional-logic-branches + * @precision medium + * @tags leap-year + * correctness + */ + +import cpp +import LeapYear +import semmle.code.cpp.dataflow.new.DataFlow + +class IfStmtLeapYearCheck extends IfStmt { + IfStmtLeapYearCheck() { + this.hasElse() and + exists(ExprCheckLeapYear lyCheck, DataFlow::Node source, DataFlow::Node sink | + source.asExpr() = lyCheck and + sink.asExpr() = this.getCondition() and + DataFlow::localFlow(source, sink) + ) + } +} + +from IfStmtLeapYearCheck lyCheckIf +select lyCheckIf, "Leap Year conditional statement may have untested code paths" diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.qhelp b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.qhelp index 8fbe7933201b..b708e127767c 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.qhelp +++ b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.qhelp @@ -15,10 +15,10 @@

    In this example, we are adding 1 year to the current date. This may work most of the time, but on any given February 29th, the resulting value will be invalid.

    - +

    To fix this bug, check the result for leap year.

    - +
    diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql index 03570b3611cd..18ad003eb71f 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql +++ b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql @@ -1,9 +1,9 @@ /** - * @name Year field changed using an arithmetic operation without checking for leap year + * @name Year field changed using an arithmetic operation without checking for leap year (AntiPattern 1) * @description A field that represents a year is being modified by an arithmetic operation, but no proper check for leap years can be detected afterwards. * @kind problem * @problem.severity warning - * @id cpp/leap-year/unchecked-after-arithmetic-year-modification + * @id cpp/microsoft/public/leap-year/unchecked-after-arithmetic-year-modification * @precision medium * @tags leap-year * correctness @@ -12,13 +12,16 @@ import cpp import LeapYear -from Variable var, LeapYearFieldAccess yfa -where - exists(VariableAccess va | +/** + * Holds if there is no known leap-year verification for the given `YearWriteOp`. + * Binds the `var` argument to the qualifier of the `ywo` argument. + */ +bindingset[ywo] +predicate isYearModifedWithoutExplicitLeapYearCheck(Variable var, YearWriteOp ywo) { + exists(VariableAccess va, YearFieldAccess yfa | + yfa = ywo.getYearAccess() and yfa.getQualifier() = va and var.getAnAccess() = va and - // The year is modified with an arithmetic operation. Avoid values that are likely false positives - yfa.isModifiedByArithmeticOperationNotForNormalization() and // Avoid false positives not ( // If there is a local check for leap year after the modification @@ -41,8 +44,10 @@ where LeapYearCheckFlow::flow(DataFlow::exprNode(yfacheck), DataFlow::exprNode(fc.getAnArgument())) ) or - // If there is a successor or predecessor that sets the month = 1 - exists(MonthFieldAccess mfa, AssignExpr ae | + // If there is a successor or predecessor that sets the month or day to a fixed value + exists(FieldAccess mfa, AssignExpr ae, int val | + mfa instanceof MonthFieldAccess or mfa instanceof DayFieldAccess + | mfa.getQualifier() = var.getAnAccess() and mfa.isModified() and ( @@ -50,10 +55,87 @@ where yfa.getBasicBlock() = mfa.getBasicBlock().getASuccessor+() ) and ae = mfa.getEnclosingElement() and - ae.getAnOperand().getValue().toInt() = 1 + ae.getAnOperand().getValue().toInt() = val ) ) ) -select yfa, - "Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found.", - yfa.getTarget(), yfa.getTarget().toString(), var, var.toString() +} + +/** + * The set of all write operations to the Year field of a date struct. + */ +abstract class YearWriteOp extends Operation { + /** Extracts the access to the Year field */ + abstract YearFieldAccess getYearAccess(); + + /** Get the expression which represents the new value. */ + abstract Expr getMutationExpr(); +} + +/** + * A unary operation (Crement) performed on a Year field. + */ +class YearWriteOpUnary extends YearWriteOp, UnaryOperation { + YearWriteOpUnary() { this.getOperand() instanceof YearFieldAccess } + + override YearFieldAccess getYearAccess() { result = this.getOperand() } + + override Expr getMutationExpr() { result = this } +} + +/** + * An assignment operation or mutation on the Year field of a date object. + */ +class YearWriteOpAssignment extends YearWriteOp, Assignment { + YearWriteOpAssignment() { this.getLValue() instanceof YearFieldAccess } + + override YearFieldAccess getYearAccess() { result = this.getLValue() } + + override Expr getMutationExpr() { + // Note: may need to use DF analysis to pull out the original value, + // if there is excessive false positives. + if this.getOperator() = "=" + then + exists(DataFlow::Node source, DataFlow::Node sink | + sink.asExpr() = this.getRValue() and + OperationToYearAssignmentFlow::flow(source, sink) and + result = source.asExpr() + ) + else result = this + } +} + +/** + * A DataFlow configuration for identifying flows from some non trivial access or literal + * to the Year field of a date object. + */ +module OperationToYearAssignmentConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node n) { + not n.asExpr() instanceof Access and + not n.asExpr() instanceof Literal + } + + predicate isSink(DataFlow::Node n) { + exists(Assignment a | + a.getLValue() instanceof YearFieldAccess and + a.getRValue() = n.asExpr() + ) + } +} + +module OperationToYearAssignmentFlow = DataFlow::Global; + +from Variable var, YearWriteOp ywo, Expr mutationExpr +where + mutationExpr = ywo.getMutationExpr() and + isYearModifedWithoutExplicitLeapYearCheck(var, ywo) and + not isNormalizationOperation(mutationExpr) and + not ywo instanceof AddressOfExpr and + not exists(Call c, TimeConversionFunction f | f.getACallToThisFunction() = c | + c.getAnArgument().getAChild*() = var.getAnAccess() and + ywo.getASuccessor*() = c + ) +select ywo, + "$@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found.", + ywo.getEnclosingFunction(), ywo.getEnclosingFunction().toString(), + ywo.getYearAccess().getTarget(), ywo.getYearAccess().getTarget().toString(), var, var.toString() diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.qhelp b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.qhelp index 6be0e091caf3..f3c4822632fb 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.qhelp +++ b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.qhelp @@ -27,10 +27,10 @@

    In this example, we are adding 1 year to the current date. This may work most of the time, but on any given February 29th, the resulting value will be invalid.

    - +

    To fix this bug, you must verify the return value for SystemTimeToFileTime and handle any potential error accordingly.

    - +
    diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.ql b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.ql index af02a2814a20..b223080fb6b3 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.ql +++ b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedReturnValueForTimeFunctions.ql @@ -1,11 +1,11 @@ /** - * @name Unchecked return value for time conversion function + * @name Unchecked return value for time conversion function (AntiPattern 6) * @description When the return value of a fallible time conversion function is * not checked for failure, its output parameters may contain * invalid dates. * @kind problem * @problem.severity warning - * @id cpp/leap-year/unchecked-return-value-for-time-conversion-function + * @id cpp/microsoft/public/leap-year/unchecked-return-value-for-time-conversion-function * @precision medium * @tags leap-year * correctness @@ -14,51 +14,6 @@ import cpp import LeapYear -/** - * A `YearFieldAccess` that is modifying the year by any arithmetic operation. - * - * NOTE: - * To change this class to work for general purpose date transformations that do not check the return value, - * make the following changes: - * - change `extends LeapYearFieldAccess` to `extends FieldAccess`. - * - change `this.isModifiedByArithmeticOperation()` to `this.isModified()`. - * Expect a lower precision for a general purpose version. - */ -class DateStructModifiedFieldAccess extends LeapYearFieldAccess { - DateStructModifiedFieldAccess() { - exists(Field f, StructLikeClass struct | - f.getAnAccess() = this and - struct.getAField() = f and - struct.getUnderlyingType() instanceof UnpackedTimeType and - this.isModifiedByArithmeticOperation() - ) - } -} - -/** - * This is a list of APIs that will get the system time, and therefore guarantee that the value is valid. - */ -class SafeTimeGatheringFunction extends Function { - SafeTimeGatheringFunction() { - this.getQualifiedName() = ["GetFileTime", "GetSystemTime", "NtQuerySystemTime"] - } -} - -/** - * This list of APIs should check for the return value to detect problems during the conversion. - */ -class TimeConversionFunction extends Function { - TimeConversionFunction() { - this.getQualifiedName() = - [ - "FileTimeToSystemTime", "SystemTimeToFileTime", "SystemTimeToTzSpecificLocalTime", - "SystemTimeToTzSpecificLocalTimeEx", "TzSpecificLocalTimeToSystemTime", - "TzSpecificLocalTimeToSystemTimeEx", "RtlLocalTimeToSystemTime", - "RtlTimeToSecondsSince1970", "_mkgmtime" - ] - } -} - from FunctionCall fcall, TimeConversionFunction trf, Variable var where fcall = trf.getACallToThisFunction() and @@ -104,5 +59,6 @@ where ) ) select fcall, - "Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe.", - trf, trf.getQualifiedName().toString(), var, var.getName() + "$@: Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe.", + fcall.getEnclosingFunction(), fcall.getEnclosingFunction().toString(), trf, + trf.getQualifiedName().toString(), var, var.getName() diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.qhelp b/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.qhelp index d2c0375f0afc..03a8ff6216bb 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.qhelp +++ b/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.qhelp @@ -16,15 +16,15 @@

    In this example, we are allocating 365 integers, one for each day of the year. This code will fail on a leap year, when there are 366 days.

    - +

    When using arrays, allocate the correct number of elements to match the year.

    - +
  • NASA / Goddard Space Flight Center - Calendars
  • -
  • Wikipedia - Leap year bug
  • +
  • Wikipedia - Leap year bug
  • Microsoft Azure blog - Is your code ready for the leap year?
  • diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.ql b/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.ql index b27db937b577..72aa653c4dff 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.ql +++ b/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear.ql @@ -1,41 +1,62 @@ /** - * @name Unsafe array for days of the year + * @name Unsafe array for days of the year (AntiPattern 4) * @description An array of 365 items typically indicates one entry per day of the year, but without considering leap years, which would be 366 days. * An access on a leap year could result in buffer overflow bugs. * @kind problem * @problem.severity warning - * @id cpp/leap-year/unsafe-array-for-days-of-the-year + * @id cpp/microsoft/public/leap-year/unsafe-array-for-days-of-the-year * @precision low - * @tags security - * leap-year + * @tags leap-year + * correctness */ import cpp -class LeapYearUnsafeDaysOfTheYearArrayType extends ArrayType { - LeapYearUnsafeDaysOfTheYearArrayType() { this.getArraySize() = 365 } -} +/* Note: We used to have a `LeapYearUnsafeDaysOfTheYearArrayType` class which was the + set of ArrayType that had a fixed length of 365. However, to eliminate false positives, + we use `isElementAnArrayOfFixedSize` that *also* finds arrays of 366 items, where the programmer + has also catered for leap years. + So, instead of `instanceof` checks, for simplicity, we simply pass in 365/366 as integers as needed. +*/ -from Element element, string allocType -where +bindingset[size] +predicate isElementAnArrayOfFixedSize( + Element element, Type t, Declaration f, string allocType, int size +) { exists(NewArrayExpr nae | element = nae and - nae.getAllocatedType() instanceof LeapYearUnsafeDaysOfTheYearArrayType and - allocType = "an array allocation" + nae.getAllocatedType().(ArrayType).getArraySize() = size and + allocType = "an array allocation" and + f = nae.getEnclosingFunction() and + t = nae.getAllocatedType().(ArrayType).getBaseType() ) or exists(Variable var | var = element and - var.getType() instanceof LeapYearUnsafeDaysOfTheYearArrayType and - allocType = "an array allocation" + var.getType().(ArrayType).getArraySize() = size and + allocType = "an array allocation" and + f = var and + t = var.getType().(ArrayType).getBaseType() ) or exists(ConstructorCall cc | element = cc and cc.getTarget().hasName("vector") and - cc.getArgument(0).getValue().toInt() = 365 and - allocType = "a std::vector allocation" + cc.getArgument(0).getValue().toInt() = size and + allocType = "a std::vector allocation" and + f = cc.getEnclosingFunction() and + t = cc.getTarget().getDeclaringType() + ) +} + +from Element element, string allocType, Declaration f, Type t +where + isElementAnArrayOfFixedSize(element, t, f, allocType, 365) and + not exists(Element element2, Declaration f2 | + isElementAnArrayOfFixedSize(element2, t, f2, _, 366) and + if f instanceof Function then f = f2 else f.getParentScope() = f2.getParentScope() ) select element, - "There is " + allocType + - " with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios." + "$@: There is " + allocType + + " with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios.", + f, f.toString() diff --git a/cpp/ql/src/Likely Bugs/Leap Year/examples/LeapYearConditionalLogicBad.c b/cpp/ql/src/Likely Bugs/Leap Year/examples/LeapYearConditionalLogicBad.c new file mode 100644 index 000000000000..7751b9eb34b8 --- /dev/null +++ b/cpp/ql/src/Likely Bugs/Leap Year/examples/LeapYearConditionalLogicBad.c @@ -0,0 +1,21 @@ +// Checking for leap year +bool isLeapYear = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); +if (isLeapYear) +{ + // untested path +} +else +{ + // tested path +} + + +// Checking specifically for the leap day +if (month == 2 && day == 29) // (or 1 with a tm_mon value) +{ + // untested path +} +else +{ + // tested path +} \ No newline at end of file diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModificationBad.c b/cpp/ql/src/Likely Bugs/Leap Year/examples/UncheckedLeapYearAfterYearModificationBad.c similarity index 100% rename from cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModificationBad.c rename to cpp/ql/src/Likely Bugs/Leap Year/examples/UncheckedLeapYearAfterYearModificationBad.c diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModificationGood.c b/cpp/ql/src/Likely Bugs/Leap Year/examples/UncheckedLeapYearAfterYearModificationGood.c similarity index 100% rename from cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModificationGood.c rename to cpp/ql/src/Likely Bugs/Leap Year/examples/UncheckedLeapYearAfterYearModificationGood.c diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYearBad.c b/cpp/ql/src/Likely Bugs/Leap Year/examples/UnsafeArrayForDaysOfYearBad.c similarity index 100% rename from cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYearBad.c rename to cpp/ql/src/Likely Bugs/Leap Year/examples/UnsafeArrayForDaysOfYearBad.c diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYearGood.c b/cpp/ql/src/Likely Bugs/Leap Year/examples/UnsafeArrayForDaysOfYearGood.c similarity index 100% rename from cpp/ql/src/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYearGood.c rename to cpp/ql/src/Likely Bugs/Leap Year/examples/UnsafeArrayForDaysOfYearGood.c diff --git a/cpp/ql/src/Metrics/Classes/CNumberOfFunctions.qhelp b/cpp/ql/src/Metrics/Classes/CNumberOfFunctions.qhelp index cc62cb50f498..8ef045c70923 100644 --- a/cpp/ql/src/Metrics/Classes/CNumberOfFunctions.qhelp +++ b/cpp/ql/src/Metrics/Classes/CNumberOfFunctions.qhelp @@ -49,21 +49,16 @@ need to be part of the class. (A classic example of this is the observes, there are at least two key problems with this approach: -
      -
    • -It may be possible to generalize some of the utility functions beyond the +1. It may be possible to generalize some of the utility functions beyond the narrow context of the class in question -- by bundling them with the class, the class author reduces the scope for functionality reuse. -
    • -
    • -It's usually impossible for the class author to know every possible +2. It's usually impossible for the class author to know every possible operation that the user might want to perform on the class, so the public interface will inherently be incomplete. New utility functions will end up having a different syntax to the privileged public functions in the class, negatively impacting on code consistency. -
    • -
    + To refactor a class like this, simply move its utility functions elsewhere, paring its public interface down to the bare minimum. diff --git a/cpp/ql/src/Metrics/Classes/CSizeOfAPI.qhelp b/cpp/ql/src/Metrics/Classes/CSizeOfAPI.qhelp index 0d560f920aa6..70c4c862fb61 100644 --- a/cpp/ql/src/Metrics/Classes/CSizeOfAPI.qhelp +++ b/cpp/ql/src/Metrics/Classes/CSizeOfAPI.qhelp @@ -46,21 +46,17 @@ need to be part of the class. (A classic example of this is the std::string class in the C++ Standard Library.) As [Sutter] observes, there are at least two key problems with this approach: -
      -
    • -It may be possible to generalize some of the utility functions beyond the + +1. It may be possible to generalize some of the utility functions beyond the narrow context of the class in question -- by bundling them with the class, the class author reduces the scope for functionality reuse. -
    • -
    • -It's usually impossible for the class author to know every possible +2. It's usually impossible for the class author to know every possible operation that the user might want to perform on the class, so the public interface will inherently be incomplete. New utility functions will end up having a different syntax to the privileged public functions in the class, negatively impacting on code consistency. -
    • -
    + To refactor a class like this, simply move its utility functions elsewhere, paring its public interface down to the bare minimum. diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuard.qhelp b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuard.qhelp new file mode 100644 index 000000000000..1f27b051e8f8 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuard.qhelp @@ -0,0 +1,20 @@ + + + +

    Checking for overflow of an addition by comparing against one of the arguments of the addition fails if the size of all the argument types are smaller than 4 bytes. This is because the result of the addition is promoted to a 4 byte int.

    +
    + + +

    Check the overflow by comparing the addition against a value that is at least 4 bytes.

    +
    + + +

    In this example, the result of the comparison will result in an integer overflow.

    + + +

    To fix the bug, check the overflow by comparing the addition against a value that is at least 4 bytes.

    + +
    +
    diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuard.ql b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuard.ql new file mode 100644 index 000000000000..8d220bdd62eb --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuard.ql @@ -0,0 +1,31 @@ +/** + * @name Bad overflow check + * @description Checking for overflow of an addition by comparing against one + * of the arguments of the addition fails if the size of all the + * argument types are smaller than 4 bytes. This is because the + * result of the addition is promoted to a 4 byte int. + * @kind problem + * @problem.severity error + * @tags security + * external/cwe/cwe-190 + * external/cwe/cwe-191 + * @id cpp/microsoft/public/badoverflowguard + */ + +import cpp + +/* + * Example: + * + * uint16 v, uint16 b + * if ((v + b < v) <-- bad check for overflow + */ + +from AddExpr a, Variable v, RelationalOperation cmp +where + a.getAnOperand() = v.getAnAccess() and + forall(Expr op | op = a.getAnOperand() | op.getType().getSize() < 4) and + cmp.getAnOperand() = a and + cmp.getAnOperand() = v.getAnAccess() and + not a.getExplicitlyConverted().getType().getSize() < 4 +select cmp, "Bad overflow check" diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuardBadCode.c b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuardBadCode.c new file mode 100644 index 000000000000..b7dc59a33785 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuardBadCode.c @@ -0,0 +1,9 @@ +unsigned short CheckForInt16OverflowBadCode(unsigned short v, unsigned short b) +{ + if (v + b < v) // BUG: "v + b" will be promoted to 32 bits + { + // ... do something + } + + return v + b; +} diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuardGoodCode.c b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuardGoodCode.c new file mode 100644 index 000000000000..f5cc5c2ed4f6 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Conversion/BadOverflowGuardGoodCode.c @@ -0,0 +1,9 @@ +unsigned short CheckForInt16OverflowCorrectCode(unsigned short v, unsigned short b) +{ + if (v + b > 0x00FFFF) + { + // ... do something + } + + return v + b; +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.qhelp b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.qhelp new file mode 100644 index 000000000000..e7a85e353ed5 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.qhelp @@ -0,0 +1,29 @@ + + + +

    RtlCompareMemory routine compares two blocks of memory and returns the number of bytes that match, not a boolean value indicating a full comparison like RtlEqualMemory does.

    +

    This query detects the return value of RtlCompareMemory being handled as a boolean.

    +
    + + +

    Any findings from this rule may indicate that the return value of a call to RtlCompareMemory is being incorrectly interpreted as a boolean.

    +

    Review the logic of the call, and if necessary, replace the function call with RtlEqualMemory.

    +
    + + +

    The following example is a typical one where an identity comparison is intended, but the wrong API is being used.

    + + +

    In this example, the fix is to replace the call to RtlCompareMemory with RtlEqualMemory.

    + + + +
    + +
  • Books online RtlCompareMemory function (wdm.h)
  • +
  • Books online RtlEqualMemory macro (wdm.h)
  • +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.ql b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.ql new file mode 100644 index 000000000000..1470a0905465 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.ql @@ -0,0 +1,69 @@ +/** + * @id cpp/microsoft/public/drivers/incorrect-usage-of-rtlcomparememory + * @name Incorrect usage of RtlCompareMemory + * @description `RtlCompareMemory` routine compares two blocks of memory and returns the number of bytes that match, not a boolean value indicating a full comparison like `RtlEqualMemory` does. + * This query detects the return value of `RtlCompareMemory` being handled as a boolean. + * @security.severity Important + * @kind problem + * @problem.severity error + * @precision high + * @tags security + * kernel + */ + +import cpp + +predicate isLiteralABooleanMacro(Literal l) { + exists(MacroInvocation mi | mi.getExpr() = l | + mi.getMacroName() in ["true", "false", "TRUE", "FALSE"] + ) +} + +from FunctionCall fc, Function f, Expr e, string msg +where + f.getQualifiedName() = "RtlCompareMemory" and + f.getACallToThisFunction() = fc and + ( + exists(UnaryLogicalOperation ulo | e = ulo | + ulo.getAnOperand() = fc and + msg = "as an operand in an unary logical operation" + ) + or + exists(BinaryLogicalOperation blo | e = blo | + blo.getAnOperand() = fc and + msg = "as an operand in a binary logical operation" + ) + or + exists(Conversion conv | e = conv | + ( + conv.getType().hasName("bool") or + conv.getType().hasName("BOOLEAN") or + conv.getType().hasName("_Bool") + ) and + conv.getUnconverted() = fc and + msg = "as a boolean" + ) + or + exists(IfStmt s | e = s.getControllingExpr() | + s.getControllingExpr() = fc and + msg = "as the controlling expression in an If statement" + ) + or + exists(EqualityOperation bao, Expr e2 | e = bao | + bao.hasOperands(fc, e2) and + isLiteralABooleanMacro(e2) and + msg = + "as an operand in an equality operation where the other operand is a boolean value (high precision result)" + ) + or + exists(EqualityOperation bao, Expr e2 | e = bao | + bao.hasOperands(fc, e2) and + (e2.(Literal).getValue().toInt() = 1 or e2.(Literal).getValue().toInt() = 0) and + not isLiteralABooleanMacro(e2) and + msg = + "as an operand in an equality operation where the other operand is likely a boolean value (lower precision result, needs to be reviewed)" + ) + ) +select e, + "This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`.", + fc, "call to `RtlCompareMemory`", e, msg diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemoryBad.c b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemoryBad.c new file mode 100644 index 000000000000..34dd300663ca --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemoryBad.c @@ -0,0 +1,5 @@ +//bug, the code assumes RtlCompareMemory is comparing for identical values & return false if not identical +if (!RtlCompareMemory(pBuffer, ptr, 16)) +{ + return FALSE; +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemoryGood.c b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemoryGood.c new file mode 100644 index 000000000000..a8a5945a9e3c --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemoryGood.c @@ -0,0 +1,5 @@ +//fixed +if (!RtlEqualMemory(pBuffer, ptr, 16)) +{ + return FALSE; +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.qhelp b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.qhelp new file mode 100644 index 000000000000..5cca10d929ed --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.qhelp @@ -0,0 +1,22 @@ + + + +

    If the argument for a sizeof call is a binary operation or a sizeof call, it is typically a sign that there is a confusion on the usage of the sizeof usage.

    +
    + + +

    Any findings from this rule may indicate that the sizeof is being used incorrectly.

    +

    Review the logic of the call.

    +
    + + +

    The following example shows a case where sizeof a binary operation by mistake.

    + + +

    In this example, the fix is to multiply the result of sizeof by the number of elements.

    + +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.ql b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.ql new file mode 100644 index 000000000000..4a20a36d4f2f --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.ql @@ -0,0 +1,62 @@ +/** + * @id cpp/microsoft/public/sizeof/sizeof-or-operation-as-argument + * @name Usage of an expression that is a binary operation, or sizeof call passed as an argument to a sizeof call + * @description When the `expr` passed to `sizeof` is a binary operation, or a sizeof call, this is typically a sign that there is a confusion on the usage of sizeof. + * @kind problem + * @problem.severity error + * @precision high + * @tags security + */ + +import cpp +import SizeOfTypeUtils + +/** + * Windows SDK corecrt_math.h defines a macro _CLASS_ARG that + * intentionally misuses sizeof to determine the size of a floating point type. + * Explicitly ignoring any hit in this macro. + */ +predicate isPartOfCrtFloatingPointMacroExpansion(Expr e) { + exists(MacroInvocation mi | + mi.getMacroName() = "_CLASS_ARG" and + mi.getMacro().getFile().getBaseName() = "corecrt_math.h" and + mi.getAnExpandedElement() = e + ) +} + +/** + * Determines if the sizeOfExpr is ignorable. + */ +predicate ignorableSizeof(SizeofExprOperator sizeofExpr) { + // a common pattern found is to sizeof a binary operation to check a type + // to then perfomr an onperaiton for a 32 or 64 bit type. + // these cases often look like sizeof(x) >=4 + // more generally we see binary operations frequently used in different type + // checks, where the sizeof is part of some comparison operation of a switch statement guard. + // sizeof as an argument is also similarly used, but seemingly less frequently. + exists(ComparisonOperation comp | comp.getAnOperand() = sizeofExpr) + or + exists(ConditionalStmt s | s.getControllingExpr() = sizeofExpr) + or + // another common practice is to use bit-wise operations in sizeof to allow the compiler to + // 'pack' the size appropriate but get the size of the result out of a sizeof operation. + sizeofExpr.getExprOperand() instanceof BinaryBitwiseOperation +} + +from SizeofExprOperator sizeofExpr, string message, Expr op +where + exists(string tmpMsg | + ( + op instanceof BinaryOperation and tmpMsg = "binary operator" + or + op instanceof SizeofOperator and tmpMsg = "sizeof" + ) and + if sizeofExpr.isInMacroExpansion() + then message = tmpMsg + "(in a macro expansion)" + else message = tmpMsg + ) and + op = sizeofExpr.getExprOperand() and + not isPartOfCrtFloatingPointMacroExpansion(op) and + not ignorableSizeof(sizeofExpr) +select sizeofExpr, "$@: $@ of $@ inside sizeof.", sizeofExpr, message, + sizeofExpr.getEnclosingFunction(), "Usage", op, message diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperationBad.c b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperationBad.c new file mode 100644 index 000000000000..52b296b94016 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperationBad.c @@ -0,0 +1,5 @@ +#define SIZEOF_CHAR sizeof(char) + +char* buffer; +// bug - the code is really going to allocate sizeof(size_t) instead o fthe intended sizeof(char) * 10 +buffer = (char*) malloc(sizeof(SIZEOF_CHAR * 10)); diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperationGood.c b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperationGood.c new file mode 100644 index 000000000000..c61e019b41ef --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperationGood.c @@ -0,0 +1,4 @@ +#define SIZEOF_CHAR sizeof(char) + +char* buffer; +buffer = (char*) malloc(SIZEOF_CHAR * 10); diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.qhelp b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.qhelp new file mode 100644 index 000000000000..ed473d234e4b --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.qhelp @@ -0,0 +1,26 @@ + + + +

    If the argument for a sizeof call is a macro that expands to a constant integer type, it is a likely indication that the macro operation may be misused or that the argument was selected by mistake (i.e. typo).

    +

    This query detects if the argument for sizeof is a macro that expands to a constant integer value.

    +

    NOTE: This rule will ignore multicharacter literal values that are exactly 4 bytes long as it matches the length of int and may be expected.

    +
    + + +

    Any findings from this rule may indicate that the sizeof is being used incorrectly.

    +

    Review the logic of the call.

    +
    + + +

    The following example shows a case where sizeof a constant was used instead of the sizeof of a structure by mistake as the names are similar.

    + + +

    In this example, the fix is to replace the argument for sizeof with the structure name.

    + + + +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.ql b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.ql new file mode 100644 index 000000000000..709a33865924 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.ql @@ -0,0 +1,54 @@ +/** + * @id cpp/microsoft/public/sizeof/const-int-argument + * @name Passing a constant integer macro to sizeof + * @description The expression passed to sizeof is a macro that expands to an integer constant. A data type was likely intended instead. + * @kind problem + * @problem.severity error + * @precision high + * @tags security + */ + +import cpp +import SizeOfTypeUtils + +predicate isExprAConstInteger(Expr e, MacroInvocation mi) { + exists(Type type | + type = e.getExplicitlyConverted().getType() and + isTypeDangerousForSizeof(type) and + // Special case for wide-char literals when the compiler doesn't recognize wchar_t (i.e. L'\\', L'\0') + // Accounting for parenthesis "()" around the value + not exists(Macro m | m = mi.getMacro() | + m.getBody().toString().regexpMatch("^[\\s(]*L'.+'[\\s)]*$") + ) and + // Special case for token pasting operator + not exists(Macro m | m = mi.getMacro() | m.getBody().toString().regexpMatch("^.*\\s*##\\s*.*$")) and + // Special case for multichar literal integers that are exactly 4 character long (i.e. 'val1') + not exists(Macro m | m = mi.getMacro() | + e.getType().toString() = "int" and + m.getBody().toString().regexpMatch("^'.{4}'$") + ) and + e.isConstant() + ) +} + +int countMacros(Expr e) { result = count(MacroInvocation mi | mi.getExpr() = e | mi) } + +predicate isSizeOfExprOperandMacroInvocationAConstInteger( + SizeofExprOperator sizeofExpr, MacroInvocation mi +) { + exists(Expr e | + e = mi.getExpr() and + e = sizeofExpr.getExprOperand() and + isExprAConstInteger(e, mi) and + // Special case for FPs that involve an inner macro that resolves to 0 such as _T('\0') + not exists(int macroCount | macroCount = countMacros(e) | + macroCount > 1 and e.(Literal).getValue().toInt() = 0 + ) + ) +} + +from SizeofExprOperator sizeofExpr, MacroInvocation mi +where isSizeOfExprOperandMacroInvocationAConstInteger(sizeofExpr, mi) +select sizeofExpr, + "$@: sizeof of integer macro $@ will always return the size of the underlying integer type.", + sizeofExpr, sizeofExpr.getEnclosingFunction().getName(), mi.getMacro(), mi.getMacro().getName() diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacroBad.c b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacroBad.c new file mode 100644 index 000000000000..63d73f4d349c --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacroBad.c @@ -0,0 +1,12 @@ +#define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d + +typedef struct { + int a; + bool b; +} SOMESTRUCT_THAT_MATTERS; + +//bug, the code is using SOMESTRUCT_ERRNO_THAT_MATTERS by mistake instead of SOMESTRUCT_THAT_MATTERS +if (somedata.length >= sizeof(SOMESTRUCT_ERRNO_THAT_MATTERS)) +{ + /// Do something +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacroGood.c b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacroGood.c new file mode 100644 index 000000000000..bfadb4d59892 --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacroGood.c @@ -0,0 +1,11 @@ +#define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d + +typedef struct { + int a; + bool b; +} SOMESTRUCT_THAT_MATTERS; + +if (somedata.length >= sizeof(SOMESTRUCT_THAT_MATTERS)) +{ + /// Do something +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfTypeUtils.qll b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfTypeUtils.qll new file mode 100644 index 000000000000..87e5b1fa0f4b --- /dev/null +++ b/cpp/ql/src/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfTypeUtils.qll @@ -0,0 +1,45 @@ +import cpp + +/** + * Holds if `type` is a `Type` that typically should not be used for `sizeof` in macros or function return values. + */ +predicate isTypeDangerousForSizeof(Type type) { + ( + type instanceof IntegralOrEnumType and + // ignore string literals + not type instanceof WideCharType and + not type instanceof CharType + ) +} + +/** + * Holds if `type` is a `Type` that typically should not be used for `sizeof` in macros or function return values. + * This predicate extends the types detected in exchange of precision. + * For higher precision, please use `isTypeDangerousForSizeof` + */ +predicate isTypeDangerousForSizeofLowPrecision(Type type) { + ( + // UINT8/BYTE are typedefs to char, so we treat them separately. + // WCHAR is sometimes a typedef to UINT16, so we treat it separately too. + type.getName() = "UINT8" + or + type.getName() = "BYTE" + or + not type.getName() = "WCHAR" and + exists(Type ut | + ut = type.getUnderlyingType() and + ut instanceof IntegralOrEnumType and + not ut instanceof WideCharType and + not ut instanceof CharType + ) + ) +} + +/** + * Holds if the `Function` return type is dangerous as input for `sizeof`. + */ +class FunctionWithTypeDangerousForSizeofLowPrecision extends Function { + FunctionWithTypeDangerousForSizeofLowPrecision() { + exists(Type type | type = this.getType() | isTypeDangerousForSizeofLowPrecision(type)) + } +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/BannedEncryption.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/BannedEncryption.qhelp new file mode 100644 index 000000000000..57ea002bd6a7 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/BannedEncryption.qhelp @@ -0,0 +1,46 @@ + + + + +

    + Finds explicit uses of symmetric encryption algorithms that are weak, obsolete, or otherwise unapproved. +

    +

    + Encryption algorithms such as DES, (uses keys of 56 bits only), RC2 (uses keys of 128 bits only), and TripleDES (provides at most 112 bits of security) are considered to be weak. +

    +

    + These cryptographic algorithms do not provide as much security assurance as more modern counterparts. +

    +
    + + +

    + For Microsoft internal security standards: +

    +

    + For WinCrypt, switch to ALG_SID_AES, ALG_SID_AES_128, ALG_SID_AES_192, or ALG_SID_AES_256. +

    +

    + For BCrypt, switch to AES or any algorithm other than RC2, RC4, DES, DESX, 3DES, 3DES_112. AES_GMAC and AES_CMAC require crypto board review. +

    +
    + + +

    Violations:

    + + + + +

    Solutions:

    + + + +
    + + +
  • Microsoft Docs: Microsoft SDL Cryptographic Recommendations.
  • +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/BannedEncryption.ql b/cpp/ql/src/Microsoft/Security/Cryptography/BannedEncryption.ql new file mode 100644 index 000000000000..0be6cf70086f --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/BannedEncryption.ql @@ -0,0 +1,58 @@ +/** + * @name Weak cryptography + * @description Finds explicit uses of symmetric encryption algorithms that are weak, obsolete, or otherwise unapproved. + * @kind problem + * @id cpp/microsoft/public/weak-crypto/banned-encryption-algorithms + * @problem.severity error + * @precision high + * @tags security + * external/cwe/cwe-327 + */ + +import cpp +import CryptoFilters +import CryptoDataflowCapi +import CryptoDataflowCng +import experimental.cryptography.Concepts + +predicate isCapiOrCNGBannedAlg(Expr e, string msg) { + exists(FunctionCall fc | + CapiCryptCreateEncryptionBanned::flow(DataFlow::exprNode(e), + DataFlow::exprNode(fc.getArgument(1))) + or + BCryptOpenAlgorithmProviderBannedEncryption::flow(DataFlow::exprNode(e), + DataFlow::exprNode(fc.getArgument(1))) + ) and + msg = + "Call to a cryptographic function with a banned symmetric encryption algorithm: " + + e.getValueText() +} + +predicate isGeneralBannedAlg(SymmetricEncryptionAlgorithm alg, Expr confSink, string msg) { + // Handle unknown cases in a separate query + not alg.getEncryptionName() = unknownAlgorithm() and + exists(string resMsg | + ( + not alg.getEncryptionName().matches("AES%") and + resMsg = "Use of banned symmetric encryption algorithm: " + alg.getEncryptionName() + "." + ) and + ( + if alg.hasConfigurationSink() and alg.configurationSink() != alg + then ( + confSink = alg.configurationSink() and msg = resMsg + " Algorithm used at sink: $@." + ) else ( + confSink = alg and msg = resMsg + ) + ) + ) +} + +from Expr sink, Expr confSink, string msg +where + ( + isCapiOrCNGBannedAlg(sink, msg) and confSink = sink + or + isGeneralBannedAlg(sink, confSink, msg) + ) and + not isSrcSinkFiltered(sink, confSink) +select sink, msg, confSink, confSink.toString() diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCAPI.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCAPI.qhelp new file mode 100644 index 000000000000..e6e00a06cdb9 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCAPI.qhelp @@ -0,0 +1,29 @@ + + + + +

    Violation - Use of one of the following unsafe encryption modes that is not approved: ECB, OFB, CFB, CTR, CCM, or GCM.

    +

    These modes are vulnerable to attacks and may cause exposure of sensitive information. For example, using ECB to encrypt a plaintext block always produces a same cipher text, so it can easily tell if two encrypted messages are identical. Using approved modes can avoid these unnecessary risks.

    +
    + + +

    - Use only approved modes CBC, CTS and XTS.

    +
    + + +

    Violation:

    + + + +

    Solution:

    + + +
    + + +
  • Microsoft Docs: Microsoft SDL Cryptographic Recommendations.
  • +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCAPI.ql b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCAPI.ql new file mode 100644 index 000000000000..16d83e54abc6 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCAPI.ql @@ -0,0 +1,40 @@ +/** + * @name Weak cryptography + * @description Finds explicit uses of block cipher chaining mode algorithms that are not approved. (CAPI) + * @kind problem + * @id cpp/microsoft/public/weak-crypto/capi/banned-modes + * @problem.severity error + * @precision high + * @tags security + * external/cwe/cwe-327 + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow +import CryptoDataflowCapi + +module CapiSetBlockCipherConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source.asExpr().isConstant() and + // KP_MODE + // CRYPT_MODE_CBC 1 - Cipher block chaining - Microsoft-Only: Only mode allowed by Crypto Board from this list (CBC-MAC) + // CRYPT_MODE_ECB 2 - Electronic code book - Generally not recommended for usage in cryptographic protocols at all + // CRYPT_MODE_OFB 3 - Output feedback mode - Microsoft-Only: Banned, usage requires Crypto Board review + // CRYPT_MODE_CFB 4 - Cipher feedback mode - Microsoft-Only: Banned, usage requires Crypto Board review + // CRYPT_MODE_CTS 5 - Ciphertext stealing mode - Microsoft-Only: CTS is approved by Crypto Board, but should probably use CNG and not CAPI + source.asExpr().getValue().toInt() != 1 + } + + predicate isSink(DataFlow::Node sink) { + exists(CapiCryptCryptSetKeyParamtoKPMODE call | sink.asIndirectExpr() = call.getArgument(2)) + } +} + +module CapiSetBlockCipherTrace = DataFlow::Global; + +from CapiCryptCryptSetKeyParamtoKPMODE call, DataFlow::Node src, DataFlow::Node sink +where + sink.asIndirectExpr() = call.getArgument(2) and + CapiSetBlockCipherTrace::flow(src, sink) +select call, + "Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode." diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCNG.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCNG.qhelp new file mode 100644 index 000000000000..4713ef9ff13c --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCNG.qhelp @@ -0,0 +1,31 @@ + + + + +

    Violation - Use of one of the following unsafe encryption modes that is not approved: ECB, OFB, CFB, CTR, CCM, or GCM.

    +

    These modes are vulnerable to attacks and may cause exposure of sensitive information. For example, using ECB to encrypt a plaintext block always produces a same cipher text, so it can easily tell if two encrypted messages are identical. Using approved modes can avoid these unnecessary risks.

    +
    + + +

    - Use only approved modes CBC, CTS and XTS.

    +
    + + +

    Violation:

    + + + +

    Solution:

    + + +
    + + + +
  • Microsoft Docs: Microsoft SDL Cryptographic Recommendations.
  • +
    + + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCNG.ql b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCNG.ql new file mode 100644 index 000000000000..d7184114b0a7 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/BannedModesCNG.ql @@ -0,0 +1,23 @@ +/** + * @name Weak cryptography + * @description Finds explicit uses of block cipher chaining mode algorithms that are not approved. (CNG) + * @kind problem + * @id cpp/microsoft/public/weak-crypto/cng/banned-modes + * @problem.severity error + * @precision high + * @tags security + * external/cwe/cwe-327 + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow +import CryptoDataflowCng + +from CngBCryptSetPropertyParamtoKChainingMode call, DataFlow::Node src, DataFlow::Node sink +where + sink.asIndirectArgument() = call.getArgument(2) and + CngBCryptSetPropertyChainingBannedModeIndirectParameter::flow(src, sink) + or + sink.asExpr() = call.getArgument(2) and CngBCryptSetPropertyChainingBannedMode::flow(src, sink) +select call, + "Call to 'BCryptSetProperty' function with argument pszProperty = \"ChainingMode\" is setting up a banned block cipher mode." diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/CryptoDataflowCapi.qll b/cpp/ql/src/Microsoft/Security/Cryptography/CryptoDataflowCapi.qll new file mode 100644 index 000000000000..52c835ea9b89 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/CryptoDataflowCapi.qll @@ -0,0 +1,97 @@ +/** + * Provides classes and predicates for identifying expressions that are use Crypto API (CAPI). + */ + +import cpp +private import semmle.code.cpp.dataflow.new.DataFlow + +/** + * Dataflow that detects a call to CryptSetKeyParam dwParam = KP_MODE (CAPI) + */ +module CapiCryptCryptSetKeyParamtoKPMODEConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source.asExpr().getValue().toInt() = 4 // KP_MODE + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // CryptSetKeyParam 2nd argument specifies the key parameter to set + sink.asExpr() = call.getArgument(1) and + call.getTarget().hasGlobalName("CryptSetKeyParam") + ) + } +} + +module CapiCryptCryptSetKeyParamtoKPMODE = + DataFlow::Global; + +/** + * A function call to CryptSetKeyParam with dwParam = KP_MODE (CAPI) + */ +class CapiCryptCryptSetKeyParamtoKPMODE extends FunctionCall { + CapiCryptCryptSetKeyParamtoKPMODE() { + exists(Expr var | + CapiCryptCryptSetKeyParamtoKPMODE::flow(DataFlow::exprNode(var), + DataFlow::exprNode(this.getArgument(1))) + ) + } +} + +// CAPI-specific DataFlow configuration +module CapiCryptCreateHashBannedConfiguration implements DataFlow::ConfigSig { + // This mechnism will verify for approved set of values to call, rejecting anythign that is not in the list. + // NOTE: This mechanism is not guaranteed to work with CSPs that do not use the same algorithms defined in Wincrypt.h + // + predicate isSource(DataFlow::Node source) { + // Verify if source matched the mask for CAPI ALG_CLASS_HASH == 32768 + source.asExpr().getValue().toInt().bitShiftRight(13) = 4 and + // The following hash algorithms are safe to use, anything else is considered banned + not ( + source.asExpr().getValue().toInt().bitXor(32768) = 12 or // ALG_SID_SHA_256 + source.asExpr().getValue().toInt().bitXor(32768) = 13 or // ALG_SID_SHA_384 + source.asExpr().getValue().toInt().bitXor(32768) = 14 // ALG_SID_SHA_512 + ) + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // CryptCreateHash 2nd argument specifies the hash algorithm to be used. + sink.asExpr() = call.getArgument(1) and + call.getTarget().hasGlobalName("CryptCreateHash") + ) + } +} + +module CapiCryptCreateHashBanned = DataFlow::Global; + +// CAPI-specific DataFlow configuration +module CapiCryptCreateEncryptionBannedConfiguration implements DataFlow::ConfigSig { + // This mechanism will verify for approved set of values to call, rejecting anything that is not in the list. + // NOTE: This mechanism is not guaranteed to work with CSPs that do not use the same algorithms defined in Wincrypt.h + // + predicate isSource(DataFlow::Node source) { + // Verify if source matched the mask for CAPI ALG_CLASS_DATA_ENCRYPT == 24576 + source.asExpr().getValue().toInt().bitShiftRight(13) = 3 and + // The following algorithms are safe to use, anything else is considered banned + not ( + source.asExpr().getValue().toInt().bitXor(26112) = 14 or // ALG_SID_AES_128 + source.asExpr().getValue().toInt().bitXor(26112) = 15 or // ALG_SID_AES_192 + source.asExpr().getValue().toInt().bitXor(26112) = 16 or // ALG_SID_AES_256 + source.asExpr().getValue().toInt().bitXor(26112) = 17 // ALG_SID_AES + ) + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // CryptGenKey or CryptDeriveKey 2nd argument specifies the hash algorithm to be used. + sink.asExpr() = call.getArgument(1) and + ( + call.getTarget().hasGlobalName("CryptGenKey") or + call.getTarget().hasGlobalName("CryptDeriveKey") + ) + ) + } +} + +module CapiCryptCreateEncryptionBanned = + DataFlow::Global; diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/CryptoDataflowCng.qll b/cpp/ql/src/Microsoft/Security/Cryptography/CryptoDataflowCng.qll new file mode 100644 index 000000000000..a54650692075 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/CryptoDataflowCng.qll @@ -0,0 +1,137 @@ +/** + * Provides classes and predicates for identifying expressions that are use crypto API Next Generation (CNG). + */ + +import cpp +private import semmle.code.cpp.dataflow.new.DataFlow + +/** + * Dataflow that detects a call to BCryptSetProperty pszProperty = ChainingMode (CNG) + */ +module CngBCryptSetPropertyParamtoKChainingModeConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source.asExpr().getValue().toString().matches("ChainingMode") + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // BCryptSetProperty 2nd argument specifies the key parameter to set + sink.asExpr() = call.getArgument(1) and + call.getTarget().hasGlobalName("BCryptSetProperty") + ) + } +} + +module CngBCryptSetPropertyParamtoKChainingMode = + DataFlow::Global; + +/** + * A function call to BCryptSetProperty pszProperty = ChainingMode (CNG) + */ +class CngBCryptSetPropertyParamtoKChainingMode extends FunctionCall { + CngBCryptSetPropertyParamtoKChainingMode() { + exists(Expr var | + CngBCryptSetPropertyParamtoKChainingMode::flow(DataFlow::exprNode(var), + DataFlow::exprNode(this.getArgument(1))) + ) + } +} + +predicate isChaniningModeCbc(DataFlow::Node source) { + // Verify if algorithm is in the approved list. + exists(string s | s = source.asExpr().getValue().toString() | + s.regexpMatch("ChainingMode[A-Za-z0-9/]+") and + // Property Strings + // BCRYPT_CHAIN_MODE_NA L"ChainingModeN/A" - The algorithm does not support chaining + // BCRYPT_CHAIN_MODE_CBC L"ChainingModeCBC" - Microsoft-Only: Only mode allowed by Crypto Board from this list (CBC-MAC) + // BCRYPT_CHAIN_MODE_ECB L"ChainingModeECB" - Generally not recommended for usage in cryptographic protocols at all + // BCRYPT_CHAIN_MODE_CFB L"ChainingModeCFB" - Microsoft-Only: Banned, usage requires Crypto Board review + // BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM" - Microsoft-Only: Banned, usage requires Crypto Board review + // BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM" - Microsoft-Only: Only for TLS, other usage requires Crypto Board review + not s.matches("ChainingModeCBC") + ) +} + +module CngBCryptSetPropertyChainingBannedModeConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { isChaniningModeCbc(source) } + + predicate isSink(DataFlow::Node sink) { + exists(CngBCryptSetPropertyParamtoKChainingMode call | + // BCryptOpenAlgorithmProvider 3rd argument sets the chaining mode value + sink.asExpr() = call.getArgument(2) + ) + } +} + +module CngBCryptSetPropertyChainingBannedMode = + DataFlow::Global; + +module CngBCryptSetPropertyChainingBannedModeIndirectParameterConfiguration implements + DataFlow::ConfigSig +{ + predicate isSource(DataFlow::Node source) { isChaniningModeCbc(source) } + + predicate isSink(DataFlow::Node sink) { + exists(CngBCryptSetPropertyParamtoKChainingMode call | + // CryptSetKeyParam 3rd argument specifies the mode (KP_MODE) + sink.asIndirectExpr() = call.getArgument(2) + ) + } +} + +module CngBCryptSetPropertyChainingBannedModeIndirectParameter = + DataFlow::Global; + +// CNG-specific DataFlow configuration +module BCryptOpenAlgorithmProviderBannedHashConfiguration implements DataFlow::ConfigSig { + // NOTE: Unlike the CAPI scenario, CNG will use this method to load and initialize + // a cryptographic provider for any type of algorithm,not only hash. + // Therefore, we have to take a banned-list instead of approved list approach. + // + predicate isSource(DataFlow::Node source) { + // Verify if algorithm is marked as banned. + source.asExpr().getValue().toString().matches("MD_") + or + source.asExpr().getValue().toString().matches("SHA1") + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // BCryptOpenAlgorithmProvider 2nd argument specifies the algorithm to be used + sink.asExpr() = call.getArgument(1) and + call.getTarget().hasGlobalName("BCryptOpenAlgorithmProvider") + ) + } +} + +module BCryptOpenAlgorithmProviderBannedHash = + DataFlow::Global; + +// CNG-specific DataFlow configuration +module BCryptOpenAlgorithmProviderBannedEncryptionConfiguration implements DataFlow::ConfigSig { + // NOTE: Unlike the CAPI scenario, CNG will use this method to load and initialize + // a cryptographic provider for any type of algorithm,not only encryption. + // Therefore, we have to take a banned-list instead of approved list approach. + // + predicate isSource(DataFlow::Node source) { + // Verify if algorithm is marked as banned. + source.asExpr().getValue().toString().matches("RC_") or + source.asExpr().getValue().toString().matches("DES") or + source.asExpr().getValue().toString().matches("DESX") or + source.asExpr().getValue().toString().matches("3DES") or + source.asExpr().getValue().toString().matches("3DES_112") or + source.asExpr().getValue().toString().matches("AES_GMAC") or // Microsoft Only: Requires Cryptoboard review + source.asExpr().getValue().toString().matches("AES_CMAC") // Microsoft Only: Requires Cryptoboard review + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // BCryptOpenAlgorithmProvider 2nd argument specifies the algorithm to be used + sink.asExpr() = call.getArgument(1) and + call.getTarget().hasGlobalName("BCryptOpenAlgorithmProvider") + ) + } +} + +module BCryptOpenAlgorithmProviderBannedEncryption = + DataFlow::Global; diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/CryptoFilters.qll b/cpp/ql/src/Microsoft/Security/Cryptography/CryptoFilters.qll new file mode 100644 index 000000000000..65f9dde5f911 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/CryptoFilters.qll @@ -0,0 +1,45 @@ +import cpp + +/** + * Determines if an element should be filtered (ignored) + * from any result set. + * + * The current strategy is to determine if the element + * resides in a path that appears to be a library (in particular openssl). + * + * It is therefore important that the element being examined represents + * a use or configuration of cryptography in the user code. + * E.g., if a global variable were defined in an OpenSSL library + * representing a bad/vuln algorithm, and this global were assessed + * it would appear to be ignorable, as it exists in a a filtered library. + * The use of that global must be examined with this filter. + * + * ASSUMPTION/CAVEAT: note if an openssl library wraps a dangerous crypo use + * this filter approach will ignore the wrapper call, unless it is also flagged + * as dangerous. e.g., SomeWraper(){ ... ...} + * The wrapper if defined in openssl would result in ignoring + * the use of MD5 internally, since it's use is entirely in openssl. + * + * TODO: these caveats need to be reassessed in the future. + */ +predicate isUseFiltered(Element e) { + e.getFile().getAbsolutePath().toLowerCase().matches("%openssl%") +} + +/** + * Filtered only if both src and sink are considered filtered. + * + * This approach is meant to partially address some of the implications of + * `isUseFiltered`. Specifically, if an algorithm is specified by a user + * and some how passes to a user inside openssl, then this filter + * would not ignore that the user was specifying the use of something dangerous. + * + * e.g., if a wrapper in openssl existed of the form SomeWrapper(string alg, ...){ ... ...} + * and the user did something like SomeWrapper("MD5", ...), this would not be ignored. + * + * The source in the above example would the algorithm, and the sink is the configuration sink + * of the algorithm. + */ +predicate isSrcSinkFiltered(Element src, Element sink) { + isUseFiltered(src) and isUseFiltered(sink) +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/HardcodedIVCNG.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/HardcodedIVCNG.qhelp new file mode 100644 index 000000000000..bd0b71f227e4 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/HardcodedIVCNG.qhelp @@ -0,0 +1,23 @@ + + + +

    An initialization vector (IV) is an input to a cryptographic primitive being used to provide the initial state. The IV is typically required to be random or pseudorandom (randomized scheme), but sometimes an IV only needs to be unpredictable or unique (stateful scheme).

    +

    Randomization is crucial for some encryption schemes to achieve semantic security, a property whereby repeated usage of the scheme under the same key does not allow an attacker to infer relationships between (potentially similar) segments of the encrypted message.

    +
    + + +

    All symmetric block ciphers must also be used with an appropriate initialization vector (IV) according to the mode of operation being used.

    +

    If using a randomized scheme such as CBC, it is recommended to use cryptographically secure pseudorandom number generator such as BCryptGenRandom.

    +
    + + +
  • + BCryptEncrypt function (bcrypt.h) + BCryptGenRandom function (bcrypt.h) + Initialization vector (Wikipedia) +
  • +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/HardcodedIVCNG.ql b/cpp/ql/src/Microsoft/Security/Cryptography/HardcodedIVCNG.ql new file mode 100644 index 000000000000..86b98d807723 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/HardcodedIVCNG.ql @@ -0,0 +1,58 @@ +/** + * @name Weak cryptography + * @description Finds usage of a static (hardcoded) IV. (CNG) + * @kind problem + * @id cpp/microsoft/public/weak-crypto/cng/hardcoded-iv + * @problem.severity error + * @precision high + * @tags security + * external/cwe/cwe-327 + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow + +/** + * Gets const element of `ArrayAggregateLiteral`. + */ +Expr getConstElement(ArrayAggregateLiteral lit) { + exists(int n | + result = lit.getElementExpr(n, _) and + result.isConstant() + ) +} + +/** + * Gets the last element in an `ArrayAggregateLiteral`. + */ +Expr getLastElement(ArrayAggregateLiteral lit) { + exists(int n | + result = lit.getElementExpr(n, _) and + not exists(lit.getElementExpr(n + 1, _)) + ) +} + +module CngBCryptEncryptHardcodedIVConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + exists(AggregateLiteral lit | + getLastElement(lit) = source.asDefinition() and + exists(getConstElement(lit)) + ) + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // BCryptEncrypt 5h argument specifies the IV + sink.asIndirectExpr() = call.getArgument(4) and + call.getTarget().hasGlobalName("BCryptEncrypt") + ) + } +} + +module Flow = DataFlow::Global; + +from DataFlow::Node sl, DataFlow::Node fc, AggregateLiteral lit +where + Flow::flow(sl, fc) and + getLastElement(lit) = sl.asDefinition() +select lit, "Calling BCryptEncrypt with a hard-coded IV on function " diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.qhelp new file mode 100644 index 000000000000..b61202a4dbc3 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.qhelp @@ -0,0 +1,14 @@ + + + + +

    Use of KDF algorithm BCryptDeriveKeyPBKDF2 uses insecure hash from BCryptOpenAlgorithmProvider.

    +
    + + +

    Use SHA 256, 384, or 512.

    +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.ql b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.ql new file mode 100644 index 000000000000..27f15531df56 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.ql @@ -0,0 +1,85 @@ +/** + * @name KDF may only use SHA256/384/512 in generating a key. + * @description KDF may only use SHA256/384/512 in generating a key. + * @kind problem + * @id cpp/microsoft/public/kdf-insecure-hash + * @problem.severity error + * @precision high + * @tags security + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow + +module BannedHashAlgorithmConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + // Verify if algorithm is marked as banned. + not source.asExpr().getValue().toString().matches("SHA256") and + not source.asExpr().getValue().toString().matches("SHA384") and + not source.asExpr().getValue().toString().matches("SHA512") + } + + predicate isSink(DataFlow::Node sink) { + exists(FunctionCall call | + // Argument 1 (0-based) specified the algorithm ID. + // NTSTATUS BCryptOpenAlgorithmProvider( + // [out] BCRYPT_ALG_HANDLE *phAlgorithm, + // [in] LPCWSTR pszAlgId, + // [in] LPCWSTR pszImplementation, + // [in] ULONG dwFlags + // ); + sink.asExpr() = call.getArgument(1) and + call.getTarget().hasGlobalName("BCryptOpenAlgorithmProvider") + ) + } +} + +module BannedHashAlgorithmTrace = DataFlow::Global; + +module BCRYPT_ALG_HANDLE_Config implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + exists(FunctionCall call | + // Argument 0 (0-based) specified the algorithm handle + // NTSTATUS BCryptOpenAlgorithmProvider( + // [out] BCRYPT_ALG_HANDLE *phAlgorithm, + // [in] LPCWSTR pszAlgId, + // [in] LPCWSTR pszImplementation, + // [in] ULONG dwFlags + // ); + source.asDefiningArgument() = call.getArgument(0) and + call.getTarget().hasGlobalName("BCryptOpenAlgorithmProvider") + ) + } + + predicate isSink(DataFlow::Node sink) { + // Algorithm handle is the 0th (0-based) argument of the call + // NTSTATUS BCryptDeriveKeyPBKDF2( + // [in] BCRYPT_ALG_HANDLE hPrf, + // [in, optional] PUCHAR pbPassword, + // [in] ULONG cbPassword, + // [in, optional] PUCHAR pbSalt, + // [in] ULONG cbSalt, + // [in] ULONGLONG cIterations, + // [out] PUCHAR pbDerivedKey, + // [in] ULONG cbDerivedKey, + // [in] ULONG dwFlags + // ); + exists(Call c | c.getTarget().getName() = "BCryptDeriveKeyPBKDF2" | + c.getArgument(0) = sink.asExpr() + ) + } +} + +module BCRYPT_ALG_HANDLE_Trace = DataFlow::Global; + +from DataFlow::Node src1, DataFlow::Node src2, DataFlow::Node sink1, DataFlow::Node sink2 +where + BannedHashAlgorithmTrace::flow(src1, sink1) and + exists(Call c | + c.getAnArgument() = sink1.asExpr() and src2.asDefiningArgument() = c.getAnArgument() + | + BCRYPT_ALG_HANDLE_Trace::flow(src2, sink2) + ) +select sink2.asExpr(), + "BCRYPT_ALG_HANDLE is passed to this to KDF derived from insecure hashing function $@. Must use SHA256 or higher.", + src1.asExpr(), src1.asExpr().getValue() diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFLowIterationCount.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFLowIterationCount.qhelp new file mode 100644 index 000000000000..84722ccec5cd --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFLowIterationCount.qhelp @@ -0,0 +1,14 @@ + + + + +

    Use of KDF algorithm BCryptDeriveKeyPBKDF2 uses low iteration count (less than 100k).

    +
    + + +

    Use a minimum of 100,000 for iteration count.

    +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFLowIterationCount.ql b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFLowIterationCount.ql new file mode 100644 index 000000000000..53f7ab79a74d --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFLowIterationCount.ql @@ -0,0 +1,51 @@ +/** + * @name Use iteration count at least 100k to prevent brute force attacks + * @description When deriving cryptographic keys from user-provided inputs such as password, use sufficient iteration count (at least 100k). + * This query traces constants of <100k to the iteration count parameter of CNG's BCryptDeriveKeyPBKDF2. + * This query traces constants of less than the min length to the target parameter. + * NOTE: if the constant is modified, or if a non-constant gets to the iteration count, this query will not flag these cases. + * The rationale currently is that this query is meant to validate common uses of key derivation. + * Non-common uses (modifying the iteration count somehow or getting the count from outside sources) are assumed to be intentional. + * @kind problem + * @id cpp/microsoft/public/kdf-low-iteration-count + * @problem.severity error + * @precision high + * @tags security + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow + +module IterationCountDataFlowConfig implements DataFlow::ConfigSig { + /** + * Defines the source for iteration count when it's coming from a fixed value + * Any expression that has an assigned value < 100000 could be a source. + */ + predicate isSource(DataFlow::Node src) { src.asExpr().getValue().toInt() < 100000 } + + predicate isSink(DataFlow::Node sink) { + // iterations count is the 5th (0-based) argument of the call + // NTSTATUS BCryptDeriveKeyPBKDF2( + // [in] BCRYPT_ALG_HANDLE hPrf, + // [in, optional] PUCHAR pbPassword, + // [in] ULONG cbPassword, + // [in, optional] PUCHAR pbSalt, + // [in] ULONG cbSalt, + // [in] ULONGLONG cIterations, + // [out] PUCHAR pbDerivedKey, + // [in] ULONG cbDerivedKey, + // [in] ULONG dwFlags + // ); + exists(Call c | c.getTarget().getName() = "BCryptDeriveKeyPBKDF2" | + c.getArgument(5) = sink.asExpr() + ) + } +} + +module IterationCountDataFlow = DataFlow::Global; + +from DataFlow::Node src, DataFlow::Node sink +where IterationCountDataFlow::flow(src, sink) +select sink.asExpr(), + "Iteration count $@ is passed to this to KDF. Use at least 100000 iterations when deriving cryptographic key from password.", + src, src.asExpr().getValue() diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.qhelp new file mode 100644 index 000000000000..6927cd16583c --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.qhelp @@ -0,0 +1,14 @@ + + + + +

    Use of KDF algorithm BCryptDeriveKeyPBKDF2 uses small key size (less than 16 bytes).

    +
    + + +

    Use a minimum of 16 bytes for key size.

    +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.ql b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.ql new file mode 100644 index 000000000000..b70e68fba371 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.ql @@ -0,0 +1,46 @@ +/** + * @name Small KDF derived key length. + * @description KDF derived keys should be a minimum of 128 bits (16 bytes). + * This query traces constants of less than the min length to the target parameter. + * NOTE: if the constant is modified, or if a non-constant gets to the target, this query will not flag these cases. + * The rationale currently is that this query is meant to validate common uses of key derivation. + * Non-common uses (modifying the values somehow or getting the count from outside sources) are assumed to be intentional. + * @kind problem + * @id cpp/microsoft/public/kdf-small-key-size + * @problem.severity error + * @precision high + * @tags security + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow + +module KeyLenConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node src) { src.asExpr().getValue().toInt() < 16 } + + predicate isSink(DataFlow::Node sink) { + // Key length size is the 7th (0-based) argument of the call + // NTSTATUS BCryptDeriveKeyPBKDF2( + // [in] BCRYPT_ALG_HANDLE hPrf, + // [in, optional] PUCHAR pbPassword, + // [in] ULONG cbPassword, + // [in, optional] PUCHAR pbSalt, + // [in] ULONG cbSalt, + // [in] ULONGLONG cIterations, + // [out] PUCHAR pbDerivedKey, + // [in] ULONG cbDerivedKey, + // [in] ULONG dwFlags + // ); + exists(Call c | c.getTarget().getName() = "BCryptDeriveKeyPBKDF2" | + c.getArgument(7) = sink.asExpr() + ) + } +} + +module KeyLenTrace = DataFlow::Global; + +from DataFlow::Node src, DataFlow::Node sink +where KeyLenTrace::flow(src, sink) +select sink.asExpr(), + "Key size $@ is passed to this to KDF. Use at least 16 bytes for key length when deriving cryptographic key from password.", + src.asExpr(), src.asExpr().getValue() diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.qhelp b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.qhelp new file mode 100644 index 000000000000..bf664be8d63c --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.qhelp @@ -0,0 +1,15 @@ + + + + +

    Use of KDF algorithm BCryptDeriveKeyPBKDF2 uses small salt size (less than 16 bytes).

    +
    + + +

    Use a minimum of 16 bytes for salt size.

    +
    + + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.ql b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.ql new file mode 100644 index 000000000000..8f42679c584a --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.ql @@ -0,0 +1,46 @@ +/** + * @name Small KDF salt length. + * @description KDF salts should be a minimum of 128 bits (16 bytes). + * This query traces constants of less than the min length to the target parameter. + * NOTE: if the constant is modified, or if a non-constant gets to the target, this query will not flag these cases. + * The rationale currently is that this query is meant to validate common uses of key derivation. + * Non-common uses (modifying the values somehow or getting the count from outside sources) are assumed to be intentional. + * @kind problem + * @id cpp/microsoft/public/kdf-small-salt-size + * @problem.severity error + * @precision high + * @tags security + */ + +import cpp +import semmle.code.cpp.dataflow.new.DataFlow + +module SaltLenConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node src) { src.asExpr().getValue().toInt() < 16 } + + predicate isSink(DataFlow::Node sink) { + // Key length size is the 7th (0-based) argument of the call + // NTSTATUS BCryptDeriveKeyPBKDF2( + // [in] BCRYPT_ALG_HANDLE hPrf, + // [in, optional] PUCHAR pbPassword, + // [in] ULONG cbPassword, + // [in, optional] PUCHAR pbSalt, + // [in] ULONG cbSalt, + // [in] ULONGLONG cIterations, + // [out] PUCHAR pbDerivedKey, + // [in] ULONG cbDerivedKey, + // [in] ULONG dwFlags + // ); + exists(Call c | c.getTarget().getName() = "BCryptDeriveKeyPBKDF2" | + c.getArgument(4) = sink.asExpr() + ) + } +} + +module SaltLenTrace = DataFlow::Global; + +from DataFlow::Node src, DataFlow::Node sink +where SaltLenTrace::flow(src, sink) +select sink.asExpr(), + "Salt size $@ is passed to this to KDF. Use at least 16 bytes for salt size when deriving cryptographic key from password.", + src, src.asExpr().getValue() diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCAPI/BannedModesCAPI1.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCAPI/BannedModesCAPI1.cpp new file mode 100644 index 000000000000..6296e68499bf --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCAPI/BannedModesCAPI1.cpp @@ -0,0 +1,11 @@ +#include +#include +#include + +int main(){ + DWORD ivLen; + HCRYPTKEY hKey; + + //BAD + CryptGetKeyParam(hKey, CRYPT_MODE_ECB, NULL, &ivLen, 0); +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCAPI/BannedModesCAPI2.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCAPI/BannedModesCAPI2.cpp new file mode 100644 index 000000000000..d804432a1237 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCAPI/BannedModesCAPI2.cpp @@ -0,0 +1,11 @@ +#include +#include +#include + +int main(){ + DWORD ivLen; + HCRYPTKEY hKey; + + //OKAY + CryptGetKeyParam(hKey, CRYPT_MODE_CBC, NULL, &ivLen, 0); +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCNG/BannedModesCNG1.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCNG/BannedModesCNG1.cpp new file mode 100644 index 000000000000..45b2e3607b55 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCNG/BannedModesCNG1.cpp @@ -0,0 +1,14 @@ +#include +#include +#include + +int main(){ + BCRYPT_ALG_HANDLE aes; + + //BAD + status = BCryptSetProperty(aes, + BCRYPT_CHAINING_MODE, + (PBYTE)BCRYPT_CHAIN_MODE_ECB, + sizeof(BCRYPT_CHAIN_MODE_ECB), + 0); +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCNG/BannedModesCNG2.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCNG/BannedModesCNG2.cpp new file mode 100644 index 000000000000..5bf92ca87a47 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/BannedModesCNG/BannedModesCNG2.cpp @@ -0,0 +1,14 @@ +#include +#include +#include + +int main(){ + BCRYPT_ALG_HANDLE aes; + + //OKAY + status = BCryptSetProperty(aes, + BCRYPT_CHAINING_MODE, + (PBYTE)BCRYPT_CHAIN_MODE_CBC, + sizeof(BCRYPT_CHAIN_MODE_CBC), + 0); +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption1.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption1.cpp new file mode 100644 index 000000000000..bdaaa7056ec5 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption1.cpp @@ -0,0 +1,14 @@ +#include +#include +#include + +int main(){ + HCRYPTPROV hCryptProv; + HCRYPTKEY hKey; + + //BAD + if(CryptGenKey( hCryptProv, CALG_DES_128, KEYLENGTH | CRYPT_EXPORTABLE, &hKey)) + { + printf("A session key has been created.\n"); + } +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption2.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption2.cpp new file mode 100644 index 000000000000..7e20995e8c95 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption2.cpp @@ -0,0 +1,14 @@ +#include +#include +#include + +int main(){ + HCRYPTPROV hCryptProv; + HCRYPTKEY hKey; + + //OKAY + if(CryptGenKey( hCryptProv, CALG_AES_128, KEYLENGTH | CRYPT_EXPORTABLE, &hKey)) + { + printf("A session key has been created.\n"); + } +} diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption3.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption3.cpp new file mode 100644 index 000000000000..e0ee60d830f9 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption3.cpp @@ -0,0 +1,12 @@ +#include +#include +#include + +int main(){ + BCRYPT_ALG_HANDLE hAlg; + NTSTATUS status; + //BAD + status = BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_DES_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); +} + + diff --git a/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption4.cpp b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption4.cpp new file mode 100644 index 000000000000..57d8e0bb9675 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Cryptography/examples/WeakEncryption/WeakEncryption4.cpp @@ -0,0 +1,12 @@ +#include +#include +#include + +int main(){ + BCRYPT_ALG_HANDLE hAlg; + NTSTATUS status; + //OKAY + status = BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_AES_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); +} + + diff --git a/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.c b/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.c new file mode 100644 index 000000000000..dead60efd5fd --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.c @@ -0,0 +1,15 @@ +typedef enum { + exampleSomeValue, + exampleSomeOtherValue, + exampleValueMax +} EXAMPLE_VALUES; + +/*...*/ + +int variable = someStructure->example; +if (variable >= exampleValueMax) +{ + /* ... Some action ... */ +} +// ... +Status = someArray[variable](/*...*/); \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.qhelp b/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.qhelp new file mode 100644 index 000000000000..3f3f6b8c4ab6 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.qhelp @@ -0,0 +1,24 @@ + + + +

    This rule finds code where an enumerated type (enum) is used to check for an upper boundary, but not the lower boundary, and the value is used as an index to access an array.

    +

    By default an enum variable is signed, and therefore it is important to ensure that it cannot take on a negative value. When the enum is subsequently used to index an array, or worse still an array of function pointers, then a negative enum value would lead to potentially arbitrary memory being read, used and/or executed.

    +
    + +

    In the majority of cases the fix is simply to add the required lower bounds check to ensure that the enum has a positive value.

    +
    + + +

    The following example a value is passed and gets cast to an enumerated type and only partially bounds checked.

    + +

    In this example, the result of the out-of-bounds may allow for arbitrary code execution.

    +

    To fix the problem in this example, you need to add an additional check to the guarding if statement to verify that the index is a positive value.

    +
    + + + + + +
    diff --git a/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.ql b/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.ql new file mode 100644 index 000000000000..963538355c0b --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.ql @@ -0,0 +1,122 @@ +/** + * @name EnumIndex + * @description Code using enumerated types as indexes into arrays will often check for + * an upper bound to ensure the index is not out of range. + * By default an enum variable is signed, and therefore it is important to ensure + * that it cannot take on a negative value. When the enum is subsequently used + * to index an array, or worse still an array of function pointers, then a negative + * enum value would lead to potentially arbitrary memory being read, used and/or executed. + * @kind problem + * @problem.severity error + * @precision high + * @id cpp/microsoft/public/enum-index + * @tags security + * external/cwe/cwe-125 + * external/microsoft/c33010 + */ + +import cpp +import semmle.code.cpp.controlflow.Guards +private import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils +import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis + +/** + * Holds if `ec` is the upper bound of an enum + */ +predicate isUpperBoundEnumValue(EnumConstant ec) { + not exists(EnumConstant ec2, Enum enum | enum = ec2.getEnclosingElement() | + enum = ec.getEnclosingElement() and + ec2.getValue().toInt() > ec.getValue().toInt() + ) +} + +/** + * Holds if 'eca' is an access to the upper bound of an enum + */ +predicate isUpperBoundEnumAccess(EnumConstantAccess eca) { + exists(EnumConstant ec | + varbind(eca, ec) and + isUpperBoundEnumValue(ec) + ) +} + +/** + * Holds if the expression `e` is accessing the enum constant `ec` + */ +predicate isExpressionAccessingUpperboundEnum(Expr e, EnumConstantAccess ec) { + isExpressionAccessingUpperboundEnum(e.getAChild(), ec) + or + ec = e and + isUpperBoundEnumAccess(ec) +} + +/** + * Holds if `e` is a child of an If statement + */ +predicate isPartOfAnIfStatement(Expr e) { + isPartOfAnIfStatement(e.getAChild()) + or + exists(IfStmt ifs | ifs.getAChild() = e) +} + +/** + * Holds if the variable access `offsetExpr` upper bound is guarded by an If statement GuardCondition + * that is using the upper bound of an enum to check the upper bound of `offsetExpr` + */ +predicate hasUpperBoundDefinedByEnum(VariableAccess offsetExpr) { + exists(BasicBlock controlled, StackVariable offsetVar, SsaDefinition def | + controlled.contains(offsetExpr) and + linearBoundControlsEnum(controlled, def, offsetVar, Lesser()) and + offsetExpr = def.getAUse(offsetVar) + ) +} + +pragma[noinline] +predicate linearBoundControlsEnum( + BasicBlock controlled, SsaDefinition def, StackVariable offsetVar, RelationDirection direction +) { + exists(GuardCondition guard | + exists(boolean branch | + guard.controls(controlled, branch) and + cmpWithLinearBound(guard, def.getAUse(offsetVar), direction, branch) + ) and + exists(EnumConstantAccess enumca | isExpressionAccessingUpperboundEnum(guard, enumca)) and + isPartOfAnIfStatement(guard) + ) +} + +/** + * Holds if the variable access `offsetExpr` lower bound is guarded + */ +predicate hasLowerBound(VariableAccess offsetExpr) { + exists(BasicBlock controlled, StackVariable offsetVar, SsaDefinition def | + controlled.contains(offsetExpr) and + linearBoundControls(controlled, def, offsetVar, Greater()) and + offsetExpr = def.getAUse(offsetVar) + ) +} + +pragma[noinline] +predicate linearBoundControls( + BasicBlock controlled, SsaDefinition def, StackVariable offsetVar, RelationDirection direction +) { + exists(GuardCondition guard, boolean branch | + guard.controls(controlled, branch) and + cmpWithLinearBound(guard, def.getAUse(offsetVar), direction, branch) and + isPartOfAnIfStatement(guard) + ) +} + +from VariableAccess offset, ArrayExpr array +where + offset = array.getArrayOffset() and + hasUpperBoundDefinedByEnum(offset) and + not hasLowerBound(offset) and + exists(IntegralType t | + t = offset.getUnderlyingType() and + not t.isUnsigned() + ) and + lowerBound(offset.getFullyConverted()) < 0 +select offset, + "When accessing array " + array.getArrayBase() + " with index " + offset + + ", the upper bound of an enum is used to check the upper bound of the array, but the lower bound is not checked." diff --git a/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.qhelp b/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.qhelp new file mode 100644 index 000000000000..e34d26933823 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.qhelp @@ -0,0 +1,29 @@ + + + + +

    Hard-coding security protocols rather than specifying the system default is risky because the protocol may become deprecated in future.

    +

    The grbitEnabledProtocols member of the SCHANNEL_CRED struct contains a bit string that represents the protocols supported by connections made with credentials acquired by using this structure. If this member is zero, Schannel selects the protocol. Applications should set grbitEnabledProtocols to zero and use the protocol versions enabled on the system by default.

    +
    + + +

    - Set the grbitEnabledProtocols member of the SCHANNEL_CRED struct to 0.

    +
    + + +

    Violation:

    + + + +

    Solution:

    + + +
    + + +
  • Microsoft Docs: SCHANNEL_CRED structure.
  • +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.ql b/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.ql new file mode 100644 index 000000000000..64c1be93c24e --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.ql @@ -0,0 +1,19 @@ +/** + * @name Hard-coded use of a security protocol + * @description Hard-coding the security protocol used rather than specifying the system default is + * risky because the protocol may become deprecated in future. + * @kind problem + * @problem.severity warning + * @id cpp/microsoft/public/hardcoded-security-protocol + */ + +import cpp +import HardCodedSecurityProtocol + +from ProtocolConstant constantValue, DataFlow::Node grbitEnabledProtocolsAssignment +where + GrbitEnabledConstantTace::flow(DataFlow::exprNode(constantValue), grbitEnabledProtocolsAssignment) and + constantValue.isHardcodedProtocol() +select constantValue, + "Hard-coded use of security protocol " + getConstantName(constantValue) + " set here $@.", + grbitEnabledProtocolsAssignment, grbitEnabledProtocolsAssignment.toString() diff --git a/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.qll b/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.qll new file mode 100644 index 000000000000..1cc71668ccbe --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/HardCodedSecurityProtocol.qll @@ -0,0 +1,140 @@ +import cpp +import semmle.code.cpp.dataflow.new.TaintTracking + +/** + * A constant representing one or more security protocols for the `grbitEnabledProtocols` field. + */ +class ProtocolConstant extends Expr { + ProtocolConstant() { + this.isConstant() and + GrbitEnabledConstantTace::flow(DataFlow::exprNode(this), _) and + ( + this instanceof Literal + or + this = any(ConstantMacroInvocation mi).getExpr() + or + // This is a workaround for folded constants, which currently have no + // dataflow node representation. Attach to the outermost dataflow node + // where a literal exists as a child that has no dataflow node representation. + exists(Literal l | + this.getAChild*() = l and + not exists(DataFlow::Node n | n.asExpr() = l) + ) + ) + } + + /** Gets the bitmask represented by this constant. */ + int getBitmask() { result = this.getValue().toInt() } + + /** Holds if this constant only represents TLS1.3 protocols. */ + predicate isTLS1_3Only() { + // Flags for TLS1.3 are 0x00001000 and 0x00002000 + // 12288 = 0x00001000 | 0x00002000 + this.getBitmask().bitAnd(12288.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents TLS1.2 protocols. */ + predicate isTLS1_2Only() { + // Flags for TLS1.2 are 0x00000400 and 0x00000800 + // 3072 = 0x00000400 | 0x00000800 + this.getBitmask().bitAnd(3072.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents TLS1.1 protocols. */ + predicate isTLS1_1Only() { + // Flags for TLS1.1 are 0x00000100 and 0x00000200 + // 768 = 0x00000100 | 0x00000200 + this.getBitmask().bitAnd(768.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents TLS1.0 protocols. */ + predicate isTLS1_0Only() { + // Flags for TLS1.0 are 0x00000040 and 0x00000080 + // 192 = 0x00000040 | 0x00000080 + this.getBitmask().bitAnd(192.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents TLS1.1 protocols. */ + predicate isSSL3Only() { + // Flags for SSL3 are 0x00000010 and 0x00000020 + // 48 = 0x00000010 | 0x00000020 + this.getBitmask().bitAnd(48.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents SSL2 protocols. */ + predicate isSSL2Only() { + // Flags for TLS1.0 are 0x00000004 and 0x00000008 + // 12 = 0x00000004 | 0x00000008 + this.getBitmask().bitAnd(12.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents PCT1 protocols. */ + predicate isPCT1Only() { + // Flags for PCT are 0x00000001 and 0x00000002 + // 3 = 0x00000001 | 0x00000002 + this.getBitmask().bitAnd(3.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant only represents any combination of TLS-related protocols. */ + predicate isHardcodedProtocol() { + // 16383 = SP_PROT_TLS1_3 | SP_PROT_TLS1_2 | SP_PROT_TLS1_1 | SP_PROT_TLS1_3 + // | SP_PROT_TLS1 | SP_PROT_SSL3 | SP_PROT_SSL2 | SP_PROT_PCT1 + this.getBitmask().bitAnd(16383.bitNot()) = 0 and + not this.isSystemDefault() + } + + /** Holds if this constant represents the system default protocol. */ + predicate isSystemDefault() { this.getBitmask() = 0 } +} + +/** + * A data flow configuration that tracks from constant values to assignments to the + * `grbitEnabledProtocols` field on the SCHANNEL_CRED structure. + */ +module GrbitEnabledConstantConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source.asExpr().isConstant() } + + predicate isSink(DataFlow::Node sink) { + exists(Field grbitEnabledProtocols | + grbitEnabledProtocols.hasName("grbitEnabledProtocols") and + sink.asExpr() = grbitEnabledProtocols.getAnAssignedValue() + ) + } + + predicate isBarrier(DataFlow::Node node) { + // Do not flow through other macro invocations if they would, themselves, be represented + node.asExpr() = any(ConstantMacroInvocation mi).getExpr().getAChild+() + or + // Do not flow through complements, as they change the meaning + node.asExpr() instanceof ComplementExpr + } +} + +module GrbitEnabledConstantTace = TaintTracking::Global; + +/** + * A macro that represents a constant value. + */ +class ConstantMacroInvocation extends MacroInvocation { + ConstantMacroInvocation() { + exists(this.getExpr().getValue()) and + not this.getMacro().getHead().matches("%(%)%") + } +} + +/** + * Gets the name of the constant `val`, if it is a constant. + */ +string getConstantName(Expr val) { + exists(val.getValue()) and + if exists(ConstantMacroInvocation mi | mi.getExpr() = val) + then result = any(ConstantMacroInvocation mi | mi.getExpr() = val).getMacroName() + else result = val.toString() +} diff --git a/cpp/ql/src/Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.qhelp b/cpp/ql/src/Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.qhelp new file mode 100644 index 000000000000..0876a4e50439 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.qhelp @@ -0,0 +1,29 @@ + + + + +

    Older protocol versions of TLS are less secure than TLS 1.2 and TLS 1.3 and are more likely to have new vulnerabilities. Avoid older protocol versions to minimize risk.

    +

    The grbitEnabledProtocols member of the SCHANNEL_CRED struct contains a bit string that represents the protocols supported by connections made with credentials acquired by using this structure. If this member is zero, Schannel selects the protocol. Applications should set grbitEnabledProtocols to zero and use the protocol versions enabled on the system by default.

    +
    + + +

    - Set the grbitEnabledProtocols member of the SCHANNEL_CRED struct to 0.

    +
    + + +

    Violation:

    + + + +

    Solution:

    + + +
    + + +
  • Microsoft Docs: SCHANNEL_CRED structure.
  • +
    + +
    \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.ql b/cpp/ql/src/Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.ql new file mode 100644 index 000000000000..f9d957e15e26 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.ql @@ -0,0 +1,21 @@ +/** + * @name Hard-coded use of a deprecated security protocol + * @description Using a deprecated security protocol rather than the system default is risky. + * @kind problem + * @problem.severity error + * @id cpp/microsoft/public/use-of-deprecated-security-protocol + */ + +import cpp +import HardCodedSecurityProtocol + +from ProtocolConstant constantValue, DataFlow::Node grbitEnabledProtocolsAssignment +where + GrbitEnabledConstantTace::flow(DataFlow::exprNode(constantValue), grbitEnabledProtocolsAssignment) and + // If the system default hasn't been specified, and TLS2 has not been specified, then this is a deprecated security protocol + not constantValue.isSystemDefault() and + not constantValue.isTLS1_2Only() and + not constantValue.isTLS1_3Only() +select constantValue, + "Hard-coded use of deprecated security protocol " + getConstantName(constantValue) + + " set here $@.", constantValue, getConstantName(constantValue) diff --git a/cpp/ql/src/Microsoft/Security/Protocols/examples/HardCodedSecurityProtocol/HardCodedSecurityProtocol1.cpp b/cpp/ql/src/Microsoft/Security/Protocols/examples/HardCodedSecurityProtocol/HardCodedSecurityProtocol1.cpp new file mode 100644 index 000000000000..3ad2eca405bb --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/examples/HardCodedSecurityProtocol/HardCodedSecurityProtocol1.cpp @@ -0,0 +1,18 @@ +#include +#include +#include +#include +#include + +void HardCodedSecurityProtocolGood() +{ + + SCHANNEL_CRED credData; + ZeroMemory(&credData, sizeof(credData)); + + // BAD: hardcoded protocols + credData.grbitEnabledProtocols = SP_PROT_TLS1_2; + credData.grbitEnabledProtocols = SP_PROT_TLS1_3; + + return; +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Protocols/examples/HardCodedSecurityProtocol/HardCodedSecurityProtocol2.cpp b/cpp/ql/src/Microsoft/Security/Protocols/examples/HardCodedSecurityProtocol/HardCodedSecurityProtocol2.cpp new file mode 100644 index 000000000000..7f5318248ef1 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/examples/HardCodedSecurityProtocol/HardCodedSecurityProtocol2.cpp @@ -0,0 +1,17 @@ +#include +#include +#include +#include +#include + +void HardCodedSecurityProtocolGood() +{ + + SCHANNEL_CRED credData; + ZeroMemory(&credData, sizeof(credData)); + + // GOOD: system default protocol + credData.grbitEnabledProtocols = 0; + + return; +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Protocols/examples/UseOfDeprecatedSecurityProtocol/UseOfDeprecatedSecurityProtocol1.cpp b/cpp/ql/src/Microsoft/Security/Protocols/examples/UseOfDeprecatedSecurityProtocol/UseOfDeprecatedSecurityProtocol1.cpp new file mode 100644 index 000000000000..d9b0ddc4af74 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/examples/UseOfDeprecatedSecurityProtocol/UseOfDeprecatedSecurityProtocol1.cpp @@ -0,0 +1,23 @@ +#include +#include +#include +#include +#include + +void UseOfDeprecatedSecurityProtocolGood() +{ + + SCHANNEL_CRED credData; + ZeroMemory(&credData, sizeof(credData)); + + // BAD: Deprecated protocols + credData.grbitEnabledProtocols = SP_PROT_PCT1_SERVER; + credData.grbitEnabledProtocols = SP_PROT_SSL2_SERVER; + credData.grbitEnabledProtocols = SP_PROT_SSL3_SERVER; + credData.grbitEnabledProtocols = SP_PROT_TLS1_1; + credData.grbitEnabledProtocols = SP_PROT_TLS1_1_SERVER; + credData.grbitEnabledProtocols = SP_PROT_TLS1_1_CLIENT; + credData.grbitEnabledProtocols = SP_PROT_SSL3TLS1; + + return; +} \ No newline at end of file diff --git a/cpp/ql/src/Microsoft/Security/Protocols/examples/UseOfDeprecatedSecurityProtocol/UseOfDeprecatedSecurityProtocol2.cpp b/cpp/ql/src/Microsoft/Security/Protocols/examples/UseOfDeprecatedSecurityProtocol/UseOfDeprecatedSecurityProtocol2.cpp new file mode 100644 index 000000000000..7f5318248ef1 --- /dev/null +++ b/cpp/ql/src/Microsoft/Security/Protocols/examples/UseOfDeprecatedSecurityProtocol/UseOfDeprecatedSecurityProtocol2.cpp @@ -0,0 +1,17 @@ +#include +#include +#include +#include +#include + +void HardCodedSecurityProtocolGood() +{ + + SCHANNEL_CRED credData; + ZeroMemory(&credData, sizeof(credData)); + + // GOOD: system default protocol + credData.grbitEnabledProtocols = 0; + + return; +} \ No newline at end of file diff --git a/cpp/ql/src/Security/CWE/CWE-114/UncontrolledProcessOperation.ql b/cpp/ql/src/Security/CWE/CWE-114/UncontrolledProcessOperation.ql index aedb21da5167..7d2513d25e33 100644 --- a/cpp/ql/src/Security/CWE/CWE-114/UncontrolledProcessOperation.ql +++ b/cpp/ql/src/Security/CWE/CWE-114/UncontrolledProcessOperation.ql @@ -23,7 +23,7 @@ predicate isProcessOperationExplanation(DataFlow::Node arg, string processOperat exists(int processOperationArg, FunctionCall call | isProcessOperationArgument(processOperation, processOperationArg) and call.getTarget().getName() = processOperation and - call.getArgument(processOperationArg) = [arg.asExpr(), arg.asIndirectExpr()] + call.getArgument(processOperationArg) = arg.asIndirectExpr() ) } diff --git a/cpp/ql/src/Security/CWE/CWE-129/ImproperArrayIndexValidation.ql b/cpp/ql/src/Security/CWE/CWE-129/ImproperArrayIndexValidation.ql index 17c1b09c3e68..463d6e583bd3 100644 --- a/cpp/ql/src/Security/CWE/CWE-129/ImproperArrayIndexValidation.ql +++ b/cpp/ql/src/Security/CWE/CWE-129/ImproperArrayIndexValidation.ql @@ -51,7 +51,10 @@ predicate offsetIsAlwaysInBounds(ArrayExpr arrayExpr, VariableAccess offsetExpr) } module ImproperArrayIndexValidationConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { isFlowSource(source, _) } + predicate isSource(DataFlow::Node source) { + isFlowSource(source, _) and + not source.getLocation().getFile().getRelativePath().regexpMatch("(.*/)?tests?/.*") + } predicate isBarrier(DataFlow::Node node) { node = DataFlow::BarrierGuard::getABarrierNode() @@ -73,7 +76,8 @@ module ImproperArrayIndexValidationConfig implements DataFlow::ConfigSig { module ImproperArrayIndexValidation = TaintTracking::Global; from - ImproperArrayIndexValidation::PathNode source, ImproperArrayIndexValidation::PathNode sink, + ImproperArrayIndexValidation::PathNode source, + ImproperArrayIndexValidation::PathNode sink, string sourceType where ImproperArrayIndexValidation::flowPath(source, sink) and diff --git a/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql b/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql index e3f15bd12b5d..6fc91c1d6699 100644 --- a/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql +++ b/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql @@ -14,6 +14,7 @@ import cpp import semmle.code.cpp.controlflow.Guards +import semmle.code.cpp.ir.IR class WideCharPointerType extends PointerType { WideCharPointerType() { this.getBaseType() instanceof WideCharType } @@ -108,7 +109,9 @@ where // Avoid cases where the cast is guarded by a check to determine if // unicode encoding is enabled in such a way to disallow the dangerous cast // at runtime. - not isLikelyDynamicallyChecked(e1) + not isLikelyDynamicallyChecked(e1) and + // Avoid cases in unreachable blocks. + any(EnterFunctionInstruction e).getASuccessor+().getAst() = e1 select e1, "Conversion from " + e1.getType().toString() + " to " + e2.getType().toString() + ". Use of invalid string can lead to undefined behavior." diff --git a/cpp/ql/src/change-notes/2025-06-20-sql-injection-models.md b/cpp/ql/src/change-notes/2025-06-20-sql-injection-models.md deleted file mode 100644 index ebb517d0a395..000000000000 --- a/cpp/ql/src/change-notes/2025-06-20-sql-injection-models.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The query `cpp/sql-injection` now can be extended using the `sql-injection` Models as Data (MaD) sink kind. \ No newline at end of file diff --git a/cpp/ql/src/change-notes/2025-07-01-global-vars-ubi-query-fixes.md.md b/cpp/ql/src/change-notes/2025-07-01-global-vars-ubi-query-fixes.md.md deleted file mode 100644 index b5ab2362bf43..000000000000 --- a/cpp/ql/src/change-notes/2025-07-01-global-vars-ubi-query-fixes.md.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Fixed a number of false positives and false negatives in `cpp/global-use-before-init`. Note that this query is not part of any of the default query suites. diff --git a/cpp/ql/src/change-notes/released/1.4.1.md b/cpp/ql/src/change-notes/released/1.4.1.md index 7d1ba66b92ed..d055555fba05 100644 --- a/cpp/ql/src/change-notes/released/1.4.1.md +++ b/cpp/ql/src/change-notes/released/1.4.1.md @@ -2,4 +2,4 @@ ### Minor Analysis Improvements -* Added flow model for the `SQLite` and `OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries. +* Added flow models for the `SQLite` and `OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries. diff --git a/cpp/ql/src/change-notes/released/1.4.3.md b/cpp/ql/src/change-notes/released/1.4.3.md index 2280196429bd..46933b3c4e8b 100644 --- a/cpp/ql/src/change-notes/released/1.4.3.md +++ b/cpp/ql/src/change-notes/released/1.4.3.md @@ -2,4 +2,4 @@ ### Minor Analysis Improvements -* Added flow model for the following libraries: `madler/zlib`, `google/brotli`, `libidn/libidn2`, `libssh2/libssh2/`, `nghttp2/nghttp2`, `libuv/libuv/`, and `curl/curl`. This may result in more alerts when running queries on codebases that use these libraries. +* Added flow models for the following libraries: `madler/zlib`, `google/brotli`, `libidn/libidn2`, `libssh2/libssh2`, `nghttp2/nghttp2`, `libuv/libuv`, and `curl/curl`. This may result in more alerts when running queries on codebases that use these libraries. diff --git a/cpp/ql/src/change-notes/released/1.4.4.md b/cpp/ql/src/change-notes/released/1.4.4.md new file mode 100644 index 000000000000..87e1b909fbb9 --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.4.4.md @@ -0,0 +1,12 @@ +## 1.4.4 + +### Minor Analysis Improvements + +* Due to changes in the `FunctionWithWrappers` library (`semmle.code.cpp.security.FunctionWithWrappers`) the primary alert location generated by the queries `cpp/path-injection`, `cpp/sql-injection`, `cpp/tainted-format-string`, and `cpp/command-line-injection` may have changed. +* Added flow models for the Win32 API functions `CreateThread`, `CreateRemoteThread`, and `CreateRemoteThreadEx`. +* Improved support for dataflow through function objects and lambda expressions. +* Added flow models for `pthread_create` and `std::thread`. +* The `cpp/incorrect-string-type-conversion` query no longer alerts on incorrect type conversions that occur in unreachable code. +* Added flow models for the GNU C Library. +* Fixed a number of false positives and false negatives in `cpp/global-use-before-init`. Note that this query is not part of any of the default query suites. +* The query `cpp/sql-injection` now can be extended using the `sql-injection` Models as Data (MaD) sink kind. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 08f88b689fb6..1dfca6daa3b1 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.4.3 +lastReleaseVersion: 1.4.4 diff --git a/cpp/ql/src/experimental/cryptography/example_alerts/WeakEncryption.ql b/cpp/ql/src/experimental/cryptography/example_alerts/WeakEncryption.ql index d8d5c4e4a566..a29a620675d4 100644 --- a/cpp/ql/src/experimental/cryptography/example_alerts/WeakEncryption.ql +++ b/cpp/ql/src/experimental/cryptography/example_alerts/WeakEncryption.ql @@ -2,7 +2,7 @@ * @name Weak cryptography * @description Finds explicit uses of symmetric encryption algorithms that are weak, unknown, or otherwise unaccepted. * @kind problem - * @id cpp/weak-crypto/banned-encryption-algorithms + * @id cpp/experimental/weak-crypto/banned-encryption-algorithms * @problem.severity error * @precision high * @tags external/cwe/cwe-327 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index ade2daeb369a..c77f630faad6 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.4.4-dev +version: 1.4.4 groups: - cpp - queries diff --git a/cpp/ql/test/library-tests/dataflow/asExpr/test.cpp b/cpp/ql/test/library-tests/dataflow/asExpr/test.cpp index fc9a4e6be082..8df12588fa59 100644 --- a/cpp/ql/test/library-tests/dataflow/asExpr/test.cpp +++ b/cpp/ql/test/library-tests/dataflow/asExpr/test.cpp @@ -37,4 +37,21 @@ void test_aggregate_literal() { int xs[] = {1, 2, 3}; // $ asExpr=1 asExpr=2 asExpr=3 asExpr={...} const int ys[] = {[0] = 4, [1] = 5, [0] = 6}; // $ asExpr=4 asExpr=5 asExpr=6 asExpr={...} -} \ No newline at end of file +} + +void test_postfix_crement(int *p, int q) { + p++; // $ asExpr="... ++" asIndirectExpr="... ++" asExpr=p asIndirectExpr=p + q++; // $ asExpr="... ++" asExpr=q + (p++); // $ asExpr="... ++" asIndirectExpr="... ++" asExpr="p(... ++)" asIndirectExpr="p(*... ++)" + (q++); // $ asExpr="... ++" asExpr="q(... ++)" + (void)(p++); // $ asExpr="p(... ++)" asIndirectExpr="p(*... ++)" + (void)(q++); // $ asExpr="q(... ++)" + (void)p++; // $ asExpr="p(... ++)" asIndirectExpr="p(*... ++)" + (void)q++; // $ asExpr="q(... ++)" + int *p1 = p++; // $ asExpr="... ++" asIndirectExpr="... ++" asExpr="p(... ++)" asIndirectExpr="p(*... ++)" + int q1 = q++; // $ asExpr="... ++" asExpr="q(... ++)" + (int*)(p++); // $ asExpr="... ++" asIndirectExpr="... ++" asExpr="p(... ++)" asIndirectExpr="p(*... ++)" + (int)(q++); // $ asExpr="... ++" asExpr="q(... ++)" + int *p2 = (int*)(p++); // $ asExpr="... ++" asIndirectExpr="... ++" asExpr="p(... ++)" asIndirectExpr="p(*... ++)" + int q2 = (int)(q++); // $ asExpr="... ++" asExpr="q(... ++)" +} diff --git a/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-consistency.expected b/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-consistency.expected index 9492b7dd2760..9abcd6eeee78 100644 --- a/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-consistency.expected +++ b/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-consistency.expected @@ -6,9 +6,15 @@ uniqueEnclosingCallable | test.cpp:1126:33:1129:1 | {...} | Node should have one enclosing callable but has 0. | | test.cpp:1127:3:1127:13 | reads_input | Node should have one enclosing callable but has 0. | | test.cpp:1128:3:1128:21 | not_does_read_input | Node should have one enclosing callable but has 0. | +| test.cpp:1158:18:1158:21 | call to sink | Node should have one enclosing callable but has 0. | +| test.cpp:1158:18:1158:42 | ... , ... | Node should have one enclosing callable but has 0. | +| test.cpp:1158:23:1158:31 | recursion | Node should have one enclosing callable but has 0. | +| test.cpp:1158:35:1158:40 | call to source | Node should have one enclosing callable but has 0. | uniqueCallEnclosingCallable | test.cpp:864:47:864:54 | call to source | Call should have one enclosing callable but has 0. | | test.cpp:872:46:872:51 | call to source | Call should have one enclosing callable but has 0. | +| test.cpp:1158:18:1158:21 | call to sink | Call should have one enclosing callable but has 0. | +| test.cpp:1158:35:1158:40 | call to source | Call should have one enclosing callable but has 0. | uniqueType uniqueNodeLocation missingLocation diff --git a/cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql b/cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql index 34afffd8e589..8f534be558d7 100644 --- a/cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql +++ b/cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql @@ -24,10 +24,9 @@ module AstTest { module IRTest { private import semmle.code.cpp.ir.dataflow.DataFlow - private import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil private string stars(int k) { - k = [0 .. max(FinalParameterNode n | | n.getIndirectionIndex())] and + k = [0 .. max(DataFlow::Node n, int i | n.isFinalValueOfParameter(_, i) | i)] and (if k = 0 then result = "" else result = "*" + stars(k - 1)) } @@ -35,14 +34,14 @@ module IRTest { string getARelevantTag() { result = "ir-def" } predicate hasActualResult(Location location, string element, string tag, string value) { - exists(Function f, Parameter p, FinalParameterNode n | + exists(Function f, Parameter p, DataFlow::Node n, int i | p.isNamed() and - n.getParameter() = p and + n.isFinalValueOfParameter(p, i) and n.getFunction() = f and location = f.getLocation() and element = p.toString() and tag = "ir-def" and - value = stars(n.getIndirectionIndex()) + p.getName() + value = stars(i) + p.getName() ) } } diff --git a/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp b/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp index a65659191fb8..b804159d8583 100644 --- a/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp +++ b/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp @@ -1153,4 +1153,6 @@ namespace conflation_regression { *p = source(0); read_deref_deref(p); } -} \ No newline at end of file +} + +int recursion = (sink(recursion), source()); // clean \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected index 40b9275766c7..bf9a4ed28d01 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.expected @@ -17,13 +17,18 @@ models | 16 | Source: ; ; false; ymlSource; ; ; ReturnValue; local; manual | | 17 | Source: boost::asio; ; false; read_until; ; ; Argument[*1]; remote; manual | | 18 | Summary: ; ; false; CommandLineToArgvA; ; ; Argument[*0]; ReturnValue[**]; taint; manual | -| 19 | Summary: ; ; false; ReadFileEx; ; ; Argument[*3].Field[@hEvent]; Argument[4].Parameter[*2].Field[@hEvent]; value; manual | -| 20 | Summary: ; ; false; ymlStepGenerated; ; ; Argument[0]; ReturnValue; taint; df-generated | -| 21 | Summary: ; ; false; ymlStepManual; ; ; Argument[0]; ReturnValue; taint; manual | -| 22 | Summary: ; ; false; ymlStepManual_with_body; ; ; Argument[0]; ReturnValue; taint; manual | -| 23 | Summary: boost::asio; ; false; buffer; ; ; Argument[*0]; ReturnValue; taint; manual | +| 19 | Summary: ; ; false; CreateRemoteThread; ; ; Argument[@4]; Argument[3].Parameter[@0]; value; manual | +| 20 | Summary: ; ; false; CreateRemoteThreadEx; ; ; Argument[@4]; Argument[3].Parameter[@0]; value; manual | +| 21 | Summary: ; ; false; CreateThread; ; ; Argument[@3]; Argument[2].Parameter[@0]; value; manual | +| 22 | Summary: ; ; false; ReadFileEx; ; ; Argument[*3].Field[@hEvent]; Argument[4].Parameter[*2].Field[@hEvent]; value; manual | +| 23 | Summary: ; ; false; callWithArgument; ; ; Argument[1]; Argument[0].Parameter[0]; value; manual | +| 24 | Summary: ; ; false; pthread_create; ; ; Argument[@3]; Argument[2].Parameter[@0]; value; manual | +| 25 | Summary: ; ; false; ymlStepGenerated; ; ; Argument[0]; ReturnValue; taint; df-generated | +| 26 | Summary: ; ; false; ymlStepManual; ; ; Argument[0]; ReturnValue; taint; manual | +| 27 | Summary: ; ; false; ymlStepManual_with_body; ; ; Argument[0]; ReturnValue; taint; manual | +| 28 | Summary: boost::asio; ; false; buffer; ; ; Argument[*0]; ReturnValue; taint; manual | edges -| asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | asio_streams.cpp:56:18:56:23 | [summary] to write: ReturnValue in buffer | provenance | MaD:23 | +| asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | asio_streams.cpp:56:18:56:23 | [summary] to write: ReturnValue in buffer | provenance | MaD:28 | | asio_streams.cpp:87:34:87:44 | read_until output argument | asio_streams.cpp:91:7:91:17 | recv_buffer | provenance | Src:MaD:17 | | asio_streams.cpp:87:34:87:44 | read_until output argument | asio_streams.cpp:93:29:93:39 | *recv_buffer | provenance | Src:MaD:17 Sink:MaD:2 | | asio_streams.cpp:97:37:97:44 | call to source | asio_streams.cpp:98:7:98:14 | send_str | provenance | TaintFunction | @@ -32,10 +37,10 @@ edges | asio_streams.cpp:100:44:100:62 | call to buffer | asio_streams.cpp:101:7:101:17 | send_buffer | provenance | | | asio_streams.cpp:100:44:100:62 | call to buffer | asio_streams.cpp:103:29:103:39 | *send_buffer | provenance | Sink:MaD:2 | | asio_streams.cpp:100:64:100:71 | *send_str | asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | provenance | | -| asio_streams.cpp:100:64:100:71 | *send_str | asio_streams.cpp:100:44:100:62 | call to buffer | provenance | MaD:23 | -| test.cpp:4:5:4:17 | [summary param] 0 in ymlStepManual | test.cpp:4:5:4:17 | [summary] to write: ReturnValue in ymlStepManual | provenance | MaD:21 | -| test.cpp:5:5:5:20 | [summary param] 0 in ymlStepGenerated | test.cpp:5:5:5:20 | [summary] to write: ReturnValue in ymlStepGenerated | provenance | MaD:20 | -| test.cpp:6:5:6:27 | [summary param] 0 in ymlStepManual_with_body | test.cpp:6:5:6:27 | [summary] to write: ReturnValue in ymlStepManual_with_body | provenance | MaD:22 | +| asio_streams.cpp:100:64:100:71 | *send_str | asio_streams.cpp:100:44:100:62 | call to buffer | provenance | MaD:28 | +| test.cpp:4:5:4:17 | [summary param] 0 in ymlStepManual | test.cpp:4:5:4:17 | [summary] to write: ReturnValue in ymlStepManual | provenance | MaD:26 | +| test.cpp:5:5:5:20 | [summary param] 0 in ymlStepGenerated | test.cpp:5:5:5:20 | [summary] to write: ReturnValue in ymlStepGenerated | provenance | MaD:25 | +| test.cpp:6:5:6:27 | [summary param] 0 in ymlStepManual_with_body | test.cpp:6:5:6:27 | [summary] to write: ReturnValue in ymlStepManual_with_body | provenance | MaD:27 | | test.cpp:7:47:7:52 | value2 | test.cpp:7:64:7:69 | value2 | provenance | | | test.cpp:7:64:7:69 | value2 | test.cpp:7:5:7:30 | *ymlStepGenerated_with_body | provenance | | | test.cpp:10:10:10:18 | call to ymlSource | test.cpp:10:10:10:18 | call to ymlSource | provenance | Src:MaD:16 | @@ -47,19 +52,49 @@ edges | test.cpp:17:10:17:22 | call to ymlStepManual | test.cpp:17:10:17:22 | call to ymlStepManual | provenance | | | test.cpp:17:10:17:22 | call to ymlStepManual | test.cpp:18:10:18:10 | y | provenance | Sink:MaD:1 | | test.cpp:17:24:17:24 | x | test.cpp:4:5:4:17 | [summary param] 0 in ymlStepManual | provenance | | -| test.cpp:17:24:17:24 | x | test.cpp:17:10:17:22 | call to ymlStepManual | provenance | MaD:21 | +| test.cpp:17:24:17:24 | x | test.cpp:17:10:17:22 | call to ymlStepManual | provenance | MaD:26 | | test.cpp:21:10:21:25 | call to ymlStepGenerated | test.cpp:21:10:21:25 | call to ymlStepGenerated | provenance | | | test.cpp:21:10:21:25 | call to ymlStepGenerated | test.cpp:22:10:22:10 | z | provenance | Sink:MaD:1 | | test.cpp:21:27:21:27 | x | test.cpp:5:5:5:20 | [summary param] 0 in ymlStepGenerated | provenance | | -| test.cpp:21:27:21:27 | x | test.cpp:21:10:21:25 | call to ymlStepGenerated | provenance | MaD:20 | +| test.cpp:21:27:21:27 | x | test.cpp:21:10:21:25 | call to ymlStepGenerated | provenance | MaD:25 | | test.cpp:25:11:25:33 | call to ymlStepManual_with_body | test.cpp:25:11:25:33 | call to ymlStepManual_with_body | provenance | | | test.cpp:25:11:25:33 | call to ymlStepManual_with_body | test.cpp:26:10:26:11 | y2 | provenance | Sink:MaD:1 | | test.cpp:25:35:25:35 | x | test.cpp:6:5:6:27 | [summary param] 0 in ymlStepManual_with_body | provenance | | -| test.cpp:25:35:25:35 | x | test.cpp:25:11:25:33 | call to ymlStepManual_with_body | provenance | MaD:22 | +| test.cpp:25:35:25:35 | x | test.cpp:25:11:25:33 | call to ymlStepManual_with_body | provenance | MaD:27 | | test.cpp:32:11:32:36 | call to ymlStepGenerated_with_body | test.cpp:32:11:32:36 | call to ymlStepGenerated_with_body | provenance | | | test.cpp:32:11:32:36 | call to ymlStepGenerated_with_body | test.cpp:33:10:33:11 | z2 | provenance | Sink:MaD:1 | | test.cpp:32:41:32:41 | x | test.cpp:7:47:7:52 | value2 | provenance | | | test.cpp:32:41:32:41 | x | test.cpp:32:11:32:36 | call to ymlStepGenerated_with_body | provenance | | +| test.cpp:46:30:46:32 | *arg [x] | test.cpp:47:12:47:19 | *arg [x] | provenance | | +| test.cpp:47:12:47:19 | *arg [x] | test.cpp:48:13:48:13 | *s [x] | provenance | | +| test.cpp:48:13:48:13 | *s [x] | test.cpp:48:16:48:16 | x | provenance | Sink:MaD:1 | +| test.cpp:52:5:52:18 | [summary param] *3 in pthread_create [x] | test.cpp:52:5:52:18 | [summary] to write: Argument[2].Parameter[*0] in pthread_create [x] | provenance | MaD:24 | +| test.cpp:52:5:52:18 | [summary] to write: Argument[2].Parameter[*0] in pthread_create [x] | test.cpp:46:30:46:32 | *arg [x] | provenance | | +| test.cpp:56:2:56:2 | *s [post update] [x] | test.cpp:59:55:59:64 | *& ... [x] | provenance | | +| test.cpp:56:2:56:18 | ... = ... | test.cpp:56:2:56:2 | *s [post update] [x] | provenance | | +| test.cpp:56:8:56:16 | call to ymlSource | test.cpp:56:2:56:18 | ... = ... | provenance | Src:MaD:16 | +| test.cpp:59:55:59:64 | *& ... [x] | test.cpp:52:5:52:18 | [summary param] *3 in pthread_create [x] | provenance | | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | provenance | MaD:23 | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | provenance | MaD:23 | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | provenance | MaD:23 | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | provenance | MaD:23 | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | test.cpp:68:22:68:22 | y | provenance | | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | test.cpp:74:22:74:22 | y | provenance | | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | test.cpp:82:22:82:22 | y | provenance | | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | test.cpp:88:22:88:22 | y | provenance | | +| test.cpp:68:22:68:22 | y | test.cpp:69:11:69:11 | y | provenance | Sink:MaD:1 | +| test.cpp:74:22:74:22 | y | test.cpp:75:11:75:11 | y | provenance | Sink:MaD:1 | +| test.cpp:82:22:82:22 | y | test.cpp:83:11:83:11 | y | provenance | Sink:MaD:1 | +| test.cpp:88:22:88:22 | y | test.cpp:89:11:89:11 | y | provenance | Sink:MaD:1 | +| test.cpp:94:10:94:18 | call to ymlSource | test.cpp:94:10:94:18 | call to ymlSource | provenance | Src:MaD:16 | +| test.cpp:94:10:94:18 | call to ymlSource | test.cpp:97:26:97:26 | x | provenance | | +| test.cpp:94:10:94:18 | call to ymlSource | test.cpp:101:26:101:26 | x | provenance | | +| test.cpp:94:10:94:18 | call to ymlSource | test.cpp:103:63:103:63 | x | provenance | | +| test.cpp:94:10:94:18 | call to ymlSource | test.cpp:104:62:104:62 | x | provenance | | +| test.cpp:97:26:97:26 | x | test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | provenance | | +| test.cpp:101:26:101:26 | x | test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | provenance | | +| test.cpp:103:63:103:63 | x | test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | provenance | | +| test.cpp:104:62:104:62 | x | test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | provenance | | | windows.cpp:17:8:17:25 | [summary param] *0 in CommandLineToArgvA | windows.cpp:17:8:17:25 | [summary] to write: ReturnValue[**] in CommandLineToArgvA | provenance | MaD:18 | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | windows.cpp:22:15:22:29 | *call to GetCommandLineA | provenance | Src:MaD:3 | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | windows.cpp:24:8:24:11 | * ... | provenance | | @@ -73,8 +108,8 @@ edges | windows.cpp:39:36:39:38 | GetEnvironmentVariableA output argument | windows.cpp:41:10:41:13 | * ... | provenance | Src:MaD:5 | | windows.cpp:90:6:90:15 | [summary param] *3 in ReadFileEx [*hEvent] | windows.cpp:90:6:90:15 | [summary] read: Argument[*3].Field[*hEvent] in ReadFileEx | provenance | | | windows.cpp:90:6:90:15 | [summary param] *3 in ReadFileEx [hEvent] | windows.cpp:90:6:90:15 | [summary] read: Argument[*3].Field[hEvent] in ReadFileEx | provenance | | -| windows.cpp:90:6:90:15 | [summary] read: Argument[*3].Field[*hEvent] in ReadFileEx | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2].Field[*hEvent] in ReadFileEx | provenance | MaD:19 | -| windows.cpp:90:6:90:15 | [summary] read: Argument[*3].Field[hEvent] in ReadFileEx | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2].Field[hEvent] in ReadFileEx | provenance | MaD:19 | +| windows.cpp:90:6:90:15 | [summary] read: Argument[*3].Field[*hEvent] in ReadFileEx | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2].Field[*hEvent] in ReadFileEx | provenance | MaD:22 | +| windows.cpp:90:6:90:15 | [summary] read: Argument[*3].Field[hEvent] in ReadFileEx | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2].Field[hEvent] in ReadFileEx | provenance | MaD:22 | | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2] in ReadFileEx [*hEvent] | windows.cpp:147:16:147:27 | *lpOverlapped [*hEvent] | provenance | | | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2] in ReadFileEx [hEvent] | windows.cpp:157:16:157:27 | *lpOverlapped [hEvent] | provenance | | | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2].Field[*hEvent] in ReadFileEx | windows.cpp:90:6:90:15 | [summary] to write: Argument[4].Parameter[*2] in ReadFileEx [*hEvent] | provenance | | @@ -122,6 +157,29 @@ edges | windows.cpp:332:23:332:40 | *call to MapViewOfFileNuma2 | windows.cpp:332:23:332:40 | *call to MapViewOfFileNuma2 | provenance | Src:MaD:12 | | windows.cpp:332:23:332:40 | *call to MapViewOfFileNuma2 | windows.cpp:333:20:333:52 | *pMapView | provenance | | | windows.cpp:333:20:333:52 | *pMapView | windows.cpp:335:10:335:16 | * ... | provenance | | +| windows.cpp:349:8:349:19 | [summary param] *3 in CreateThread [x] | windows.cpp:349:8:349:19 | [summary] to write: Argument[2].Parameter[*0] in CreateThread [x] | provenance | MaD:21 | +| windows.cpp:349:8:349:19 | [summary] to write: Argument[2].Parameter[*0] in CreateThread [x] | windows.cpp:403:26:403:36 | *lpParameter [x] | provenance | | +| windows.cpp:357:8:357:25 | [summary param] *4 in CreateRemoteThread [x] | windows.cpp:357:8:357:25 | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThread [x] | provenance | MaD:19 | +| windows.cpp:357:8:357:25 | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThread [x] | windows.cpp:410:26:410:36 | *lpParameter [x] | provenance | | +| windows.cpp:387:8:387:27 | [summary param] *4 in CreateRemoteThreadEx [x] | windows.cpp:387:8:387:27 | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThreadEx [x] | provenance | MaD:20 | +| windows.cpp:387:8:387:27 | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThreadEx [x] | windows.cpp:417:26:417:36 | *lpParameter [x] | provenance | | +| windows.cpp:403:26:403:36 | *lpParameter [x] | windows.cpp:405:10:405:25 | *lpParameter [x] | provenance | | +| windows.cpp:405:10:405:25 | *lpParameter [x] | windows.cpp:406:8:406:8 | *s [x] | provenance | | +| windows.cpp:406:8:406:8 | *s [x] | windows.cpp:406:8:406:11 | x | provenance | | +| windows.cpp:410:26:410:36 | *lpParameter [x] | windows.cpp:412:10:412:25 | *lpParameter [x] | provenance | | +| windows.cpp:412:10:412:25 | *lpParameter [x] | windows.cpp:413:8:413:8 | *s [x] | provenance | | +| windows.cpp:413:8:413:8 | *s [x] | windows.cpp:413:8:413:11 | x | provenance | | +| windows.cpp:417:26:417:36 | *lpParameter [x] | windows.cpp:419:10:419:25 | *lpParameter [x] | provenance | | +| windows.cpp:419:10:419:25 | *lpParameter [x] | windows.cpp:420:8:420:8 | *s [x] | provenance | | +| windows.cpp:420:8:420:8 | *s [x] | windows.cpp:420:8:420:11 | x | provenance | | +| windows.cpp:431:3:431:3 | *s [post update] [x] | windows.cpp:439:7:439:8 | *& ... [x] | provenance | | +| windows.cpp:431:3:431:3 | *s [post update] [x] | windows.cpp:451:7:451:8 | *& ... [x] | provenance | | +| windows.cpp:431:3:431:3 | *s [post update] [x] | windows.cpp:464:7:464:8 | *& ... [x] | provenance | | +| windows.cpp:431:3:431:16 | ... = ... | windows.cpp:431:3:431:3 | *s [post update] [x] | provenance | | +| windows.cpp:431:9:431:14 | call to source | windows.cpp:431:3:431:16 | ... = ... | provenance | | +| windows.cpp:439:7:439:8 | *& ... [x] | windows.cpp:349:8:349:19 | [summary param] *3 in CreateThread [x] | provenance | | +| windows.cpp:451:7:451:8 | *& ... [x] | windows.cpp:357:8:357:25 | [summary param] *4 in CreateRemoteThread [x] | provenance | | +| windows.cpp:464:7:464:8 | *& ... [x] | windows.cpp:387:8:387:27 | [summary param] *4 in CreateRemoteThreadEx [x] | provenance | | nodes | asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | semmle.label | [summary param] *0 in buffer | | asio_streams.cpp:56:18:56:23 | [summary] to write: ReturnValue in buffer | semmle.label | [summary] to write: ReturnValue in buffer | @@ -163,6 +221,38 @@ nodes | test.cpp:32:11:32:36 | call to ymlStepGenerated_with_body | semmle.label | call to ymlStepGenerated_with_body | | test.cpp:32:41:32:41 | x | semmle.label | x | | test.cpp:33:10:33:11 | z2 | semmle.label | z2 | +| test.cpp:46:30:46:32 | *arg [x] | semmle.label | *arg [x] | +| test.cpp:47:12:47:19 | *arg [x] | semmle.label | *arg [x] | +| test.cpp:48:13:48:13 | *s [x] | semmle.label | *s [x] | +| test.cpp:48:16:48:16 | x | semmle.label | x | +| test.cpp:52:5:52:18 | [summary param] *3 in pthread_create [x] | semmle.label | [summary param] *3 in pthread_create [x] | +| test.cpp:52:5:52:18 | [summary] to write: Argument[2].Parameter[*0] in pthread_create [x] | semmle.label | [summary] to write: Argument[2].Parameter[*0] in pthread_create [x] | +| test.cpp:56:2:56:2 | *s [post update] [x] | semmle.label | *s [post update] [x] | +| test.cpp:56:2:56:18 | ... = ... | semmle.label | ... = ... | +| test.cpp:56:8:56:16 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:59:55:59:64 | *& ... [x] | semmle.label | *& ... [x] | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | semmle.label | [summary param] 1 in callWithArgument | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | semmle.label | [summary param] 1 in callWithArgument | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | semmle.label | [summary param] 1 in callWithArgument | +| test.cpp:63:6:63:21 | [summary param] 1 in callWithArgument | semmle.label | [summary param] 1 in callWithArgument | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | semmle.label | [summary] to write: Argument[0].Parameter[0] in callWithArgument | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | semmle.label | [summary] to write: Argument[0].Parameter[0] in callWithArgument | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | semmle.label | [summary] to write: Argument[0].Parameter[0] in callWithArgument | +| test.cpp:63:6:63:21 | [summary] to write: Argument[0].Parameter[0] in callWithArgument | semmle.label | [summary] to write: Argument[0].Parameter[0] in callWithArgument | +| test.cpp:68:22:68:22 | y | semmle.label | y | +| test.cpp:69:11:69:11 | y | semmle.label | y | +| test.cpp:74:22:74:22 | y | semmle.label | y | +| test.cpp:75:11:75:11 | y | semmle.label | y | +| test.cpp:82:22:82:22 | y | semmle.label | y | +| test.cpp:83:11:83:11 | y | semmle.label | y | +| test.cpp:88:22:88:22 | y | semmle.label | y | +| test.cpp:89:11:89:11 | y | semmle.label | y | +| test.cpp:94:10:94:18 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:94:10:94:18 | call to ymlSource | semmle.label | call to ymlSource | +| test.cpp:97:26:97:26 | x | semmle.label | x | +| test.cpp:101:26:101:26 | x | semmle.label | x | +| test.cpp:103:63:103:63 | x | semmle.label | x | +| test.cpp:104:62:104:62 | x | semmle.label | x | | windows.cpp:17:8:17:25 | [summary param] *0 in CommandLineToArgvA | semmle.label | [summary param] *0 in CommandLineToArgvA | | windows.cpp:17:8:17:25 | [summary] to write: ReturnValue[**] in CommandLineToArgvA | semmle.label | [summary] to write: ReturnValue[**] in CommandLineToArgvA | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | semmle.label | *call to GetCommandLineA | @@ -238,6 +328,30 @@ nodes | windows.cpp:332:23:332:40 | *call to MapViewOfFileNuma2 | semmle.label | *call to MapViewOfFileNuma2 | | windows.cpp:333:20:333:52 | *pMapView | semmle.label | *pMapView | | windows.cpp:335:10:335:16 | * ... | semmle.label | * ... | +| windows.cpp:349:8:349:19 | [summary param] *3 in CreateThread [x] | semmle.label | [summary param] *3 in CreateThread [x] | +| windows.cpp:349:8:349:19 | [summary] to write: Argument[2].Parameter[*0] in CreateThread [x] | semmle.label | [summary] to write: Argument[2].Parameter[*0] in CreateThread [x] | +| windows.cpp:357:8:357:25 | [summary param] *4 in CreateRemoteThread [x] | semmle.label | [summary param] *4 in CreateRemoteThread [x] | +| windows.cpp:357:8:357:25 | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThread [x] | semmle.label | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThread [x] | +| windows.cpp:387:8:387:27 | [summary param] *4 in CreateRemoteThreadEx [x] | semmle.label | [summary param] *4 in CreateRemoteThreadEx [x] | +| windows.cpp:387:8:387:27 | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThreadEx [x] | semmle.label | [summary] to write: Argument[3].Parameter[*0] in CreateRemoteThreadEx [x] | +| windows.cpp:403:26:403:36 | *lpParameter [x] | semmle.label | *lpParameter [x] | +| windows.cpp:405:10:405:25 | *lpParameter [x] | semmle.label | *lpParameter [x] | +| windows.cpp:406:8:406:8 | *s [x] | semmle.label | *s [x] | +| windows.cpp:406:8:406:11 | x | semmle.label | x | +| windows.cpp:410:26:410:36 | *lpParameter [x] | semmle.label | *lpParameter [x] | +| windows.cpp:412:10:412:25 | *lpParameter [x] | semmle.label | *lpParameter [x] | +| windows.cpp:413:8:413:8 | *s [x] | semmle.label | *s [x] | +| windows.cpp:413:8:413:11 | x | semmle.label | x | +| windows.cpp:417:26:417:36 | *lpParameter [x] | semmle.label | *lpParameter [x] | +| windows.cpp:419:10:419:25 | *lpParameter [x] | semmle.label | *lpParameter [x] | +| windows.cpp:420:8:420:8 | *s [x] | semmle.label | *s [x] | +| windows.cpp:420:8:420:11 | x | semmle.label | x | +| windows.cpp:431:3:431:3 | *s [post update] [x] | semmle.label | *s [post update] [x] | +| windows.cpp:431:3:431:16 | ... = ... | semmle.label | ... = ... | +| windows.cpp:431:9:431:14 | call to source | semmle.label | call to source | +| windows.cpp:439:7:439:8 | *& ... [x] | semmle.label | *& ... [x] | +| windows.cpp:451:7:451:8 | *& ... [x] | semmle.label | *& ... [x] | +| windows.cpp:464:7:464:8 | *& ... [x] | semmle.label | *& ... [x] | subpaths | asio_streams.cpp:100:64:100:71 | *send_str | asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | asio_streams.cpp:56:18:56:23 | [summary] to write: ReturnValue in buffer | asio_streams.cpp:100:44:100:62 | call to buffer | | test.cpp:17:24:17:24 | x | test.cpp:4:5:4:17 | [summary param] 0 in ymlStepManual | test.cpp:4:5:4:17 | [summary] to write: ReturnValue in ymlStepManual | test.cpp:17:10:17:22 | call to ymlStepManual | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml b/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml index 12dbf7d4cd23..f0df3e749e69 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml +++ b/cpp/ql/test/library-tests/dataflow/external-models/flow.ext.yml @@ -16,4 +16,5 @@ extensions: - ["", "", False, "ymlStepManual", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["", "", False, "ymlStepGenerated", "", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] - ["", "", False, "ymlStepManual_with_body", "", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["", "", False, "ymlStepGenerated_with_body", "", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] \ No newline at end of file + - ["", "", False, "ymlStepGenerated_with_body", "", "", "Argument[0]", "ReturnValue", "taint", "df-generated"] + - ["", "", False, "callWithArgument", "", "", "Argument[1]", "Argument[0].Parameter[0]", "value", "manual"] \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected b/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected index 2c2338a7dcc6..0cc01c8165e1 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/sinks.expected @@ -8,3 +8,8 @@ | test.cpp:29:10:29:11 | y3 | test-sink | | test.cpp:33:10:33:11 | z2 | test-sink | | test.cpp:36:10:36:11 | z3 | test-sink | +| test.cpp:48:16:48:16 | x | test-sink | +| test.cpp:69:11:69:11 | y | test-sink | +| test.cpp:75:11:75:11 | y | test-sink | +| test.cpp:83:11:83:11 | y | test-sink | +| test.cpp:89:11:89:11 | y | test-sink | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/sources.expected b/cpp/ql/test/library-tests/dataflow/external-models/sources.expected index 8730083d0161..401fffdbd594 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/sources.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/sources.expected @@ -1,5 +1,7 @@ | asio_streams.cpp:87:34:87:44 | read_until output argument | remote | | test.cpp:10:10:10:18 | call to ymlSource | local | +| test.cpp:56:8:56:16 | call to ymlSource | local | +| test.cpp:94:10:94:18 | call to ymlSource | local | | windows.cpp:22:15:22:29 | *call to GetCommandLineA | local | | windows.cpp:34:17:34:38 | *call to GetEnvironmentStringsA | local | | windows.cpp:39:36:39:38 | GetEnvironmentVariableA output argument | local | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/test.cpp b/cpp/ql/test/library-tests/dataflow/external-models/test.cpp index a0b12004074b..f357b934b2fb 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/test.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/test.cpp @@ -35,3 +35,71 @@ void test() { int z3 = ymlStepGenerated_with_body(x, 0); ymlSink(z3); // clean } + +struct S { + int x; +}; + +using pthread_t = unsigned long; +using pthread_attr_t = void*; + +void *myThreadFunction(void *arg) { + S* s = (S *)arg; + ymlSink(s->x); // $ ir + return nullptr; +} + +int pthread_create(pthread_t *thread, const pthread_attr_t * attr, void *(*start_routine)(void*), void *arg); + +int test_pthread_create() { + S s; + s.x = ymlSource(); + + pthread_t threadId; + pthread_create(&threadId, nullptr, myThreadFunction, (void *)&s); +} + +template +void callWithArgument(F f, int x); + +struct StructWithOperatorCall_has_constructor { + StructWithOperatorCall_has_constructor(); + + void operator()(int y) { + ymlSink(y); // $ ir + } +}; + +struct StructWithOperatorCall_no_constructor { + void operator()(int y) { + ymlSink(y); // $ ir + } +}; + +struct StructWithOperatorCall_has_constructor_2 { + StructWithOperatorCall_has_constructor_2(); + + void operator()(int y) { + ymlSink(y); // $ ir + } +}; + +struct StructWithOperatorCall_no_constructor_2 { + void operator()(int y) { + ymlSink(y); // $ ir + } +}; + +void test_callWithArgument() { + int x = ymlSource(); + { + StructWithOperatorCall_has_constructor func; + callWithArgument(func, x); + } + { + StructWithOperatorCall_no_constructor func; + callWithArgument(func, x); + } + callWithArgument(StructWithOperatorCall_has_constructor_2(), x); + callWithArgument(StructWithOperatorCall_no_constructor_2(), x); +} \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected index 8f06adc1826f..6fdbe067e171 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected @@ -16,10 +16,13 @@ | Dubious signature "(..(*)(..))" in summary model. | | Dubious signature "(..(*)(..),..(*)(..),..(*)(..),..(*)(..))" in summary model. | | Dubious signature "(..(*)(..),..(*)(..),..(*)(..),void *)" in summary model. | +| Dubious signature "(..(*)(..),const void *,unsigned int)" in summary model. | | Dubious signature "(..(*)(..),d2i_of_void *,BIO *,void **)" in summary model. | | Dubious signature "(..(*)(..),d2i_of_void *,FILE *,void **)" in summary model. | +| Dubious signature "(..(*)(..),int,char **,..(*)(..),..(*)(..),void *)" in summary model. | | Dubious signature "(..(*)(..),void *)" in summary model. | | Dubious signature "(..(*)(..),void *,OSSL_STATM *,const OSSL_CC_METHOD *,OSSL_CC_DATA *)" in summary model. | +| Dubious signature "(..(*)(..),void *,void *,exit_function_list **)" in summary model. | | Dubious signature "(ACCESS_DESCRIPTION *)" in summary model. | | Dubious signature "(ACCESS_DESCRIPTION **,const unsigned char **,long)" in summary model. | | Dubious signature "(ADMISSIONS *)" in summary model. | @@ -401,6 +404,7 @@ | Dubious signature "(CERT *,const uint16_t *,size_t,int)" in summary model. | | Dubious signature "(CERTIFICATEPOLICIES *)" in summary model. | | Dubious signature "(CERTIFICATEPOLICIES **,const unsigned char **,long)" in summary model. | +| Dubious signature "(CHARMAP_DIR *)" in summary model. | | Dubious signature "(CMAC_CTX *)" in summary model. | | Dubious signature "(CMAC_CTX *,const CMAC_CTX *)" in summary model. | | Dubious signature "(CMAC_CTX *,const void *,size_t)" in summary model. | @@ -635,6 +639,10 @@ | Dubious signature "(DH_METHOD *,const char *)" in summary model. | | Dubious signature "(DH_METHOD *,int)" in summary model. | | Dubious signature "(DH_METHOD *,void *)" in summary model. | +| Dubious signature "(DIR *)" in summary model. | +| Dubious signature "(DIR *,dirent64 ***,..(*)(..),..(*)(..))" in summary model. | +| Dubious signature "(DIR *,dirent64 *,dirent64 **)" in summary model. | +| Dubious signature "(DIR *,long)" in summary model. | | Dubious signature "(DIST_POINT *)" in summary model. | | Dubious signature "(DIST_POINT **,const unsigned char **,long)" in summary model. | | Dubious signature "(DIST_POINT_NAME *)" in summary model. | @@ -730,6 +738,7 @@ | Dubious signature "(ENGINE_TABLE **,ENGINE *)" in summary model. | | Dubious signature "(ENGINE_TABLE **,ENGINE_CLEANUP_CB *,ENGINE *,const int *,int,int)" in summary model. | | Dubious signature "(ENGINE_TABLE **,int,const char *,int)" in summary model. | +| Dubious signature "(ENTRY,ACTION,ENTRY **,hsearch_data *)" in summary model. | | Dubious signature "(ESS_CERT_ID *)" in summary model. | | Dubious signature "(ESS_CERT_ID **,const unsigned char **,long)" in summary model. | | Dubious signature "(ESS_CERT_ID_V2 *)" in summary model. | @@ -898,6 +907,10 @@ | Dubious signature "(EVP_SKEY *,OSSL_LIB_CTX *,OSSL_PROVIDER *,const char *)" in summary model. | | Dubious signature "(EXTENDED_KEY_USAGE *)" in summary model. | | Dubious signature "(EXTENDED_KEY_USAGE **,const unsigned char **,long)" in summary model. | +| Dubious signature "(Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *)" in summary model. | +| Dubious signature "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *)" in summary model. | +| Dubious signature "(Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *)" in summary model. | +| Dubious signature "(Elf64_auxv_t *)" in summary model. | | Dubious signature "(FFC_PARAMS *,BIGNUM *)" in summary model. | | Dubious signature "(FFC_PARAMS *,BIGNUM *,BIGNUM *,BIGNUM *)" in summary model. | | Dubious signature "(FFC_PARAMS *,const DH_NAMED_GROUP *)" in summary model. | @@ -909,6 +922,7 @@ | Dubious signature "(FFC_PARAMS *,int)" in summary model. | | Dubious signature "(FFC_PARAMS *,unsigned int)" in summary model. | | Dubious signature "(FFC_PARAMS *,unsigned int,int)" in summary model. | +| Dubious signature "(FILE *)" in summary model. | | Dubious signature "(FILE *,CMS_ContentInfo **,pem_password_cb *,void *)" in summary model. | | Dubious signature "(FILE *,DH **,pem_password_cb *,void *)" in summary model. | | Dubious signature "(FILE *,DSA **)" in summary model. | @@ -920,6 +934,8 @@ | Dubious signature "(FILE *,EVP_PKEY **,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(FILE *,EVP_PKEY **,pem_password_cb *,void *)" in summary model. | | Dubious signature "(FILE *,EVP_PKEY **,pem_password_cb *,void *,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)" in summary model. | | Dubious signature "(FILE *,NETSCAPE_CERT_SEQUENCE **,pem_password_cb *,void *)" in summary model. | | Dubious signature "(FILE *,PKCS7 **)" in summary model. | | Dubious signature "(FILE *,PKCS7 **,pem_password_cb *,void *)" in summary model. | @@ -945,7 +961,16 @@ | Dubious signature "(FILE *,X509_REQ **,pem_password_cb *,void *)" in summary model. | | Dubious signature "(FILE *,X509_SIG **)" in summary model. | | Dubious signature "(FILE *,X509_SIG **,pem_password_cb *,void *)" in summary model. | +| Dubious signature "(FILE *,_IO_marker *,int)" in summary model. | +| Dubious signature "(FILE *,__FILE *,int)" in summary model. | +| Dubious signature "(FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(FILE *,__fpos_t *)" in summary model. | | Dubious signature "(FILE *,char **,char **,unsigned char **,long *)" in summary model. | +| Dubious signature "(FILE *,char *,char *,int)" in summary model. | +| Dubious signature "(FILE *,char *,size_t,int,int)" in summary model. | +| Dubious signature "(FILE *,char *,size_t,int,int,int *)" in summary model. | +| Dubious signature "(FILE *,char *,size_t,off64_t *)" in summary model. | +| Dubious signature "(FILE *,char *,ssize_t)" in summary model. | | Dubious signature "(FILE *,const ASN1_STRING *,unsigned long)" in summary model. | | Dubious signature "(FILE *,const CMS_ContentInfo *)" in summary model. | | Dubious signature "(FILE *,const DH *)" in summary model. | @@ -976,21 +1001,58 @@ | Dubious signature "(FILE *,const X509_PUBKEY *)" in summary model. | | Dubious signature "(FILE *,const X509_REQ *)" in summary model. | | Dubious signature "(FILE *,const X509_SIG *)" in summary model. | +| Dubious signature "(FILE *,const __fpos_t *)" in summary model. | +| Dubious signature "(FILE *,const char *,__gnuc_va_list,va_list,unsigned int)" in summary model. | +| Dubious signature "(FILE *,const char *,const char *)" in summary model. | | Dubious signature "(FILE *,const char *,const char *,const char *,...)" in summary model. | | Dubious signature "(FILE *,const char *,const char *,const char *,const char *const *)" in summary model. | | Dubious signature "(FILE *,const char *,const char *,const char *,const char *const *,size_t)" in summary model. | | Dubious signature "(FILE *,const char *,const char *,const char *,va_list)" in summary model. | +| Dubious signature "(FILE *,const char *,const char *,int)" in summary model. | +| Dubious signature "(FILE *,const char *,int,int,int,int)" in summary model. | +| Dubious signature "(FILE *,const char *,kw_hash_fct_t)" in summary model. | +| Dubious signature "(FILE *,const char *,size_t)" in summary model. | | Dubious signature "(FILE *,const char *,va_list)" in summary model. | +| Dubious signature "(FILE *,const char *,va_list,int *)" in summary model. | +| Dubious signature "(FILE *,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(FILE *,const mntent *)" in summary model. | +| Dubious signature "(FILE *,const printf_info *,const void *const *)" in summary model. | +| Dubious signature "(FILE *,const void *,size_t)" in summary model. | +| Dubious signature "(FILE *,const void *,ssize_t)" in summary model. | +| Dubious signature "(FILE *,const wchar_t *,va_list)" in summary model. | +| Dubious signature "(FILE *,const wchar_t *,va_list,unsigned int)" in summary model. | +| Dubious signature "(FILE *,group *,char *,size_t,group **)" in summary model. | | Dubious signature "(FILE *,int *)" in summary model. | +| Dubious signature "(FILE *,int)" in summary model. | | Dubious signature "(FILE *,int,char *)" in summary model. | +| Dubious signature "(FILE *,int,const char *,va_list)" in summary model. | +| Dubious signature "(FILE *,int,int,_IO_wide_data *,const _IO_jump_t *)" in summary model. | | Dubious signature "(FILE *,lemon *,char *,int *)" in summary model. | | Dubious signature "(FILE *,lemon *,int *,int)" in summary model. | +| Dubious signature "(FILE *,mntent *,char *,int)" in summary model. | +| Dubious signature "(FILE *,off64_t,int)" in summary model. | +| Dubious signature "(FILE *,off64_t,int,int)" in summary model. | +| Dubious signature "(FILE *,passwd *,char *,size_t,passwd **)" in summary model. | | Dubious signature "(FILE *,rule *)" in summary model. | | Dubious signature "(FILE *,rule *,int)" in summary model. | | Dubious signature "(FILE *,rule *,lemon *,int *)" in summary model. | +| Dubious signature "(FILE *,sgrp *,char *,size_t,sgrp **)" in summary model. | +| Dubious signature "(FILE *,size_t,size_t,ssize_t)" in summary model. | +| Dubious signature "(FILE *,spwd *,char *,size_t,spwd **)" in summary model. | | Dubious signature "(FILE *,stack_st_X509_INFO *,pem_password_cb *,void *)" in summary model. | | Dubious signature "(FILE *,stack_st_X509_INFO *,pem_password_cb *,void *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(FILE *,symbol *,lemon *,int *)" in summary model. | +| Dubious signature "(FILE *,void *,char *,size_t,nss_files_parse_line)" in summary model. | +| Dubious signature "(FILE *,void *,size_t)" in summary model. | +| Dubious signature "(FILE *,wchar_t *)" in summary model. | +| Dubious signature "(FILE *,wchar_t *,size_t,wchar_t *)" in summary model. | +| Dubious signature "(FILE *,wchar_t *,size_t,wint_t,int)" in summary model. | +| Dubious signature "(FILE *,wchar_t *,size_t,wint_t,int,wint_t *)" in summary model. | +| Dubious signature "(FILE *,wchar_t *,wchar_t *,int)" in summary model. | +| Dubious signature "(FILE *,wint_t)" in summary model. | +| Dubious signature "(FTS *)" in summary model. | +| Dubious signature "(FTS *,FTSENT *,int)" in summary model. | +| Dubious signature "(FTS *,int)" in summary model. | | Dubious signature "(FUNCTION *,DISPLAY_COLUMNS *)" in summary model. | | Dubious signature "(GCM128_CONTEXT *,const unsigned char *,size_t)" in summary model. | | Dubious signature "(GCM128_CONTEXT *,const unsigned char *,unsigned char *,size_t)" in summary model. | @@ -1204,6 +1266,7 @@ | Dubious signature "(LPCTSTR,DWORD *,void *,ULONG *)" in summary model. | | Dubious signature "(LPCWSTR,IAtlStringMgr *)" in summary model. | | Dubious signature "(LPTSTR,LPCTSTR,DWORD *)" in summary model. | +| Dubious signature "(Lmid_t,const char *)" in summary model. | | Dubious signature "(MD4_CTX *,const unsigned char *)" in summary model. | | Dubious signature "(MD4_CTX *,const void *,size_t)" in summary model. | | Dubious signature "(MD5_CTX *,const void *,size_t)" in summary model. | @@ -2365,6 +2428,9 @@ | Dubious signature "(SharedEncoderDictionary *)" in summary model. | | Dubious signature "(SingleRequest *,Curl_easy *)" in summary model. | | Dubious signature "(StrAccum *,sqlite3_str *,const char *,...)" in summary model. | +| Dubious signature "(Strent *)" in summary model. | +| Dubious signature "(Strtab *,const char *,size_t)" in summary model. | +| Dubious signature "(Strtab *,size_t *)" in summary model. | | Dubious signature "(TLS_FEATURE *)" in summary model. | | Dubious signature "(TLS_RL_RECORD *,const unsigned char *)" in summary model. | | Dubious signature "(TS_ACCURACY *)" in summary model. | @@ -2679,14 +2745,122 @@ | Dubious signature "(X509_VERIFY_PARAM *,unsigned long)" in summary model. | | Dubious signature "(XCHAR *,const XCHAR *,int)" in summary model. | | Dubious signature "(XCHAR *,size_t,const XCHAR *,int)" in summary model. | +| Dubious signature "(XDR *,FILE *,xdr_op)" in summary model. | +| Dubious signature "(XDR *,bool_t *)" in summary model. | +| Dubious signature "(XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t)" in summary model. | +| Dubious signature "(XDR *,caddr_t *,u_int,xdrproc_t)" in summary model. | +| Dubious signature "(XDR *,char *)" in summary model. | +| Dubious signature "(XDR *,char **)" in summary model. | +| Dubious signature "(XDR *,char **,u_int *,u_int)" in summary model. | +| Dubious signature "(XDR *,char **,u_int)" in summary model. | +| Dubious signature "(XDR *,char **,u_int,xdrproc_t)" in summary model. | +| Dubious signature "(XDR *,const caddr_t,u_int,xdr_op)" in summary model. | +| Dubious signature "(XDR *,domainname *)" in summary model. | +| Dubious signature "(XDR *,enum_t *)" in summary model. | +| Dubious signature "(XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t)" in summary model. | +| Dubious signature "(XDR *,float *)" in summary model. | +| Dubious signature "(XDR *,int8_t *)" in summary model. | +| Dubious signature "(XDR *,int16_t *)" in summary model. | +| Dubious signature "(XDR *,int64_t *)" in summary model. | +| Dubious signature "(XDR *,int *)" in summary model. | +| Dubious signature "(XDR *,keystatus *)" in summary model. | +| Dubious signature "(XDR *,long *)" in summary model. | +| Dubious signature "(XDR *,mapname *)" in summary model. | +| Dubious signature "(XDR *,netnamestr *)" in summary model. | +| Dubious signature "(XDR *,nis_error *)" in summary model. | +| Dubious signature "(XDR *,nis_name *)" in summary model. | +| Dubious signature "(XDR *,obj_p *)" in summary model. | +| Dubious signature "(XDR *,peername *)" in summary model. | +| Dubious signature "(XDR *,pmaplist **)" in summary model. | +| Dubious signature "(XDR *,quad_t *)" in summary model. | +| Dubious signature "(XDR *,short *)" in summary model. | +| Dubious signature "(XDR *,u_char *)" in summary model. | +| Dubious signature "(XDR *,u_int *)" in summary model. | +| Dubious signature "(XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..))" in summary model. | +| Dubious signature "(XDR *,u_long *)" in summary model. | +| Dubious signature "(XDR *,u_quad_t *)" in summary model. | +| Dubious signature "(XDR *,u_short *)" in summary model. | +| Dubious signature "(XDR *,uint8_t *)" in summary model. | +| Dubious signature "(XDR *,uint16_t *)" in summary model. | +| Dubious signature "(XDR *,uint64_t *)" in summary model. | +| Dubious signature "(XDR *,ypbind_resptype *)" in summary model. | +| Dubious signature "(XDR *,yppush_status *)" in summary model. | +| Dubious signature "(XDR *,ypstat *)" in summary model. | +| Dubious signature "(XDR *,ypxfrstat *)" in summary model. | +| Dubious signature "(_Float128 *,_Float128)" in summary model. | +| Dubious signature "(_Float128 *,const _Float128 *)" in summary model. | +| Dubious signature "(_Float128,_Float128 *)" in summary model. | +| Dubious signature "(_Float128,_Float128 *,_Float128 *)" in summary model. | +| Dubious signature "(_Float128,_Float128,_Float128 *,_Float128 *,int)" in summary model. | +| Dubious signature "(_Float128,_Float128,int *)" in summary model. | +| Dubious signature "(_Float128,_Float128,int,_Float128 *)" in summary model. | +| Dubious signature "(_Float128,int *)" in summary model. | +| Dubious signature "(_Float128,int,unsigned int)" in summary model. | +| Dubious signature "(_Float128,long double)" in summary model. | +| Dubious signature "(_Float128,long long)" in summary model. | +| Dubious signature "(_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **)" in summary model. | +| Dubious signature "(_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t)" in summary model. | +| Dubious signature "(_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **)" in summary model. | +| Dubious signature "(_IO_cookie_file *,int,void *,cookie_io_functions_t)" in summary model. | +| Dubious signature "(_IO_marker *)" in summary model. | +| Dubious signature "(_IO_marker *,FILE *)" in summary model. | +| Dubious signature "(_IO_marker *,_IO_marker *)" in summary model. | +| Dubious signature "(_IO_strfile *,_IO_strfile_ *,char *,size_t,char *)" in summary model. | +| Dubious signature "(_IO_strfile *,char *,int,char *)" in summary model. | +| Dubious signature "(_IO_strfile *,const char *,int)" in summary model. | +| Dubious signature "(__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int)" in summary model. | +| Dubious signature "(__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *)" in summary model. | +| Dubious signature "(__gconv_step *,size_t)" in summary model. | +| Dubious signature "(__gconv_step *,unsigned char)" in summary model. | +| Dubious signature "(__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *)" in summary model. | +| Dubious signature "(__gid_t,gid_t,group *,char *,size_t,group **)" in summary model. | +| Dubious signature "(__gid_t,gid_t,group *,char *,size_t,int *)" in summary model. | +| Dubious signature "(__netgrent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(__printf_buffer *,char)" in summary model. | +| Dubious signature "(__printf_buffer *,char,size_t)" in summary model. | +| Dubious signature "(__printf_buffer *,const char *)" in summary model. | +| Dubious signature "(__printf_buffer *,const char *,size_t)" in summary model. | +| Dubious signature "(__printf_buffer *,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(__printf_buffer *,locale_t,const printf_info *,const void *const *)" in summary model. | +| Dubious signature "(__printf_buffer_as_file *)" in summary model. | +| Dubious signature "(__printf_buffer_as_file *,__printf_buffer *)" in summary model. | +| Dubious signature "(__printf_buffer_snprintf *,char *,size_t)" in summary model. | +| Dubious signature "(__printf_buffer_to_file *,FILE *)" in summary model. | +| Dubious signature "(__res_state *)" in summary model. | +| Dubious signature "(__res_state *,file_change_detection *)" in summary model. | +| Dubious signature "(__res_state *,resolv_conf *)" in summary model. | +| Dubious signature "(__sigset_t *,int)" in summary model. | +| Dubious signature "(__uid_t,uid_t,passwd *,char *,size_t,int *)" in summary model. | +| Dubious signature "(__uid_t,uid_t,passwd *,char *,size_t,passwd **)" in summary model. | +| Dubious signature "(__wprintf_buffer *,const wchar_t *)" in summary model. | +| Dubious signature "(__wprintf_buffer *,const wchar_t *,size_t)" in summary model. | +| Dubious signature "(__wprintf_buffer *,const wchar_t *,va_list,unsigned int)" in summary model. | +| Dubious signature "(__wprintf_buffer *,wchar_t)" in summary model. | +| Dubious signature "(__wprintf_buffer *,wchar_t,size_t)" in summary model. | +| Dubious signature "(__wprintf_buffer_as_file *)" in summary model. | +| Dubious signature "(__wprintf_buffer_as_file *,__wprintf_buffer *)" in summary model. | +| Dubious signature "(__wprintf_buffer_to_file *,FILE *)" in summary model. | +| Dubious signature "(_pthread_cleanup_buffer *,..(*)(..),void *)" in summary model. | | Dubious signature "(action **,e_action,symbol *,char *)" in summary model. | | Dubious signature "(action *,FILE *,int)" in summary model. | | Dubious signature "(acttab *)" in summary model. | | Dubious signature "(acttab *,int)" in summary model. | | Dubious signature "(acttab *,int,int)" in summary model. | +| Dubious signature "(addrinfo *)" in summary model. | +| Dubious signature "(addrinfo *,int)" in summary model. | +| Dubious signature "(aiocb *)" in summary model. | +| Dubious signature "(aiocb_union *,int)" in summary model. | +| Dubious signature "(aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)" in summary model. | +| Dubious signature "(aliasent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(alloc_buffer *,size_t,size_t,size_t)" in summary model. | +| Dubious signature "(alloc_buffer,const char *)" in summary model. | +| Dubious signature "(alloc_buffer,const void *,size_t)" in summary model. | | Dubious signature "(alpn_proto_buf *,const alpn_spec *)" in summary model. | | Dubious signature "(altsvcinfo **)" in summary model. | | Dubious signature "(altsvcinfo *,const long)" in summary model. | +| Dubious signature "(argp_fmtstream *,argp_fmtstream_t,size_t)" in summary model. | +| Dubious signature "(argp_fmtstream_t,const char *)" in summary model. | +| Dubious signature "(argp_fmtstream_t,const char *,size_t)" in summary model. | | Dubious signature "(brotli_alloc_func,brotli_free_func,void *)" in summary model. | | Dubious signature "(bufc_pool *,size_t,size_t)" in summary model. | | Dubious signature "(bufq *,Curl_bufq_reader *,void *,CURLcode *)" in summary model. | @@ -2711,38 +2885,114 @@ | Dubious signature "(chachapoly_ctx *,const u_char *,u_int)" in summary model. | | Dubious signature "(chachapoly_ctx *,u_int,u_char *,const u_char *,u_int,u_int,int)" in summary model. | | Dubious signature "(chachapoly_ctx *,unsigned int *,unsigned int,const unsigned char *,unsigned int)" in summary model. | +| Dubious signature "(char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)" in summary model. | +| Dubious signature "(char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)" in summary model. | | Dubious signature "(char *)" in summary model. | | Dubious signature "(char **)" in summary model. | +| Dubious signature "(char ***)" in summary model. | | Dubious signature "(char **,Curl_str *,const size_t)" in summary model. | | Dubious signature "(char **,Curl_str *,const size_t,char)" in summary model. | | Dubious signature "(char **,URLGlob *)" in summary model. | +| Dubious signature "(char **,__netgrent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(char **,char **,char **,__netgrent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(char **,char **,ib_request *,dir_binding *)" in summary model. | +| Dubious signature "(char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int)" in summary model. | +| Dubious signature "(char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t)" in summary model. | +| Dubious signature "(char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t)" in summary model. | | Dubious signature "(char **,char *,URLGlob *)" in summary model. | | Dubious signature "(char **,char)" in summary model. | +| Dubious signature "(char **,char,char)" in summary model. | +| Dubious signature "(char **,char,char,char)" in summary model. | | Dubious signature "(char **,const char *)" in summary model. | +| Dubious signature "(char **,const char *,...)" in summary model. | +| Dubious signature "(char **,const char *,va_list)" in summary model. | +| Dubious signature "(char **,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(char **,int)" in summary model. | +| Dubious signature "(char **,int,const char *,...)" in summary model. | +| Dubious signature "(char **,int,const char *,__gnuc_va_list,va_list)" in summary model. | | Dubious signature "(char **,s_options *,FILE *)" in summary model. | +| Dubious signature "(char **,size_t *)" in summary model. | +| Dubious signature "(char **,size_t *,FILE *)" in summary model. | +| Dubious signature "(char **,size_t *,const char *)" in summary model. | +| Dubious signature "(char **,size_t *,const char *,const char *)" in summary model. | +| Dubious signature "(char **,size_t *,const char *,size_t,int)" in summary model. | | Dubious signature "(char **,size_t *,size_t)" in summary model. | | Dubious signature "(char *,EVP_CIPHER_INFO *)" in summary model. | | Dubious signature "(char *,FILE *,FILE *,int *)" in summary model. | +| Dubious signature "(char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)" in summary model. | +| Dubious signature "(char *,char16_t,mbstate_t *)" in summary model. | +| Dubious signature "(char *,char *)" in summary model. | +| Dubious signature "(char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__)" in summary model. | +| Dubious signature "(char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__)" in summary model. | +| Dubious signature "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)" in summary model. | +| Dubious signature "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)" in summary model. | +| Dubious signature "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *)" in summary model. | +| Dubious signature "(char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)" in summary model. | +| Dubious signature "(char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)" in summary model. | +| Dubious signature "(char *,char *__restrict__,int,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t)" in summary model. | +| Dubious signature "(char *,char,char **)" in summary model. | +| Dubious signature "(char *,const char *)" in summary model. | +| Dubious signature "(char *,const char **,const char **,const char **,const char **,const char **)" in summary model. | | Dubious signature "(char *,const char *,char **)" in summary model. | | Dubious signature "(char *,const char *,const char *,X509_VERIFY_PARAM *)" in summary model. | | Dubious signature "(char *,const char *,int,const char *)" in summary model. | +| Dubious signature "(char *,const char *,int,link_map *,int,Lmid_t)" in summary model. | | Dubious signature "(char *,const char *,size_t)" in summary model. | +| Dubious signature "(char *,const char *,size_t,locale_t)" in summary model. | | Dubious signature "(char *,const char *,va_list)" in summary model. | +| Dubious signature "(char *,const wchar_t *,size_t,size_t)" in summary model. | +| Dubious signature "(char *,des_block *)" in summary model. | | Dubious signature "(char *,int)" in summary model. | +| Dubious signature "(char *,int,FILE *)" in summary model. | | Dubious signature "(char *,int,const ASN1_OBJECT *)" in summary model. | | Dubious signature "(char *,int,const ASN1_OBJECT *,int)" in summary model. | | Dubious signature "(char *,int,int,void *)" in summary model. | +| Dubious signature "(char *,int,size_t,const char *,va_list)" in summary model. | +| Dubious signature "(char *,netobj *,des_block *)" in summary model. | +| Dubious signature "(char *,random_data *)" in summary model. | | Dubious signature "(char *,size_t *)" in summary model. | | Dubious signature "(char *,size_t)" in summary model. | | Dubious signature "(char *,size_t,const char *,...)" in summary model. | +| Dubious signature "(char *,size_t,const char *,_Float128)" in summary model. | +| Dubious signature "(char *,size_t,const char *,const char *,bool)" in summary model. | +| Dubious signature "(char *,size_t,const char *,double)" in summary model. | +| Dubious signature "(char *,size_t,const char *,float)" in summary model. | +| Dubious signature "(char *,size_t,const char *,long double)" in summary model. | | Dubious signature "(char *,size_t,const char *,va_list)" in summary model. | +| Dubious signature "(char *,size_t,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(char *,size_t,int)" in summary model. | +| Dubious signature "(char *,size_t,int,FILE *)" in summary model. | +| Dubious signature "(char *,size_t,int,size_t,const char *,...)" in summary model. | +| Dubious signature "(char *,size_t,int,size_t,const char *,va_list)" in summary model. | +| Dubious signature "(char *,size_t,locale_t,const char *,...)" in summary model. | +| Dubious signature "(char *,size_t,locale_t,const char *,va_list,unsigned int)" in summary model. | | Dubious signature "(char *,size_t,size_t *,const OSSL_PARAM[],int,ossl_passphrase_data_st *)" in summary model. | | Dubious signature "(char *,size_t,size_t *,const OSSL_PARAM[],void *)" in summary model. | | Dubious signature "(char *,size_t,size_t *,const unsigned char *,size_t,const char)" in summary model. | +| Dubious signature "(char *,size_t,size_t)" in summary model. | | Dubious signature "(char *,size_t,size_t,void *)" in summary model. | | Dubious signature "(char *,uint8_t)" in summary model. | | Dubious signature "(char *,unsigned int)" in summary model. | +| Dubious signature "(char *,void *,parser_data *,size_t,int *)" in summary model. | +| Dubious signature "(char *__restrict__,const char *__restrict__,size_t)" in summary model. | +| Dubious signature "(char *__restrict__,const char *__restrict__,size_t,size_t)" in summary model. | +| Dubious signature "(char *const *,int,..(*)(..))" in summary model. | +| Dubious signature "(char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__)" in summary model. | | Dubious signature "(char,const CStringT &)" in summary model. | +| Dubious signature "(char[256],const char *,const char *)" in summary model. | +| Dubious signature "(char[256],const uid_t,const char *)" in summary model. | +| Dubious signature "(cmsghdr *,const uint8_t *,int,int)" in summary model. | +| Dubious signature "(cmsghdr *,int,int,int)" in summary model. | | Dubious signature "(codetype,unsigned short *,unsigned int,code **,unsigned int *,unsigned short *)" in summary model. | | Dubious signature "(config *)" in summary model. | | Dubious signature "(config *,config *)" in summary model. | @@ -3551,12 +3801,19 @@ | Dubious signature "(const YCHAR *)" in summary model. | | Dubious signature "(const YCHAR *,int)" in summary model. | | Dubious signature "(const YCHAR *,int,IAtlStringMgr *)" in summary model. | +| Dubious signature "(const _Float128 *)" in summary model. | +| Dubious signature "(const aiocb *)" in summary model. | +| Dubious signature "(const aiocb *const[],int,const timespec *)" in summary model. | +| Dubious signature "(const argp_state *,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(const argp_state *,int,int,const char *,va_list,unsigned int)" in summary model. | | Dubious signature "(const bufq *)" in summary model. | | Dubious signature "(const bufref *)" in summary model. | | Dubious signature "(const char *)" in summary model. | | Dubious signature "(const char **)" in summary model. | +| Dubious signature "(const char **,__locale_data *)" in summary model. | | Dubious signature "(const char **,char **,const char *)" in summary model. | | Dubious signature "(const char **,const char *)" in summary model. | +| Dubious signature "(const char **,const char **,bool *,..(*)(..),void *)" in summary model. | | Dubious signature "(const char **,int *)" in summary model. | | Dubious signature "(const char **,int *,const char **,const char **,int *)" in summary model. | | Dubious signature "(const char **,int *,const char **,int *)" in summary model. | @@ -3573,36 +3830,54 @@ | Dubious signature "(const char *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(const char *,OSSL_LIB_CTX *,const char *,const UI_METHOD *,void *,const OSSL_PARAM[],OSSL_STORE_post_process_info_fn,void *)" in summary model. | | Dubious signature "(const char *,X509 **,stack_st_X509 **,int,const char *,const char *,X509_VERIFY_PARAM *)" in summary model. | +| Dubious signature "(const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *)" in summary model. | +| Dubious signature "(const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *)" in summary model. | +| Dubious signature "(const char *,__gnuc_va_list)" in summary model. | +| Dubious signature "(const char *,__gnuc_va_list,unsigned int)" in summary model. | +| Dubious signature "(const char *,__netgrent *)" in summary model. | +| Dubious signature "(const char *,addrinfo *,int,const char *)" in summary model. | +| Dubious signature "(const char *,aliasent *,char *,size_t,int *)" in summary model. | | Dubious signature "(const char *,bufref *)" in summary model. | | Dubious signature "(const char *,char *)" in summary model. | +| Dubious signature "(const char *,char **)" in summary model. | | Dubious signature "(const char *,char **,char **,BIO_hostserv_priorities)" in summary model. | | Dubious signature "(const char *,char **,char **,char **)" in summary model. | | Dubious signature "(const char *,char **,char **,char **,char **,int *,char **,char **,char **)" in summary model. | +| Dubious signature "(const char *,char **,char)" in summary model. | | Dubious signature "(const char *,char **,int)" in summary model. | | Dubious signature "(const char *,char **,int,curl_off_t *)" in summary model. | | Dubious signature "(const char *,char **,int,unsigned long *)" in summary model. | | Dubious signature "(const char *,char **,size_t)" in summary model. | | Dubious signature "(const char *,char *,char *,bool *,GlobalConfig *,OperationConfig *)" in summary model. | | Dubious signature "(const char *,char *,char *,const char **)" in summary model. | +| Dubious signature "(const char *,char *,const char *,binding *)" in summary model. | +| Dubious signature "(const char *,char *,const int)" in summary model. | | Dubious signature "(const char *,char *,size_t *)" in summary model. | | Dubious signature "(const char *,char *,size_t)" in summary model. | | Dubious signature "(const char *,char *,size_t,bool)" in summary model. | +| Dubious signature "(const char *,char *,size_t,char **,int *,int *)" in summary model. | | Dubious signature "(const char *,const ASN1_INTEGER *,stack_st_CONF_VALUE **)" in summary model. | | Dubious signature "(const char *,const ML_COMMON_PKCS8_FMT *,const char *,const char *)" in summary model. | | Dubious signature "(const char *,const OPT_PAIR *,int *)" in summary model. | | Dubious signature "(const char *,const OSSL_PARAM *,int)" in summary model. | | Dubious signature "(const char *,const UI_METHOD *,void *,OSSL_STORE_post_process_info_fn,void *)" in summary model. | | Dubious signature "(const char *,const char *)" in summary model. | +| Dubious signature "(const char *,const char **,const char **)" in summary model. | | Dubious signature "(const char *,const char *,BIGNUM **,BIGNUM **,const BIGNUM *,const BIGNUM *)" in summary model. | | Dubious signature "(const char *,const char *,BIGNUM **,BIGNUM **,const BIGNUM *,const BIGNUM *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(const char *,const char *,BIO_lookup_type,int,int,BIO_ADDRINFO **)" in summary model. | | Dubious signature "(const char *,const char *,EVP_PKEY *,X509 *,stack_st_X509 *,int,int,int,int,int)" in summary model. | | Dubious signature "(const char *,const char *,EVP_PKEY *,X509 *,stack_st_X509 *,int,int,int,int,int,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(const char *,const char *,EVP_PKEY *,X509 *,stack_st_X509 *,int,int,int,int,int,OSSL_LIB_CTX *,const char *,PKCS12_create_cb *,void *)" in summary model. | +| Dubious signature "(const char *,const char *,FILE *)" in summary model. | +| Dubious signature "(const char *,const char *,__gconv_step **,size_t *,int)" in summary model. | +| Dubious signature "(const char *,const char *,__gnuc_va_list,va_list)" in summary model. | | Dubious signature "(const char *,const char *,char *)" in summary model. | +| Dubious signature "(const char *,const char *,char **)" in summary model. | | Dubious signature "(const char *,const char *,char **,char **)" in summary model. | | Dubious signature "(const char *,const char *,char **,char **,const char *,const char *)" in summary model. | | Dubious signature "(const char *,const char *,char **,char **,const char *,const char *,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(const char *,const char *,char **,int *,char **,int *)" in summary model. | | Dubious signature "(const char *,const char *,char **,int)" in summary model. | | Dubious signature "(const char *,const char *,char *,char *)" in summary model. | | Dubious signature "(const char *,const char *,const BIGNUM *,ASN1_INTEGER **)" in summary model. | @@ -3610,49 +3885,131 @@ | Dubious signature "(const char *,const char *,const char *,SSL_CTX *,const stack_st_CONF_VALUE *,long,const char *,const ASN1_ITEM *)" in summary model. | | Dubious signature "(const char *,const char *,const char *,bool,iconv_ilseq_handler)" in summary model. | | Dubious signature "(const char *,const char *,const char *,bufref *)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,const char *)" in summary model. | | Dubious signature "(const char *,const char *,const char *,const char *,const char *,SSL_CTX *,const stack_st_CONF_VALUE *,const char *,ASN1_VALUE *,const ASN1_ITEM *,const char *,long,const ASN1_ITEM *)" in summary model. | | Dubious signature "(const char *,const char *,const char *,const char *,int,BIO *,BIO *,OSSL_HTTP_bio_cb_t,void *,int,int)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,const int,char **,int *)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,const int,char **,int *,char **,int *)" in summary model. | | Dubious signature "(const char *,const char *,const char *,iconv_ilseq_handler)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *)" in summary model. | | Dubious signature "(const char *,const char *,const char *,int)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,int,unsigned long,int)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,unsigned long)" in summary model. | +| Dubious signature "(const char *,const char *,const char *,unsigned long,int)" in summary model. | +| Dubious signature "(const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *)" in summary model. | +| Dubious signature "(const char *,const char *,int *)" in summary model. | +| Dubious signature "(const char *,const char *,int *,unsigned int *,char **,void *,size_t)" in summary model. | | Dubious signature "(const char *,const char *,int)" in summary model. | | Dubious signature "(const char *,const char *,int,int,int,int,BIO_ADDRINFO **)" in summary model. | +| Dubious signature "(const char *,const char *,int,int,unsigned char *,int)" in summary model. | +| Dubious signature "(const char *,const char *,locale_t)" in summary model. | +| Dubious signature "(const char *,const char *,servent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,const char *,servent *,char *,size_t,servent **)" in summary model. | +| Dubious signature "(const char *,const char *,size_t *)" in summary model. | +| Dubious signature "(const char *,const char *,size_t *,size_t *)" in summary model. | | Dubious signature "(const char *,const char *,size_t)" in summary model. | +| Dubious signature "(const char *,const char *,size_t,locale_t)" in summary model. | | Dubious signature "(const char *,const char *,stack_st_CONF_VALUE **)" in summary model. | +| Dubious signature "(const char *,const char *,tm *,void *,locale_t)" in summary model. | | Dubious signature "(const char *,const char *,unsigned int)" in summary model. | +| Dubious signature "(const char *,const char *,unsigned long)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,char **,char **__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,char **,char **__restrict__,int)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,char **,char **__restrict__,int,int)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,char **,char **__restrict__,locale_t)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,size_t,char **,char **__restrict__)" in summary model. | +| Dubious signature "(const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__)" in summary model. | +| Dubious signature "(const char *,const expression **,unsigned long *)" in summary model. | | Dubious signature "(const char *,const size_t,char **,char **,char **)" in summary model. | | Dubious signature "(const char *,const size_t,unsigned int *,unsigned int *)" in summary model. | | Dubious signature "(const char *,const time_t *)" in summary model. | | Dubious signature "(const char *,const unsigned char *,size_t,stack_st_CONF_VALUE **)" in summary model. | | Dubious signature "(const char *,const unsigned char *,stack_st_CONF_VALUE **)" in summary model. | +| Dubious signature "(const char *,database_dyn[5])" in summary model. | +| Dubious signature "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int)" in summary model. | +| Dubious signature "(const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int)" in summary model. | | Dubious signature "(const char *,digestdata *)" in summary model. | | Dubious signature "(const char *,double *)" in summary model. | +| Dubious signature "(const char *,ether_addr *)" in summary model. | +| Dubious signature "(const char *,ether_addr *,char *)" in summary model. | +| Dubious signature "(const char *,etherent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *)" in summary model. | +| Dubious signature "(const char *,gid_t,long *,gid_t **,long)" in summary model. | +| Dubious signature "(const char *,group *,char *,size_t,group **)" in summary model. | +| Dubious signature "(const char *,group *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)" in summary model. | +| Dubious signature "(const char *,hostent *,char *,size_t,hostent **,int *)" in summary model. | +| Dubious signature "(const char *,hostent *,char *,size_t,int *,int *)" in summary model. | | Dubious signature "(const char *,int32_t *)" in summary model. | | Dubious signature "(const char *,int64_t *)" in summary model. | | Dubious signature "(const char *,int *)" in summary model. | | Dubious signature "(const char *,int *,char **,char **,char **,int *,char **,char **,char **)" in summary model. | | Dubious signature "(const char *,int)" in summary model. | +| Dubious signature "(const char *,int,..(*)(..),glob_t *)" in summary model. | | Dubious signature "(const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *)" in summary model. | | Dubious signature "(const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(const char *,int,const void *,Lmid_t,int,char *[],char *[])" in summary model. | +| Dubious signature "(const char *,int,hostent *,char *,size_t,hostent **,int *)" in summary model. | +| Dubious signature "(const char *,int,hostent *,char *,size_t,int *,int *)" in summary model. | +| Dubious signature "(const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **)" in summary model. | +| Dubious signature "(const char *,int,int)" in summary model. | | Dubious signature "(const char *,int,int,..(*)(..),void *)" in summary model. | | Dubious signature "(const char *,int,int,const char *,const char *,int,EVP_PKEY **,EVP_PKEY **,EVP_PKEY **,X509 **,stack_st_X509 **,X509_CRL **,stack_st_X509_CRL **)" in summary model. | | Dubious signature "(const char *,int,int,int)" in summary model. | +| Dubious signature "(const char *,int,int,unsigned char *,int)" in summary model. | | Dubious signature "(const char *,int,long)" in summary model. | +| Dubious signature "(const char *,int,sem_t *)" in summary model. | | Dubious signature "(const char *,int,stack_st_CONF_VALUE **)" in summary model. | | Dubious signature "(const char *,int,stack_st_OPENSSL_STRING *,const char *)" in summary model. | | Dubious signature "(const char *,int,stack_st_X509 **,const char *,const char *)" in summary model. | | Dubious signature "(const char *,int,unsigned char **,int *)" in summary model. | +| Dubious signature "(const char *,int,void *,void *)" in summary model. | +| Dubious signature "(const char *,kw_hash_fct_t)" in summary model. | +| Dubious signature "(const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *)" in summary model. | +| Dubious signature "(const char *,link_map *,unsigned int)" in summary model. | | Dubious signature "(const char *,long *)" in summary model. | | Dubious signature "(const char *,long *,char *)" in summary model. | | Dubious signature "(const char *,long *,int)" in summary model. | +| Dubious signature "(const char *,netent *,char *,size_t,int *,int *)" in summary model. | +| Dubious signature "(const char *,netobj *,u_int,sockaddr *,des_block *)" in summary model. | +| Dubious signature "(const char *,passwd *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,passwd *,char *,size_t,passwd **)" in summary model. | +| Dubious signature "(const char *,protoent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,rpcent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,rpcent *,char *,size_t,rpcent **)" in summary model. | +| Dubious signature "(const char *,sgrp *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,sgrp *,char *,size_t,sgrp **)" in summary model. | | Dubious signature "(const char *,size_t *)" in summary model. | +| Dubious signature "(const char *,size_t *,int)" in summary model. | | Dubious signature "(const char *,size_t)" in summary model. | | Dubious signature "(const char *,size_t,char **,size_t *,urlreject)" in summary model. | +| Dubious signature "(const char *,size_t,const char *)" in summary model. | | Dubious signature "(const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *)" in summary model. | | Dubious signature "(const char *,size_t,const char *,const char *,iconv_ilseq_handler,size_t *,char **,size_t *)" in summary model. | | Dubious signature "(const char *,size_t,const char *,int)" in summary model. | | Dubious signature "(const char *,size_t,const iconveh_t *,iconv_ilseq_handler,size_t *,char **,size_t *)" in summary model. | | Dubious signature "(const char *,size_t,dynbuf *,bool)" in summary model. | +| Dubious signature "(const char *,size_t,int,const char **)" in summary model. | | Dubious signature "(const char *,size_t,uint32_t *,size_t *)" in summary model. | +| Dubious signature "(const char *,size_t,void *)" in summary model. | +| Dubious signature "(const char *,sockaddr_in *)" in summary model. | +| Dubious signature "(const char *,spwd *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const char *,spwd *,char *,size_t,spwd **)" in summary model. | | Dubious signature "(const char *,sqlite3 **,int,const char *)" in summary model. | | Dubious signature "(const char *,sqlite3_filename)" in summary model. | | Dubious signature "(const char *,sqlite3_filename,const char *)" in summary model. | @@ -3660,9 +4017,17 @@ | Dubious signature "(const char *,sqlite3_filename,const char *,sqlite3_int64)" in summary model. | | Dubious signature "(const char *,sqlite3_filename,int)" in summary model. | | Dubious signature "(const char *,stack_st_X509_CRL **,const char *,const char *)" in summary model. | +| Dubious signature "(const char *,statvfs64 *)" in summary model. | | Dubious signature "(const char *,time_t *)" in summary model. | +| Dubious signature "(const char *,tm *)" in summary model. | +| Dubious signature "(const char *,u_char *,unsigned char *)" in summary model. | +| Dubious signature "(const char *,u_char *,unsigned char *,int)" in summary model. | +| Dubious signature "(const char *,u_char *,unsigned char *,size_t)" in summary model. | +| Dubious signature "(const char *,u_int,sockaddr *,des_block *)" in summary model. | +| Dubious signature "(const char *,u_long *,unsigned long *)" in summary model. | | Dubious signature "(const char *,uint16_t *,size_t)" in summary model. | | Dubious signature "(const char *,uint32_t *)" in summary model. | +| Dubious signature "(const char *,uint32_t)" in summary model. | | Dubious signature "(const char *,uint64_t *)" in summary model. | | Dubious signature "(const char *,unsigned char *)" in summary model. | | Dubious signature "(const char *,unsigned char *,size_t)" in summary model. | @@ -3671,32 +4036,98 @@ | Dubious signature "(const char *,va_list)" in summary model. | | Dubious signature "(const char *,void *)" in summary model. | | Dubious signature "(const char *,void **,size_t)" in summary model. | +| Dubious signature "(const char *,void *,int)" in summary model. | | Dubious signature "(const char *,void *,size_t)" in summary model. | +| Dubious signature "(const char *,wordexp_t *,int)" in summary model. | +| Dubious signature "(const char *__restrict__,size_t,mbstate_t *__restrict__)" in summary model. | | Dubious signature "(const char *const *,const char *const *)" in summary model. | +| Dubious signature "(const charmap_t *,const char *,size_t)" in summary model. | +| Dubious signature "(const cmsghdr *,uint8_t **)" in summary model. | +| Dubious signature "(const cmsghdr *,uint8_t **,int)" in summary model. | | Dubious signature "(const curl_easyoption *)" in summary model. | | Dubious signature "(const curve448_point_t)" in summary model. | | Dubious signature "(const custom_ext_methods *,ENDPOINT,unsigned int,size_t *)" in summary model. | | Dubious signature "(const deque &)" in summary model. | | Dubious signature "(const deque &,const Allocator &)" in summary model. | +| Dubious signature "(const directory_obj *,directory_obj *)" in summary model. | +| Dubious signature "(const dirent64 **,const dirent64 **)" in summary model. | +| Dubious signature "(const double *)" in summary model. | | Dubious signature "(const dynbuf *)" in summary model. | +| Dubious signature "(const ether_addr *)" in summary model. | +| Dubious signature "(const ether_addr *,char *)" in summary model. | +| Dubious signature "(const ether_addr *,etherent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const float *)" in summary model. | | Dubious signature "(const forward_list &)" in summary model. | | Dubious signature "(const forward_list &,const Allocator &)" in summary model. | +| Dubious signature "(const gaicb *const[],int,const timespec *)" in summary model. | | Dubious signature "(const gf)" in summary model. | | Dubious signature "(const gf,const gf)" in summary model. | +| Dubious signature "(const glibc_hwcaps_subdirectory *)" in summary model. | +| Dubious signature "(const group *,const group *__restrict__,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(const group,const size_t,group *,char *,char **)" in summary model. | +| Dubious signature "(const hash_table *,const void *,size_t,void **)" in summary model. | +| Dubious signature "(const hash_table *,void **,const void **,size_t *,void **)" in summary model. | +| Dubious signature "(const int)" in summary model. | +| Dubious signature "(const int,int,const char *,servent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(const int,int,protoent *,char *,size_t,int *)" in summary model. | | Dubious signature "(const int[],BIGNUM *)" in summary model. | | Dubious signature "(const int_dhx942_dh *,unsigned char **)" in summary model. | | Dubious signature "(const list &)" in summary model. | | Dubious signature "(const list &,const Allocator &)" in summary model. | +| Dubious signature "(const long double *)" in summary model. | +| Dubious signature "(const md5_ctx *,void *)" in summary model. | +| Dubious signature "(const mntent *,const char *)" in summary model. | | Dubious signature "(const nghttp2_extpri *)" in summary model. | | Dubious signature "(const nghttp2_map *)" in summary model. | | Dubious signature "(const nghttp2_map *,..(*)(..),void *)" in summary model. | | Dubious signature "(const nghttp2_map *,nghttp2_map_key_type)" in summary model. | | Dubious signature "(const nghttp2_nv *,const nghttp2_nv *)" in summary model. | | Dubious signature "(const nghttp2_settings_entry *,size_t,nghttp2_mem *)" in summary model. | +| Dubious signature "(const nis_error)" in summary model. | +| Dubious signature "(const nis_error,const char *)" in summary model. | +| Dubious signature "(const nis_error,const char *,char *,size_t)" in summary model. | +| Dubious signature "(const nis_object *,nis_object *)" in summary model. | +| Dubious signature "(const nis_result *)" in summary model. | +| Dubious signature "(const nis_result *,nis_result *)" in summary model. | +| Dubious signature "(const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t)" in summary model. | +| Dubious signature "(const old_termios_t *)" in summary model. | +| Dubious signature "(const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__)" in summary model. | +| Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sched_param *,sched_param *__restrict__)" in summary model. | +| Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,short *,short *__restrict__)" in summary model. | +| Dubious signature "(const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__)" in summary model. | +| Dubious signature "(const pthread_attr_t *)" in summary model. | +| Dubious signature "(const pthread_attr_t *,__sigset_t *,sigset_t *)" in summary model. | +| Dubious signature "(const pthread_attr_t *,const pthread_attr_t *__restrict__,size_t *,size_t *__restrict__)" in summary model. | +| Dubious signature "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__)" in summary model. | +| Dubious signature "(const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__)" in summary model. | +| Dubious signature "(const pthread_attr_t *,cpu_set_t *)" in summary model. | +| Dubious signature "(const pthread_attr_t *,int *)" in summary model. | +| Dubious signature "(const pthread_attr_t *,sched_param *)" in summary model. | +| Dubious signature "(const pthread_attr_t *,size_t *)" in summary model. | +| Dubious signature "(const pthread_attr_t *,size_t,cpu_set_t *)" in summary model. | +| Dubious signature "(const pthread_barrierattr_t *,int *)" in summary model. | +| Dubious signature "(const pthread_condattr_t *,clockid_t *)" in summary model. | +| Dubious signature "(const pthread_mutex_t *,int *)" in summary model. | +| Dubious signature "(const pthread_mutexattr_t *,int *)" in summary model. | +| Dubious signature "(const pthread_rwlockattr_t *,int *)" in summary model. | +| Dubious signature "(const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int)" in summary model. | +| Dubious signature "(const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int)" in summary model. | +| Dubious signature "(const repertoire_t *,const char *,size_t)" in summary model. | +| Dubious signature "(const repertoire_t *,uint32_t)" in summary model. | +| Dubious signature "(const res_state,res_state,const char *,char *,size_t)" in summary model. | +| Dubious signature "(const res_sym *,const char *,int *)" in summary model. | +| Dubious signature "(const res_sym *,int,int *)" in summary model. | +| Dubious signature "(const resolv_conf *)" in summary model. | +| Dubious signature "(const resolv_response_context *)" in summary model. | +| Dubious signature "(const sgrp *,FILE *)" in summary model. | | Dubious signature "(const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *)" in summary model. | | Dubious signature "(const sockaddr *,char *,size_t)" in summary model. | +| Dubious signature "(const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int)" in summary model. | | Dubious signature "(const sockaddr_in6 *,char *,size_t)" in summary model. | | Dubious signature "(const sockaddr_in *,char *,size_t)" in summary model. | +| Dubious signature "(const spwd *,FILE *)" in summary model. | | Dubious signature "(const sqlite3_value *)" in summary model. | | Dubious signature "(const stack_st_SCT *,unsigned char **)" in summary model. | | Dubious signature "(const stack_st_X509 *)" in summary model. | @@ -3711,8 +4142,37 @@ | Dubious signature "(const stack_st_X509_EXTENSION *,int,int)" in summary model. | | Dubious signature "(const stack_st_X509_NAME *)" in summary model. | | Dubious signature "(const stat *)" in summary model. | +| Dubious signature "(const td_thragent_t *,lwpid_t,td_thrhandle_t *)" in summary model. | +| Dubious signature "(const td_thragent_t *,ps_prochandle **)" in summary model. | +| Dubious signature "(const td_thragent_t *,pthread_t,td_thrhandle_t *)" in summary model. | +| Dubious signature "(const td_thragent_t *,td_event_e,td_notify_t *)" in summary model. | +| Dubious signature "(const td_thragent_t *,td_event_msg_t *)" in summary model. | +| Dubious signature "(const td_thrhandle_t *,const thread_key_t,void **)" in summary model. | +| Dubious signature "(const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *)" in summary model. | +| Dubious signature "(const td_thrhandle_t *,td_event_msg_t *)" in summary model. | +| Dubious signature "(const td_thrhandle_t *,td_thrinfo_t *)" in summary model. | +| Dubious signature "(const td_thrhandle_t *,unsigned long,psaddr_t *)" in summary model. | +| Dubious signature "(const termios *)" in summary model. | +| Dubious signature "(const time_t *)" in summary model. | +| Dubious signature "(const time_t *,const time_t *__restrict__,char *,char *__restrict__)" in summary model. | +| Dubious signature "(const time_t *,const time_t *__restrict__,tm *,tm *__restrict__)" in summary model. | | Dubious signature "(const time_t *,tm *)" in summary model. | +| Dubious signature "(const timeval *,const timezone *)" in summary model. | +| Dubious signature "(const timeval *,timeval *)" in summary model. | +| Dubious signature "(const tm *,__locale_data *)" in summary model. | +| Dubious signature "(const tm *,char *)" in summary model. | | Dubious signature "(const u128[16],uint8_t *,const uint8_t *,size_t)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,char *)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,int,ns_msg *)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,size_t,char *,size_t)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t)" in summary model. | +| Dubious signature "(const u_char *,const unsigned char *,u_char *,unsigned char *,size_t)" in summary model. | | Dubious signature "(const uint8_t *,SM4_KEY *)" in summary model. | | Dubious signature "(const uint8_t *,const uint8_t *,uint8_t **,int)" in summary model. | | Dubious signature "(const uint8_t *,int,int,PROV_CTX *,const char *)" in summary model. | @@ -3728,9 +4188,11 @@ | Dubious signature "(const uint32_t *,size_t,char *,size_t *)" in summary model. | | Dubious signature "(const uint32_t *,size_t,uint32_t *,size_t *,int)" in summary model. | | Dubious signature "(const unsigned char *)" in summary model. | +| Dubious signature "(const unsigned char **,const unsigned char *)" in summary model. | | Dubious signature "(const unsigned char **,long *,int *,int *,long)" in summary model. | | Dubious signature "(const unsigned char **,long)" in summary model. | | Dubious signature "(const unsigned char **,long,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(const unsigned char **,printf_info *)" in summary model. | | Dubious signature "(const unsigned char **,unsigned char *,const unsigned char *,unsigned int)" in summary model. | | Dubious signature "(const unsigned char **,unsigned int,int *)" in summary model. | | Dubious signature "(const unsigned char **,unsigned int,int)" in summary model. | @@ -3738,22 +4200,29 @@ | Dubious signature "(const unsigned char **,unsigned int,unsigned int *,unsigned int *,int *,int *)" in summary model. | | Dubious signature "(const unsigned char *,DES_cblock *,long,DES_key_schedule *,const_DES_cblock *)" in summary model. | | Dubious signature "(const unsigned char *,DES_cblock[],long,int,DES_cblock *)" in summary model. | +| Dubious signature "(const unsigned char *,FILE *)" in summary model. | | Dubious signature "(const unsigned char *,IAtlStringMgr *)" in summary model. | +| Dubious signature "(const unsigned char *,char *,size_t)" in summary model. | | Dubious signature "(const unsigned char *,const int,ARIA_KEY *)" in summary model. | +| Dubious signature "(const unsigned char *,const unsigned char *)" in summary model. | +| Dubious signature "(const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t)" in summary model. | | Dubious signature "(const unsigned char *,hm_header_st *)" in summary model. | | Dubious signature "(const unsigned char *,int)" in summary model. | | Dubious signature "(const unsigned char *,int,BIGNUM *)" in summary model. | | Dubious signature "(const unsigned char *,int,DSA *,unsigned int,const char *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(const unsigned char *,int,EVP_CIPHER *,EVP_CIPHER *,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(const unsigned char *,int,FILE *)" in summary model. | | Dubious signature "(const unsigned char *,int,const BIGNUM *,const BIGNUM *,EC_KEY *)" in summary model. | | Dubious signature "(const unsigned char *,int,const ECDSA_SIG *,EC_KEY *)" in summary model. | | Dubious signature "(const unsigned char *,int,const unsigned char *,int,EC_KEY *)" in summary model. | +| Dubious signature "(const unsigned char *,int,unsigned char *,int)" in summary model. | | Dubious signature "(const unsigned char *,int,unsigned char *,unsigned int *,EC_KEY *)" in summary model. | | Dubious signature "(const unsigned char *,int,unsigned char *,unsigned int *,EC_KEY *,unsigned int,const char *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(const unsigned char *,int,unsigned long *)" in summary model. | | Dubious signature "(const unsigned char *,long)" in summary model. | | Dubious signature "(const unsigned char *,long,char)" in summary model. | | Dubious signature "(const unsigned char *,size_t,QUIC_PN,QUIC_PN *)" in summary model. | +| Dubious signature "(const unsigned char *,size_t,printf_spec *,size_t *,bool *)" in summary model. | | Dubious signature "(const unsigned char *,size_t,size_t *)" in summary model. | | Dubious signature "(const unsigned char *,size_t,size_t)" in summary model. | | Dubious signature "(const unsigned char *,size_t,size_t,QUIC_CONN_ID *)" in summary model. | @@ -3766,6 +4235,7 @@ | Dubious signature "(const unsigned char *,unsigned char *,const BF_KEY *,int)" in summary model. | | Dubious signature "(const unsigned char *,unsigned char *,const CAST_KEY *,int)" in summary model. | | Dubious signature "(const unsigned char *,unsigned char *,const SEED_KEY_SCHEDULE *,int)" in summary model. | +| Dubious signature "(const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **)" in summary model. | | Dubious signature "(const unsigned char *,unsigned char *,int,long,DES_key_schedule *,DES_cblock *)" in summary model. | | Dubious signature "(const unsigned char *,unsigned char *,int,long,DES_key_schedule *,DES_cblock *,int)" in summary model. | | Dubious signature "(const unsigned char *,unsigned char *,int,long,DES_key_schedule *,DES_key_schedule *,DES_key_schedule *,DES_cblock *,int)" in summary model. | @@ -3805,6 +4275,13 @@ | Dubious signature "(const unsigned char *,unsigned char *,size_t,const void *,unsigned char[16],unsigned char[16],unsigned int *,ctr128_f)" in summary model. | | Dubious signature "(const unsigned char[16],SEED_KEY_SCHEDULE *)" in summary model. | | Dubious signature "(const unsigned char[16],unsigned char[16],const SEED_KEY_SCHEDULE *)" in summary model. | +| Dubious signature "(const unsigned int *)" in summary model. | +| Dubious signature "(const unsigned int **,printf_info *)" in summary model. | +| Dubious signature "(const unsigned int *,size_t,printf_spec *,size_t *,bool *)" in summary model. | +| Dubious signature "(const utmp *)" in summary model. | +| Dubious signature "(const utmp *,utmp *,utmp **)" in summary model. | +| Dubious signature "(const utmpx *)" in summary model. | +| Dubious signature "(const utmpx *,utmp *)" in summary model. | | Dubious signature "(const uv__io_t *,unsigned int)" in summary model. | | Dubious signature "(const uv__statx *,uv_stat_t *)" in summary model. | | Dubious signature "(const uv_buf_t[],unsigned int)" in summary model. | @@ -3824,20 +4301,69 @@ | Dubious signature "(const uv_udp_t *,sockaddr *,int *)" in summary model. | | Dubious signature "(const vector &)" in summary model. | | Dubious signature "(const vector &,const Allocator &)" in summary model. | +| Dubious signature "(const void *)" in summary model. | +| Dubious signature "(const void *,..(*)(..),void *)" in summary model. | +| Dubious signature "(const void *,VISIT,void *)" in summary model. | +| Dubious signature "(const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *)" in summary model. | +| Dubious signature "(const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *)" in summary model. | | Dubious signature "(const void *,const void *)" in summary model. | | Dubious signature "(const void *,const void *,int)" in summary model. | | Dubious signature "(const void *,const void *,int,int,..(*)(..))" in summary model. | | Dubious signature "(const void *,const void *,int,int,..(*)(..),int)" in summary model. | +| Dubious signature "(const void *,const void *,size_t *,size_t,__compar_fn_t)" in summary model. | | Dubious signature "(const void *,const void *,size_t)" in summary model. | +| Dubious signature "(const void *,const void *,size_t,size_t,__compar_fn_t)" in summary model. | +| Dubious signature "(const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *)" in summary model. | +| Dubious signature "(const void *,int)" in summary model. | | Dubious signature "(const void *,size_t)" in summary model. | | Dubious signature "(const void *,size_t,const char *,int)" in summary model. | +| Dubious signature "(const void *,size_t,const void *,size_t)" in summary model. | +| Dubious signature "(const void *,size_t,md5_ctx *)" in summary model. | +| Dubious signature "(const void *,size_t,size_t)" in summary model. | +| Dubious signature "(const void *,size_t,size_t,FILE *)" in summary model. | +| Dubious signature "(const void *,size_t,size_t,bool)" in summary model. | | Dubious signature "(const void *,size_t,unsigned char *)" in summary model. | | Dubious signature "(const void *,size_t,unsigned char **,size_t *)" in summary model. | +| Dubious signature "(const void *,socklen_t,int)" in summary model. | +| Dubious signature "(const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *)" in summary model. | +| Dubious signature "(const void *,socklen_t,int,hostent *,char *,size_t,int *,int *)" in summary model. | | Dubious signature "(const void *,sqlite3 **)" in summary model. | +| Dubious signature "(const void *,unsigned char **,size_t *)" in summary model. | +| Dubious signature "(const void *,void *)" in summary model. | +| Dubious signature "(const void *,void **,__compar_fn_t)" in summary model. | +| Dubious signature "(const void *,void *,size_t *,size_t,__compar_fn_t)" in summary model. | +| Dubious signature "(const void *,void *const *,__compar_fn_t)" in summary model. | +| Dubious signature "(const wchar_t *,__gnuc_va_list)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *,locale_t)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *,size_t,locale_t)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *,va_list)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *,wchar_t,const char *)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t)" in summary model. | +| Dubious signature "(const wchar_t *,const wchar_t,wchar_t)" in summary model. | +| Dubious signature "(const wchar_t *,size_t)" in summary model. | +| Dubious signature "(const wchar_t *,va_list)" in summary model. | +| Dubious signature "(const wchar_t *,wchar_t **,int)" in summary model. | +| Dubious signature "(const wchar_t *,wchar_t **,int,int,bool,locale_t)" in summary model. | +| Dubious signature "(const wchar_t *,wchar_t **,int,locale_t)" in summary model. | +| Dubious signature "(const wchar_t *,wchar_t **,wchar_t)" in summary model. | | Dubious signature "(const_DES_cblock *)" in summary model. | | Dubious signature "(const_iterator,T &&)" in summary model. | | Dubious signature "(const_iterator,const T &)" in summary model. | | Dubious signature "(const_iterator,size_type,const T &)" in summary model. | +| Dubious signature "(const_nis_name,char *,size_t)" in summary model. | +| Dubious signature "(const_nis_name,const unsigned int,unsigned int)" in summary model. | +| Dubious signature "(const_nis_name,directory_obj **,dir_binding *,unsigned int)" in summary model. | +| Dubious signature "(const_nis_name,int,directory_obj **,dir_binding *,unsigned int)" in summary model. | +| Dubious signature "(const_nis_name,unsigned int)" in summary model. | | Dubious signature "(cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t)" in summary model. | | Dubious signature "(cpool *,fd_set *,fd_set *,int *)" in summary model. | | Dubious signature "(curl_blob **,const curl_blob *)" in summary model. | @@ -3874,10 +4400,38 @@ | Dubious signature "(custom_ext_methods *,const custom_ext_methods *)" in summary model. | | Dubious signature "(d2i_of_void *,const char *,BIO *,void **,pem_password_cb *,void *)" in summary model. | | Dubious signature "(d2i_of_void *,const char *,FILE *,void **,pem_password_cb *,void *)" in summary model. | +| Dubious signature "(database_dyn *)" in summary model. | +| Dubious signature "(database_dyn *,hashentry *,datahead *)" in summary model. | +| Dubious signature "(database_dyn *,int,request_header *,void *,uid_t)" in summary model. | +| Dubious signature "(database_dyn *,size_t,int)" in summary model. | +| Dubious signature "(database_dyn *,time_t,int)" in summary model. | | Dubious signature "(deflate_state *,charf *,ulg,int)" in summary model. | | Dubious signature "(deflate_state *,unsigned int,unsigned int)" in summary model. | | Dubious signature "(deque &&)" in summary model. | | Dubious signature "(deque &&,const Allocator &)" in summary model. | +| Dubious signature "(dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int)" in summary model. | +| Dubious signature "(dir_binding *,netobj *,nis_cb *)" in summary model. | +| Dubious signature "(dl_exception *,..(*)(..),void *)" in summary model. | +| Dubious signature "(dl_exception *,const char *,const char *)" in summary model. | +| Dubious signature "(dl_find_object_internal *,size_t)" in summary model. | +| Dubious signature "(double *,const double *)" in summary model. | +| Dubious signature "(double *,double *,int,int,int,const int32_t *)" in summary model. | +| Dubious signature "(double *,double)" in summary model. | +| Dubious signature "(double,double *)" in summary model. | +| Dubious signature "(double,double *,double *)" in summary model. | +| Dubious signature "(double,double,int *)" in summary model. | +| Dubious signature "(double,double,int,double *)" in summary model. | +| Dubious signature "(double,int *)" in summary model. | +| Dubious signature "(double,int,char *)" in summary model. | +| Dubious signature "(double,int,int *,int *__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)" in summary model. | +| Dubious signature "(double,int,unsigned int)" in summary model. | +| Dubious signature "(double,long double)" in summary model. | +| Dubious signature "(double,long long)" in summary model. | +| Dubious signature "(drand48_data *,drand48_data *__restrict__,double *,double *__restrict__)" in summary model. | +| Dubious signature "(drand48_data *,drand48_data *__restrict__,long *,long *__restrict__)" in summary model. | +| Dubious signature "(dynarray_header *,size_t,void *,size_t)" in summary model. | +| Dubious signature "(dynarray_header *,void *,size_t,dynarray_finalize_result *)" in summary model. | | Dubious signature "(dynbuf *)" in summary model. | | Dubious signature "(dynbuf *,Curl_easy *)" in summary model. | | Dubious signature "(dynbuf *,FILE *)" in summary model. | @@ -3895,14 +4449,40 @@ | Dubious signature "(dynhds *,size_t *)" in summary model. | | Dubious signature "(dynhds *,size_t)" in summary model. | | Dubious signature "(dynhds *,size_t,size_t)" in summary model. | +| Dubious signature "(etherent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(exit_function_list **)" in summary model. | +| Dubious signature "(fexcept_t *,int)" in summary model. | +| Dubious signature "(file_change_detection *,const stat64 *)" in summary model. | | Dubious signature "(fileinfo *)" in summary model. | +| Dubious signature "(float *,const float *)" in summary model. | +| Dubious signature "(float *,float)" in summary model. | +| Dubious signature "(float,float *)" in summary model. | +| Dubious signature "(float,float *,float *)" in summary model. | +| Dubious signature "(float,float,int *)" in summary model. | +| Dubious signature "(float,int *)" in summary model. | +| Dubious signature "(float,int,unsigned int)" in summary model. | +| Dubious signature "(float,long double)" in summary model. | +| Dubious signature "(float,long long)" in summary model. | | Dubious signature "(format_string,Args &&)" in summary model. | | Dubious signature "(forward_list &&)" in summary model. | | Dubious signature "(forward_list &&,const Allocator &)" in summary model. | | Dubious signature "(ftp_parselist_data *)" in summary model. | | Dubious signature "(ftp_parselist_data **)" in summary model. | +| Dubious signature "(fuse_in_header *,uint32_t)" in summary model. | +| Dubious signature "(fuse_in_header *,uint32_t,size_t,char **)" in summary model. | +| Dubious signature "(gaicb *)" in summary model. | +| Dubious signature "(gconv_fcts *,const char *)" in summary model. | +| Dubious signature "(gconv_spec *,__gconv_t *,int)" in summary model. | +| Dubious signature "(gconv_spec *,const char *,const char *)" in summary model. | +| Dubious signature "(getent_r_function,void **,char **,size_t,size_t *,int *)" in summary model. | | Dubious signature "(gf,const gf,const gf)" in summary model. | | Dubious signature "(gf,const uint8_t[56],int,uint8_t)" in summary model. | +| Dubious signature "(gid_t,group *,char *,size_t,group **)" in summary model. | +| Dubious signature "(group *,char *,char *,size_t,group *,char *)" in summary model. | +| Dubious signature "(group *,char *,size_t,group **)" in summary model. | +| Dubious signature "(group *,char *,size_t,int *)" in summary model. | +| Dubious signature "(grouping_iterator *,int,locale_t,unsigned int)" in summary model. | +| Dubious signature "(grouping_iterator *,unsigned int)" in summary model. | | Dubious signature "(gzFile,char *,int)" in summary model. | | Dubious signature "(gzFile,const char *)" in summary model. | | Dubious signature "(gzFile,const char *,va_list)" in summary model. | @@ -3913,6 +4493,10 @@ | Dubious signature "(gz_statep,int,const char *)" in summary model. | | Dubious signature "(h1_req_parser *,const char *,size_t,const char *,int,CURLcode *)" in summary model. | | Dubious signature "(h1_req_parser *,size_t)" in summary model. | +| Dubious signature "(hash_table *,const void *,size_t,void *)" in summary model. | +| Dubious signature "(hash_table *,unsigned long)" in summary model. | +| Dubious signature "(hostent *,char *,size_t,int *,int *)" in summary model. | +| Dubious signature "(hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__)" in summary model. | | Dubious signature "(hsts **)" in summary model. | | Dubious signature "(http_resp **,int,const char *)" in summary model. | | Dubious signature "(httpreq **,const char *,size_t,CURLU *,const char *)" in summary model. | @@ -3923,9 +4507,12 @@ | Dubious signature "(i2d_of_void *,const char *,BIO *,const void *,const EVP_CIPHER *,const unsigned char *,int,pem_password_cb *,void *)" in summary model. | | Dubious signature "(i2d_of_void *,const char *,FILE *,const void *,const EVP_CIPHER *,const unsigned char *,int,pem_password_cb *,void *)" in summary model. | | Dubious signature "(i2d_of_void *,d2i_of_void *,const void *)" in summary model. | +| Dubious signature "(iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__)" in summary model. | +| Dubious signature "(in_addr_t,uint32_t,char *,size_t)" in summary model. | | Dubious signature "(int32_t *,int32_t *,int32_t *,int32_t *)" in summary model. | | Dubious signature "(int64_t *,const ASN1_ENUMERATED *)" in summary model. | | Dubious signature "(int64_t *,const ASN1_INTEGER *)" in summary model. | +| Dubious signature "(int *)" in summary model. | | Dubious signature "(int *,ASN1_TIME **,const ASN1_TIME *)" in summary model. | | Dubious signature "(int *,X509 *,stack_st_X509 *,unsigned long)" in summary model. | | Dubious signature "(int *,const char *,const char *,const char *,const char *,int,int,int,int,int,BIO_ADDR **)" in summary model. | @@ -3936,6 +4523,10 @@ | Dubious signature "(int *,int *,int *,const char **,const char **,const EVP_PKEY_ASN1_METHOD *)" in summary model. | | Dubious signature "(int *,int *,size_t)" in summary model. | | Dubious signature "(int *,int)" in summary model. | +| Dubious signature "(int *,sa_family_t)" in summary model. | +| Dubious signature "(int *,short *)" in summary model. | +| Dubious signature "(int *,short *,clockid_t,const timespec *,int)" in summary model. | +| Dubious signature "(int *,short *,int)" in summary model. | | Dubious signature "(int *,sqlite3_stmt *)" in summary model. | | Dubious signature "(int *,unsigned char **,const ASN1_VALUE **,const ASN1_ITEM *)" in summary model. | | Dubious signature "(int,BIO_ADDR *,int)" in summary model. | @@ -3947,6 +4538,7 @@ | Dubious signature "(int,EVP_PKEY **,BIO *)" in summary model. | | Dubious signature "(int,EVP_PKEY **,const unsigned char **,long)" in summary model. | | Dubious signature "(int,EVP_PKEY **,const unsigned char **,long,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(int,FILE *)" in summary model. | | Dubious signature "(int,OCSP_BASICRESP *)" in summary model. | | Dubious signature "(int,OSSL_CRMF_MSG *,EVP_PKEY *,const EVP_MD *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(int,OSSL_HPKE_SUITE,int,OSSL_LIB_CTX *,const char *)" in summary model. | @@ -3956,26 +4548,56 @@ | Dubious signature "(int,SSL_CTX *,const unsigned char *,long)" in summary model. | | Dubious signature "(int,SSL_EXCERT **)" in summary model. | | Dubious signature "(int,X509_STORE_CTX *)" in summary model. | +| Dubious signature "(int,__locale_data *)" in summary model. | +| Dubious signature "(int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int)" in summary model. | +| Dubious signature "(int,aiocb *)" in summary model. | +| Dubious signature "(int,aiocb *const[],int,sigevent *)" in summary model. | +| Dubious signature "(int,bool,int,const stat64 *)" in summary model. | | Dubious signature "(int,char **)" in summary model. | | Dubious signature "(int,char **,char *[])" in summary model. | | Dubious signature "(int,char **,const OPTIONS *)" in summary model. | +| Dubious signature "(int,char **,const char *,const option *,int *,_getopt_data *)" in summary model. | +| Dubious signature "(int,char **,const char *,const option *,int *,int,_getopt_data *,int)" in summary model. | +| Dubious signature "(int,char **,const char *,const option *,int *,int,int)" in summary model. | | Dubious signature "(int,char **,gengetopt_args_info *)" in summary model. | | Dubious signature "(int,char **,gengetopt_args_info *,cmdline_parser_params *)" in summary model. | | Dubious signature "(int,char **,gengetopt_args_info *,int,int,int)" in summary model. | | Dubious signature "(int,char *,const char *,...)" in summary model. | | Dubious signature "(int,char *,const char *,va_list)" in summary model. | | Dubious signature "(int,char *,size_t)" in summary model. | +| Dubious signature "(int,char *,size_t,size_t)" in summary model. | +| Dubious signature "(int,char *const *,const char *)" in summary model. | +| Dubious signature "(int,char *const *,const char *,const option *,int *)" in summary model. | | Dubious signature "(int,const EVP_CIPHER *,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *)" in summary model. | | Dubious signature "(int,const EVP_CIPHER *,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(int,const OSSL_ALGORITHM *,OSSL_PROVIDER *)" in summary model. | | Dubious signature "(int,const OSSL_STORE_INFO *)" in summary model. | | Dubious signature "(int,const char *)" in summary model. | +| Dubious signature "(int,const char **)" in summary model. | | Dubious signature "(int,const char **,int *)" in summary model. | +| Dubious signature "(int,const char *,__gnuc_va_list)" in summary model. | +| Dubious signature "(int,const char *,__gnuc_va_list,va_list,unsigned int)" in summary model. | +| Dubious signature "(int,const char *,__mode_t,mode_t,__dev_t *,dev_t *)" in summary model. | +| Dubious signature "(int,const char *,const char *,const charmap_t *)" in summary model. | +| Dubious signature "(int,const char *,const char *,const charmap_t *,localedef_t *)" in summary model. | +| Dubious signature "(int,const char *,const char *,int,localedef_t *)" in summary model. | +| Dubious signature "(int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)" in summary model. | +| Dubious signature "(int,const char *,const timespec[2],int)" in summary model. | +| Dubious signature "(int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int)" in summary model. | | Dubious signature "(int,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *)" in summary model. | | Dubious signature "(int,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *,OSSL_LIB_CTX *,const char *)" in summary model. | | Dubious signature "(int,const char *,int,unsigned char *,int,int,stack_st_PKCS12_SAFEBAG *)" in summary model. | | Dubious signature "(int,const char *,int,unsigned char *,int,int,stack_st_PKCS12_SAFEBAG *,OSSL_LIB_CTX *,const char *)" in summary model. | +| Dubious signature "(int,const char *,locale_t)" in summary model. | +| Dubious signature "(int,const char *,servent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(int,const char *,servent *,char *,size_t,servent **)" in summary model. | +| Dubious signature "(int,const char *,va_list)" in summary model. | +| Dubious signature "(int,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(int,const char *,void *,size_t)" in summary model. | | Dubious signature "(int,const regex_t *,char *,size_t)" in summary model. | +| Dubious signature "(int,const sigset_t *,sigset_t *)" in summary model. | +| Dubious signature "(int,const timespec[2])" in summary model. | +| Dubious signature "(int,const u_char *,const unsigned char *,char *)" in summary model. | | Dubious signature "(int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__)" in summary model. | | Dubious signature "(int,const unsigned char *,int,const unsigned char *,int,DSA *)" in summary model. | | Dubious signature "(int,const unsigned char *,int,const unsigned char *,int,EC_KEY *)" in summary model. | @@ -3984,25 +4606,53 @@ | Dubious signature "(int,const unsigned char *,int,unsigned char *,unsigned int *,const BIGNUM *,const BIGNUM *,EC_KEY *)" in summary model. | | Dubious signature "(int,const unsigned char *,unsigned int,unsigned char *,size_t *,const unsigned char *,size_t,RSA *)" in summary model. | | Dubious signature "(int,const void *,char *,size_t)" in summary model. | +| Dubious signature "(int,const void *,char *,socklen_t,size_t)" in summary model. | | Dubious signature "(int,const void *,const char *,int)" in summary model. | +| Dubious signature "(int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t)" in summary model. | +| Dubious signature "(int,const void *,int,char *,size_t)" in summary model. | +| Dubious signature "(int,const void *,size_t)" in summary model. | +| Dubious signature "(int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool)" in summary model. | +| Dubious signature "(int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(int,dl_exception *,const char *)" in summary model. | +| Dubious signature "(int,exit_function_list **,bool,bool)" in summary model. | +| Dubious signature "(int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *)" in summary model. | +| Dubious signature "(int,fd_to_filename *)" in summary model. | +| Dubious signature "(int,gaicb *[],int,sigevent *)" in summary model. | +| Dubious signature "(int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *)" in summary model. | | Dubious signature "(int,int *,int *,int)" in summary model. | | Dubious signature "(int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[])" in summary model. | | Dubious signature "(int,int,TLS_GROUP_INFO *,size_t,long,stack_st_OPENSSL_CSTRING *)" in summary model. | | Dubious signature "(int,int,const char *)" in summary model. | +| Dubious signature "(int,int,const char *,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *)" in summary model. | | Dubious signature "(int,int,const char *,const char *)" in summary model. | +| Dubious signature "(int,int,const char *,unsigned int,const char *,va_list,unsigned int)" in summary model. | | Dubious signature "(int,int,const char *,va_list)" in summary model. | +| Dubious signature "(int,int,const char *,va_list,unsigned int)" in summary model. | | Dubious signature "(int,int,const unsigned char *,int)" in summary model. | | Dubious signature "(int,int,const unsigned char *,int,OSSL_LIB_CTX *)" in summary model. | | Dubious signature "(int,int,int *)" in summary model. | | Dubious signature "(int,int,int,const void *,size_t,SSL *,void *)" in summary model. | | Dubious signature "(int,int,void *)" in summary model. | +| Dubious signature "(int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int)" in summary model. | +| Dubious signature "(int,long double)" in summary model. | | Dubious signature "(int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *)" in summary model. | +| Dubious signature "(int,protoent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)" in summary model. | +| Dubious signature "(int,rpcent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(int,rpcent *,char *,size_t,rpcent **)" in summary model. | +| Dubious signature "(int,sockaddr *,socklen_t *)" in summary model. | +| Dubious signature "(int,sockaddr *,socklen_t *,int)" in summary model. | | Dubious signature "(int,sqlite3_int64 *,sqlite3_int64 *,int)" in summary model. | | Dubious signature "(int,stat *)" in summary model. | +| Dubious signature "(int,statvfs64 *)" in summary model. | +| Dubious signature "(int,u_int,u_int,char *)" in summary model. | +| Dubious signature "(int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *)" in summary model. | | Dubious signature "(int,unsigned char *,int,const char *,const char *)" in summary model. | | Dubious signature "(int,unsigned char *,int,int *,unsigned long *,..(*)(..),void *)" in summary model. | | Dubious signature "(int,unsigned long,..(*)(..),void *)" in summary model. | | Dubious signature "(int,void *)" in summary model. | +| Dubious signature "(int,void *,size_t)" in summary model. | | Dubious signature "(int_dhx942_dh **,const unsigned char **,long)" in summary model. | | Dubious signature "(lemon *)" in summary model. | | Dubious signature "(lemon *,action *)" in summary model. | @@ -4012,14 +4662,74 @@ | Dubious signature "(lhash_st_CONF_VALUE *,FILE *,long *)" in summary model. | | Dubious signature "(lhash_st_CONF_VALUE *,X509V3_CTX *,int,const char *)" in summary model. | | Dubious signature "(lhash_st_CONF_VALUE *,const char *,long *)" in summary model. | +| Dubious signature "(linereader *)" in summary model. | +| Dubious signature "(linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int)" in summary model. | +| Dubious signature "(linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int)" in summary model. | +| Dubious signature "(linereader *,localedef_t *,const charmap_t *,const char *,int)" in summary model. | +| Dubious signature "(link_map *)" in summary model. | +| Dubious signature "(link_map **,unsigned int,bool,bool)" in summary model. | +| Dubious signature "(link_map *,Dl_serinfo *,bool)" in summary model. | +| Dubious signature "(link_map *,Elf64_Word)" in summary model. | +| Dubious signature "(link_map *,Elf64_Word,Elf64_Addr,void *,long *)" in summary model. | +| Dubious signature "(link_map *,Lmid_t)" in summary model. | +| Dubious signature "(link_map *,Lmid_t,uintptr_t *)" in summary model. | +| Dubious signature "(link_map *,const Elf64_Sym *,void **,lookup_t)" in summary model. | +| Dubious signature "(link_map *,const char *,char *)" in summary model. | +| Dubious signature "(link_map *,const char *,int,int,int,Lmid_t)" in summary model. | +| Dubious signature "(link_map *,const char *,uint32_t,const char *,uint32_t)" in summary model. | +| Dubious signature "(link_map *,int,char **,char **)" in summary model. | +| Dubious signature "(link_map *,int,const Elf64_Phdr *)" in summary model. | +| Dubious signature "(link_map *,link_map **,unsigned int,int,int)" in summary model. | +| Dubious signature "(link_map *,link_map_public *,bool)" in summary model. | +| Dubious signature "(link_map *,r_scope_elem *[],int,int)" in summary model. | +| Dubious signature "(link_map *,reloc_result *,Elf64_Addr *,void *,long *)" in summary model. | +| Dubious signature "(link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool)" in summary model. | +| Dubious signature "(link_map *,size_t)" in summary model. | | Dubious signature "(list &&)" in summary model. | | Dubious signature "(list &&,const Allocator &)" in summary model. | | Dubious signature "(list_head *)" in summary model. | | Dubious signature "(list_head *,list_node *)" in summary model. | | Dubious signature "(list_node *)" in summary model. | +| Dubious signature "(list_t *,list_t *)" in summary model. | +| Dubious signature "(loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int)" in summary model. | +| Dubious signature "(loaded_l10nfile *,binding *,const char *,int,size_t *)" in summary model. | +| Dubious signature "(locale_file *,const uint32_t *,size_t)" in summary model. | +| Dubious signature "(locale_file *,size_t)" in summary model. | +| Dubious signature "(locale_t,const char *,const char *)" in summary model. | +| Dubious signature "(locarhandle *,const char *,locale_data_t,bool)" in summary model. | | Dubious signature "(long *,const char *)" in summary model. | | Dubious signature "(long *,const char *,long)" in summary model. | +| Dubious signature "(long double *,const long double *)" in summary model. | +| Dubious signature "(long double *,long double)" in summary model. | +| Dubious signature "(long double)" in summary model. | +| Dubious signature "(long double,int *)" in summary model. | +| Dubious signature "(long double,int)" in summary model. | +| Dubious signature "(long double,int,char *)" in summary model. | +| Dubious signature "(long double,int,int *,int *__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t)" in summary model. | +| Dubious signature "(long double,int,unsigned int)" in summary model. | +| Dubious signature "(long double,long double *)" in summary model. | +| Dubious signature "(long double,long double *,long double *)" in summary model. | +| Dubious signature "(long double,long double)" in summary model. | +| Dubious signature "(long double,long double,int *)" in summary model. | +| Dubious signature "(long double,long double,int)" in summary model. | +| Dubious signature "(long double,long double,int,long double *)" in summary model. | +| Dubious signature "(long double,long double,long double)" in summary model. | +| Dubious signature "(long double,long double,long double,int)" in summary model. | +| Dubious signature "(long double,long long)" in summary model. | +| Dubious signature "(long double,long)" in summary model. | | Dubious signature "(long long *)" in summary model. | +| Dubious signature "(long long)" in summary model. | +| Dubious signature "(long long,long long)" in summary model. | +| Dubious signature "(long,drand48_data *)" in summary model. | +| Dubious signature "(md5_ctx *,void *)" in summary model. | +| Dubious signature "(mp_ptr,mp_size_t,int *,int *,_Float128)" in summary model. | +| Dubious signature "(mp_ptr,mp_size_t,int *,int *,double)" in summary model. | +| Dubious signature "(mp_ptr,mp_size_t,int *,int *,long double)" in summary model. | +| Dubious signature "(msghdr *,cmsghdr *)" in summary model. | +| Dubious signature "(netent *,char *,size_t,int *,int *)" in summary model. | +| Dubious signature "(netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)" in summary model. | +| Dubious signature "(netlink_handle *,int)" in summary model. | | Dubious signature "(nghttp2_buf *,size_t,nghttp2_mem *)" in summary model. | | Dubious signature "(nghttp2_buf *,uint8_t *,size_t)" in summary model. | | Dubious signature "(nghttp2_bufs *,const nghttp2_vec *,size_t,nghttp2_mem *)" in summary model. | @@ -4171,44 +4881,150 @@ | Dubious signature "(nghttp2_stream *,size_t)" in summary model. | | Dubious signature "(nghttp2_stream *,uint8_t)" in summary model. | | Dubious signature "(nghttp2_window_update *,uint8_t,int32_t,int32_t)" in summary model. | +| Dubious signature "(nis_server **)" in summary model. | +| Dubious signature "(nl_catd,int,int,const char *)" in summary model. | +| Dubious signature "(ns_msg *,ns_sect,int,ns_rr *)" in summary model. | +| Dubious signature "(ns_rr_cursor *,const unsigned char *,size_t)" in summary model. | +| Dubious signature "(ns_rr_cursor *,ns_rr_wire *)" in summary model. | +| Dubious signature "(nss_action **,nss_action_list *,const char *,const char *,void **)" in summary model. | +| Dubious signature "(nss_action **,nss_action_list *,const char *,const char *,void **,int,int)" in summary model. | +| Dubious signature "(nss_action *,size_t)" in summary model. | +| Dubious signature "(nss_database,nss_action_list *)" in summary model. | +| Dubious signature "(nss_database_data *)" in summary model. | +| Dubious signature "(nss_files_per_file_data **,nss_files_file,const char *,int *,int *)" in summary model. | +| Dubious signature "(nss_module *,const char *)" in summary model. | +| Dubious signature "(obstack *)" in summary model. | +| Dubious signature "(obstack *,const char *,va_list)" in summary model. | +| Dubious signature "(obstack *,const char *,va_list,unsigned int)" in summary model. | +| Dubious signature "(obstack *,int)" in summary model. | +| Dubious signature "(obstack *,int,const char *,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(obstack *,int,int,..(*)(..),..(*)(..))" in summary model. | +| Dubious signature "(obstack *,int,int,..(*)(..),..(*)(..),void *)" in summary model. | +| Dubious signature "(obstack *,void *)" in summary model. | +| Dubious signature "(old_termios_t *,speed_t)" in summary model. | +| Dubious signature "(passwd *,char *,size_t,int *)" in summary model. | +| Dubious signature "(passwd *,char *,size_t,passwd **)" in summary model. | | Dubious signature "(pgrs_dir *,curl_off_t,curltime)" in summary model. | +| Dubious signature "(pid_t,clockid_t *)" in summary model. | | Dubious signature "(piterator *)" in summary model. | | Dubious signature "(plink *)" in summary model. | | Dubious signature "(plink **,config *)" in summary model. | | Dubious signature "(plink **,plink *)" in summary model. | +| Dubious signature "(pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *)" in summary model. | +| Dubious signature "(pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long)" in summary model. | | Dubious signature "(pollfd[],unsigned int,timediff_t)" in summary model. | +| Dubious signature "(posix_spawnattr_t *,int)" in summary model. | +| Dubious signature "(posix_spawnattr_t *,pid_t)" in summary model. | +| Dubious signature "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__)" in summary model. | +| Dubious signature "(posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__)" in summary model. | +| Dubious signature "(posix_spawnattr_t *,short)" in summary model. | | Dubious signature "(pqueue *)" in summary model. | | Dubious signature "(pqueue *,pitem *)" in summary model. | | Dubious signature "(pqueue *,unsigned char *)" in summary model. | +| Dubious signature "(prof *,int,timeval *,unsigned int)" in summary model. | +| Dubious signature "(protoent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__)" in summary model. | +| Dubious signature "(ps_prochandle *,td_thragent_t **)" in summary model. | +| Dubious signature "(pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *)" in summary model. | +| Dubious signature "(pthread_attr_t *,const pthread_attr_t *)" in summary model. | +| Dubious signature "(pthread_attr_t *,const sched_param *)" in summary model. | +| Dubious signature "(pthread_attr_t *,const sigset_t *)" in summary model. | +| Dubious signature "(pthread_attr_t *,cpu_set_t *)" in summary model. | +| Dubious signature "(pthread_attr_t *,int)" in summary model. | +| Dubious signature "(pthread_attr_t *,size_t)" in summary model. | +| Dubious signature "(pthread_attr_t *,size_t,const cpu_set_t *)" in summary model. | +| Dubious signature "(pthread_attr_t *,void *)" in summary model. | +| Dubious signature "(pthread_attr_t *,void *,size_t)" in summary model. | +| Dubious signature "(pthread_barrier_t *,const pthread_barrierattr_t *,unsigned int)" in summary model. | +| Dubious signature "(pthread_barrierattr_t *,int)" in summary model. | +| Dubious signature "(pthread_mutex_t *,const pthread_mutexattr_t *)" in summary model. | +| Dubious signature "(pthread_mutex_t *,int,int *)" in summary model. | +| Dubious signature "(pthread_mutexattr_t *,int)" in summary model. | +| Dubious signature "(pthread_rwlock_t *,const pthread_rwlockattr_t *)" in summary model. | +| Dubious signature "(pthread_rwlockattr_t *,int)" in summary model. | | Dubious signature "(pthread_t *)" in summary model. | | Dubious signature "(pthread_t **)" in summary model. | +| Dubious signature "(pthread_t,int,const sched_param *)" in summary model. | +| Dubious signature "(random_data *,int32_t *)" in summary model. | +| Dubious signature "(re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *)" in summary model. | +| Dubious signature "(re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *)" in summary model. | +| Dubious signature "(re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t)" in summary model. | +| Dubious signature "(re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t)" in summary model. | +| Dubious signature "(re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *)" in summary model. | | Dubious signature "(regex_t *,const char *,int)" in summary model. | | Dubious signature "(regex_t *,const char *,size_t,regmatch_t[],int)" in summary model. | +| Dubious signature "(request_type,const char *,mapped_database **)" in summary model. | +| Dubious signature "(request_type,const char *,size_t,const mapped_database *,size_t)" in summary model. | +| Dubious signature "(request_type,const char *,volatile locked_map_ptr *,int *)" in summary model. | +| Dubious signature "(request_type,const void *,size_t,database_dyn *,uid_t)" in summary model. | +| Dubious signature "(requestlist *,requestlist *,int)" in summary model. | +| Dubious signature "(res_state,const char *,const char *,int,int,unsigned char *,int)" in summary model. | +| Dubious signature "(res_state,const char *,int,int,unsigned char *,int)" in summary model. | +| Dubious signature "(res_state,const unsigned char *,int,unsigned char *,int)" in summary model. | +| Dubious signature "(res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int)" in summary model. | +| Dubious signature "(res_state,unsigned int)" in summary model. | +| Dubious signature "(resolv_context *,const char *,char *,size_t)" in summary model. | +| Dubious signature "(resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *)" in summary model. | +| Dubious signature "(resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)" in summary model. | +| Dubious signature "(resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *)" in summary model. | +| Dubious signature "(resolv_context *,const unsigned char *,int,unsigned char *,int,int *)" in summary model. | +| Dubious signature "(resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int)" in summary model. | +| Dubious signature "(resolv_context *,int,unsigned char *,int,int)" in summary model. | +| Dubious signature "(rpcent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(rpcent *,char *,size_t,rpcent **)" in summary model. | | Dubious signature "(rule *,int)" in summary model. | | Dubious signature "(scan_ctx *,const char *,const char *,const char *)" in summary model. | +| Dubious signature "(scratch_buffer *,size_t,size_t)" in summary model. | +| Dubious signature "(sem_t *,int,unsigned int)" in summary model. | +| Dubious signature "(servent *,char *,size_t,int *)" in summary model. | +| Dubious signature "(servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__)" in summary model. | | Dubious signature "(sfparse_parser *,const uint8_t *,size_t)" in summary model. | | Dubious signature "(sfparse_parser *,sfparse_value *)" in summary model. | | Dubious signature "(sfparse_parser *,sfparse_vec *,sfparse_value *)" in summary model. | | Dubious signature "(sfparse_vec *,const sfparse_vec *)" in summary model. | +| Dubious signature "(sgrp *,char *,size_t,int *)" in summary model. | +| Dubious signature "(sgrp *,char *,size_t,sgrp **)" in summary model. | +| Dubious signature "(sigset_t *,const sigset_t *,const sigset_t *)" in summary model. | +| Dubious signature "(sigset_t *,int)" in summary model. | | Dubious signature "(size_t *,const char *)" in summary model. | | Dubious signature "(size_t *,size_t,unsigned char *,unsigned char **,int *,size_t,size_t,OSSL_LIB_CTX *)" in summary model. | | Dubious signature "(size_t *,size_t,unsigned char *,unsigned char **,int *,size_t,size_t,int,OSSL_LIB_CTX *)" in summary model. | | Dubious signature "(size_t,OSSL_QTX_IOVEC *,size_t)" in summary model. | | Dubious signature "(size_t,SSL_CTX *)" in summary model. | +| Dubious signature "(size_t,char *[])" in summary model. | +| Dubious signature "(size_t,char *[],bool)" in summary model. | | Dubious signature "(size_t,const QUIC_PKT_HDR *)" in summary model. | | Dubious signature "(size_t,const char **,size_t *)" in summary model. | | Dubious signature "(size_t,const char[],size_t *,uint32_t[])" in summary model. | | Dubious signature "(size_t,const uint8_t[],size_t *,uint8_t[])" in summary model. | | Dubious signature "(size_t,const uint32_t[],size_t *,char[])" in summary model. | +| Dubious signature "(size_t,hsearch_data *)" in summary model. | +| Dubious signature "(size_t,shadow_stack_size_t *)" in summary model. | +| Dubious signature "(size_t,size_t *,int *)" in summary model. | | Dubious signature "(size_t,size_t,Curl_ssl_scache **)" in summary model. | | Dubious signature "(size_t,size_t,const uint8_t *,size_t,ContextLut,const BrotliEncoderParams *,Hasher *,int *,size_t *,Command *,size_t *,size_t *)" in summary model. | | Dubious signature "(size_t,size_t,size_t,const uint8_t *,size_t *,float *)" in summary model. | | Dubious signature "(size_t,size_t,void **,const char *,int)" in summary model. | +| Dubious signature "(size_t,traced_file *)" in summary model. | | Dubious signature "(size_t,uint32_t *,uint8_t *)" in summary model. | +| Dubious signature "(size_t,void **)" in summary model. | | Dubious signature "(size_type,const T &)" in summary model. | | Dubious signature "(size_type,const T &,const Allocator &)" in summary model. | | Dubious signature "(slist_wc **,const char *)" in summary model. | | Dubious signature "(slist_wc *,const char *)" in summary model. | +| Dubious signature "(sockaddr_in *)" in summary model. | +| Dubious signature "(sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *)" in summary model. | +| Dubious signature "(sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int)" in summary model. | +| Dubious signature "(sockaddr_in *,u_long,u_long,int *,u_int,u_int)" in summary model. | +| Dubious signature "(sockaddr_in *,u_long,u_long,timeval,int *)" in summary model. | +| Dubious signature "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int)" in summary model. | +| Dubious signature "(sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int)" in summary model. | +| Dubious signature "(sockaddr_in *,u_long,u_long,u_int)" in summary model. | +| Dubious signature "(sockaddr_in *,u_long,u_long,u_int,time_t,time_t)" in summary model. | +| Dubious signature "(sockaddr_un *,const char *)" in summary model. | +| Dubious signature "(sockaddr_un *,u_long,u_long,int *,u_int,u_int)" in summary model. | +| Dubious signature "(spwd *,char *,size_t,int *)" in summary model. | +| Dubious signature "(spwd *,char *,size_t,spwd **)" in summary model. | | Dubious signature "(sqlite3 *)" in summary model. | | Dubious signature "(sqlite3 *,..(*)(..),void *)" in summary model. | | Dubious signature "(sqlite3 *,..(*)(..),void *,..(*)(..))" in summary model. | @@ -4346,27 +5162,60 @@ | Dubious signature "(stack_st_X509_OBJECT *,X509_OBJECT *)" in summary model. | | Dubious signature "(stack_st_X509_POLICY_NODE *,const ASN1_OBJECT *)" in summary model. | | Dubious signature "(state *,config *)" in summary model. | +| Dubious signature "(statvfs64 *,const statfs64 *)" in summary model. | | Dubious signature "(store_netrc *)" in summary model. | | Dubious signature "(store_netrc *,const char *,char **,char **,char *)" in summary model. | | Dubious signature "(string_buf *,libssh2_uint64_t *)" in summary model. | | Dubious signature "(string_buf *,uint32_t *)" in summary model. | | Dubious signature "(string_buf *,unsigned char *)" in summary model. | | Dubious signature "(string_buf *,unsigned char **,size_t *)" in summary model. | +| Dubious signature "(stringtable *,const char *)" in summary model. | +| Dubious signature "(stringtable *,stringtable_finalized *)" in summary model. | +| Dubious signature "(support_descriptors *,const char *,FILE *)" in summary model. | +| Dubious signature "(support_fuse *)" in summary model. | +| Dubious signature "(support_fuse *,bool)" in summary model. | +| Dubious signature "(support_fuse *,uint64_t)" in summary model. | +| Dubious signature "(support_fuse *,uint64_t,fuse_entry_out **,fuse_open_out **)" in summary model. | +| Dubious signature "(support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *)" in summary model. | | Dubious signature "(symbol *,lemon *)" in summary model. | +| Dubious signature "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *)" in summary model. | +| Dubious signature "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *)" in summary model. | +| Dubious signature "(td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t)" in summary model. | +| Dubious signature "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *)" in summary model. | +| Dubious signature "(td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t)" in summary model. | +| Dubious signature "(td_thragent_t *,psaddr_t *)" in summary model. | +| Dubious signature "(td_thragent_t *,uint32_t *,int)" in summary model. | +| Dubious signature "(termios *,baud_t)" in summary model. | +| Dubious signature "(termios *,speed_t)" in summary model. | +| Dubious signature "(time_t,int,long *,int *,tm *)" in summary model. | +| Dubious signature "(time_t,int,tm *)" in summary model. | +| Dubious signature "(time_t,long,tm *)" in summary model. | +| Dubious signature "(timespec *,int)" in summary model. | | Dubious signature "(timeval *)" in summary model. | | Dubious signature "(timeval *,timediff_t)" in summary model. | +| Dubious signature "(tls_index *)" in summary model. | +| Dubious signature "(tm *)" in summary model. | +| Dubious signature "(tm *,..(*)(..),mktime_offset_t *)" in summary model. | | Dubious signature "(tm *,const ASN1_TIME *)" in summary model. | | Dubious signature "(tm *,const ASN1_UTCTIME *)" in summary model. | | Dubious signature "(tm *,int,long)" in summary model. | +| Dubious signature "(tunable_id_t,void *)" in summary model. | +| Dubious signature "(tunable_id_t,void *,tunable_callback_t)" in summary model. | | Dubious signature "(u64[2],const u128[16],const u8 *,size_t)" in summary model. | | Dubious signature "(uLong,const Bytef *,uInt)" in summary model. | | Dubious signature "(uLong,const Bytef *,z_size_t)" in summary model. | | Dubious signature "(uLong,unsigned long,const Bytef *,const unsigned char *,uInt)" in summary model. | | Dubious signature "(uLong,unsigned long,const Bytef *,const unsigned char *,z_size_t)" in summary model. | | Dubious signature "(u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32])" in summary model. | +| Dubious signature "(u_int,unsigned int,u_char *,unsigned char *)" in summary model. | +| Dubious signature "(u_long,unsigned long)" in summary model. | +| Dubious signature "(u_long,unsigned long,char *,size_t)" in summary model. | +| Dubious signature "(u_long,unsigned long,u_char *,unsigned char *)" in summary model. | +| Dubious signature "(ucontext_t *,..(*)(..),int,...)" in summary model. | | Dubious signature "(ucs4_t *,const uint8_t *,size_t)" in summary model. | | Dubious signature "(ucs4_t,ucs4_t *)" in summary model. | | Dubious signature "(ucs4_with_ccc *,size_t,ucs4_with_ccc *)" in summary model. | +| Dubious signature "(uid_t,passwd *,char *,size_t,passwd **)" in summary model. | | Dubious signature "(uint8_t *,const nghttp2_frame_hd *)" in summary model. | | Dubious signature "(uint8_t *,const nghttp2_priority_spec *)" in summary model. | | Dubious signature "(uint8_t *,const nghttp2_settings_entry *,size_t)" in summary model. | @@ -4390,11 +5239,15 @@ | Dubious signature "(uint8_t[57],const curve448_point_t)" in summary model. | | Dubious signature "(uint16_t **,size_t *,uint16_t **,size_t *,size_t **,size_t *,int *,size_t)" in summary model. | | Dubious signature "(uint16_t **,size_t *,uint16_t **,size_t *,size_t **,size_t *,void *)" in summary model. | +| Dubious signature "(uint16_t,unsigned char *)" in summary model. | | Dubious signature "(uint32_t *,SSL_CONNECTION *,int)" in summary model. | | Dubious signature "(uint32_t *,const IDNAMap *)" in summary model. | | Dubious signature "(uint32_t *,size_t *,int *,uint32_t,size_t,uint8_t *,uint8_t *,size_t)" in summary model. | +| Dubious signature "(uint32_t,int,netent *,char *,size_t,int *,int *)" in summary model. | +| Dubious signature "(uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__)" in summary model. | | Dubious signature "(uint32_t,uint32_t *,uint32_t *)" in summary model. | | Dubious signature "(uint32_t,uint32_t,uint32_t *,int32_t *)" in summary model. | +| Dubious signature "(uint32_t,unsigned char *)" in summary model. | | Dubious signature "(uint64_t *,const ASN1_INTEGER *)" in summary model. | | Dubious signature "(uint64_t *,int *,const unsigned char **,long)" in summary model. | | Dubious signature "(uint64_t *,uint64_t *,CRYPTO_RWLOCK *)" in summary model. | @@ -4431,6 +5284,7 @@ | Dubious signature "(unsigned char *,WHIRLPOOL_CTX *)" in summary model. | | Dubious signature "(unsigned char *,const BIGNUM *,DH *)" in summary model. | | Dubious signature "(unsigned char *,const char *)" in summary model. | +| Dubious signature "(unsigned char *,const char *,int)" in summary model. | | Dubious signature "(unsigned char *,const unsigned char *,const unsigned char *,size_t)" in summary model. | | Dubious signature "(unsigned char *,const unsigned char *,int)" in summary model. | | Dubious signature "(unsigned char *,const unsigned char *,size_t)" in summary model. | @@ -4461,11 +5315,20 @@ | Dubious signature "(unsigned char)" in summary model. | | Dubious signature "(unsigned char,const char *,ct_log_entry_type_t,uint64_t,const char *,const char *)" in summary model. | | Dubious signature "(unsigned char[56],const curve448_scalar_t)" in summary model. | +| Dubious signature "(unsigned int *)" in summary model. | | Dubious signature "(unsigned int *,const BF_KEY *)" in summary model. | | Dubious signature "(unsigned int *,const CAST_KEY *)" in summary model. | | Dubious signature "(unsigned int)" in summary model. | +| Dubious signature "(unsigned int,__locale_data *)" in summary model. | | Dubious signature "(unsigned int,char *,size_t *)" in summary model. | +| Dubious signature "(unsigned int,char *,size_t)" in summary model. | +| Dubious signature "(unsigned int,char *,size_t,random_data *)" in summary model. | +| Dubious signature "(unsigned int,char[16])" in summary model. | +| Dubious signature "(unsigned int,const char *,int)" in summary model. | +| Dubious signature "(unsigned int,const wchar_t *,int)" in summary model. | | Dubious signature "(unsigned int,int,int)" in summary model. | +| Dubious signature "(unsigned int,random_data *)" in summary model. | +| Dubious signature "(unsigned int,unsigned int)" in summary model. | | Dubious signature "(unsigned int[5],const unsigned char[64])" in summary model. | | Dubious signature "(unsigned long *,IDEA_KEY_SCHEDULE *)" in summary model. | | Dubious signature "(unsigned long *,RC2_KEY *)" in summary model. | @@ -4480,12 +5343,20 @@ | Dubious signature "(unsigned long *,unsigned long *,unsigned long *,int)" in summary model. | | Dubious signature "(unsigned long *,unsigned long *,unsigned long *,int,int,int,unsigned long *)" in summary model. | | Dubious signature "(unsigned long *,unsigned long *,unsigned long *,int,unsigned long *)" in summary model. | +| Dubious signature "(unsigned long long,char *,unsigned int,int)" in summary model. | | Dubious signature "(unsigned long)" in summary model. | | Dubious signature "(unsigned long,BIGNUM *,BIGNUM *,int)" in summary model. | | Dubious signature "(unsigned long,char *)" in summary model. | +| Dubious signature "(unsigned long,char *,unsigned int,int)" in summary model. | | Dubious signature "(unsigned long[8],const unsigned long[8],const unsigned long[8],const unsigned long[8],unsigned long,const unsigned long[8])" in summary model. | | Dubious signature "(unsigned long[16],const unsigned long[16],const unsigned long[16],const unsigned long[16],const unsigned long[16],unsigned long)" in summary model. | | Dubious signature "(unsigned short,int)" in summary model. | +| Dubious signature "(unsigned short[3])" in summary model. | +| Dubious signature "(unsigned short[3],drand48_data *)" in summary model. | +| Dubious signature "(unsigned short[3],drand48_data *,double *)" in summary model. | +| Dubious signature "(unsigned short[3],drand48_data *,long *)" in summary model. | +| Dubious signature "(unsigned short[7],drand48_data *)" in summary model. | +| Dubious signature "(utmp *,utmp **)" in summary model. | | Dubious signature "(uv__io_t *,uv__io_cb,int)" in summary model. | | Dubious signature "(uv_async_t *)" in summary model. | | Dubious signature "(uv_check_t *,uv_check_cb)" in summary model. | @@ -4600,45 +5471,98 @@ | Dubious signature "(vector &&)" in summary model. | | Dubious signature "(vector &&,const Allocator &)" in summary model. | | Dubious signature "(void *)" in summary model. | +| Dubious signature "(void **,..(*)(..))" in summary model. | +| Dubious signature "(void **,size_t,size_t)" in summary model. | | Dubious signature "(void *,CRYPTO_THREAD_RETVAL *)" in summary model. | | Dubious signature "(void *,OSSL_PARAM[])" in summary model. | | Dubious signature "(void *,PROV_GCM_CTX *,size_t,const PROV_GCM_HW *)" in summary model. | | Dubious signature "(void *,block128_f)" in summary model. | +| Dubious signature "(void *,bool)" in summary model. | +| Dubious signature "(void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t)" in summary model. | +| Dubious signature "(void *,cmsghdr **,int)" in summary model. | | Dubious signature "(void *,const ASN1_ITEM *,ASN1_OCTET_STRING **,ASN1_STRING **)" in summary model. | | Dubious signature "(void *,const ASN1_ITEM *,int,int)" in summary model. | | Dubious signature "(void *,const OSSL_PARAM[])" in summary model. | +| Dubious signature "(void *,const char *,const char *,void *)" in summary model. | | Dubious signature "(void *,const char *,int)" in summary model. | +| Dubious signature "(void *,const char *,void *)" in summary model. | +| Dubious signature "(void *,const in6_addr *)" in summary model. | | Dubious signature "(void *,const unsigned char *,size_t,const unsigned char *,size_t,const OSSL_PARAM[])" in summary model. | | Dubious signature "(void *,const unsigned char *,unsigned char *,const unsigned char *,size_t,block128_f)" in summary model. | +| Dubious signature "(void *,const void *,int,size_t)" in summary model. | | Dubious signature "(void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t)" in summary model. | | Dubious signature "(void *,curl_off_t,int)" in summary model. | | Dubious signature "(void *,int)" in summary model. | | Dubious signature "(void *,int,const OSSL_PARAM[])" in summary model. | | Dubious signature "(void *,int,size_t,size_t,size_t,uint64_t,const PROV_CIPHER_HW *)" in summary model. | +| Dubious signature "(void *,int,void *,socklen_t)" in summary model. | | Dubious signature "(void *,size_t)" in summary model. | | Dubious signature "(void *,size_t,const EC_POINT *,const EC_KEY *,..(*)(..))" in summary model. | | Dubious signature "(void *,size_t,const char *,int)" in summary model. | | Dubious signature "(void *,size_t,size_t)" in summary model. | +| Dubious signature "(void *,size_t,size_t,FILE *)" in summary model. | +| Dubious signature "(void *,size_t,size_t,__compar_fn_t)" in summary model. | | Dubious signature "(void *,size_t,size_t,const char *,int)" in summary model. | | Dubious signature "(void *,size_t,size_t,size_t,unsigned int,uint64_t,const PROV_CIPHER_HW *,void *)" in summary model. | +| Dubious signature "(void *,socklen_t)" in summary model. | +| Dubious signature "(void *,socklen_t,int)" in summary model. | +| Dubious signature "(void *,socklen_t,int,int)" in summary model. | +| Dubious signature "(void *,socklen_t,int,uint8_t *,socklen_t *,void **)" in summary model. | +| Dubious signature "(void *,socklen_t,int,uint8_t,socklen_t *,void **)" in summary model. | +| Dubious signature "(void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **)" in summary model. | | Dubious signature "(void *,sqlite3 *,int,const char *)" in summary model. | | Dubious signature "(void *,sqlite3_uint64)" in summary model. | | Dubious signature "(void *,unsigned char **,int,size_t,size_t,int,const unsigned char *,size_t)" in summary model. | | Dubious signature "(void *,unsigned char *,size_t *,size_t)" in summary model. | | Dubious signature "(void *,unsigned char *,size_t *,size_t,const unsigned char *,size_t)" in summary model. | | Dubious signature "(void *,unsigned char *,size_t)" in summary model. | +| Dubious signature "(void *,void *)" in summary model. | | Dubious signature "(void *,void *,block128_f,block128_f,ocb128_f)" in summary model. | | Dubious signature "(void *,void *,const OSSL_DISPATCH *,..(*)(..),..(*)(..),..(*)(..),..(*)(..),..(*)(..),..(*)(..))" in summary model. | | Dubious signature "(void *,void *,const unsigned char *,size_t,const OSSL_PARAM[])" in summary model. | +| Dubious signature "(void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__)" in summary model. | +| Dubious signature "(void *,void *const,size_t,size_t,__compar_d_fn_t,void *)" in summary model. | +| Dubious signature "(void *__restrict__,size_t,size_t,size_t,FILE *__restrict__)" in summary model. | +| Dubious signature "(void *const *,int)" in summary model. | | Dubious signature "(wchar_t *)" in summary model. | +| Dubious signature "(wchar_t *,const char **,size_t,mbstate_t *,locale_t)" in summary model. | +| Dubious signature "(wchar_t *,const char *,size_t,size_t)" in summary model. | +| Dubious signature "(wchar_t *,const wchar_t *,size_t)" in summary model. | +| Dubious signature "(wchar_t *,const wchar_t *,size_t,locale_t)" in summary model. | +| Dubious signature "(wchar_t *,const wchar_t *,size_t,size_t)" in summary model. | +| Dubious signature "(wchar_t *,size_t,const wchar_t *,va_list)" in summary model. | +| Dubious signature "(wchar_t *,size_t,const wchar_t *,va_list,unsigned int)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__)" in summary model. | +| Dubious signature "(wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list)" in summary model. | +| Dubious signature "(wchar_t *__restrict__,const wchar_t *__restrict__,size_t)" in summary model. | | Dubious signature "(wchar_t, const CStringT &)" in summary model. | +| Dubious signature "(wchar_t,FILE *,__FILE *)" in summary model. | | Dubious signature "(wchar_t,const CStringT &)" in summary model. | +| Dubious signature "(wint_t,FILE *,__FILE *)" in summary model. | | Dubious signature "(z_streamp,Bytef *,uInt *)" in summary model. | | Dubious signature "(z_streamp,const Bytef *,uInt)" in summary model. | | Dubious signature "(z_streamp,int *)" in summary model. | | Dubious signature "(z_streamp,unsigned int *,int *)" in summary model. | | Dubious signature "(z_streamp,unsigned int)" in summary model. | +| Unrecognized input specification "Argument[***3]" in summary model. | +| Unrecognized input specification "Argument[***4]" in summary model. | +| Unrecognized input specification "Argument[****3]" in summary model. | +| Unrecognized input specification "Argument[****4]" in summary model. | | Unrecognized input specification "Field[****hEvent]" in summary model. | | Unrecognized input specification "Field[***hEvent]" in summary model. | | Unrecognized output specification "Field[****hEvent]" in summary model. | | Unrecognized output specification "Field[***hEvent]" in summary model. | +| Unrecognized output specification "Parameter[***0]" in summary model. | +| Unrecognized output specification "Parameter[****0]" in summary model. | diff --git a/cpp/ql/test/library-tests/dataflow/external-models/windows.cpp b/cpp/ql/test/library-tests/dataflow/external-models/windows.cpp index b97ac8331026..2554dc9fd46c 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/windows.cpp +++ b/cpp/ql/test/library-tests/dataflow/external-models/windows.cpp @@ -335,3 +335,135 @@ void mapViewOfFile(HANDLE hMapFile) { sink(*buffer); // $ ir } } + +typedef struct _SECURITY_ATTRIBUTES +{ + DWORD nLength; + LPVOID lpSecurityDescriptor; + BOOL bInheritHandle; +} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES; + +typedef DWORD (*LPTHREAD_START_ROUTINE)( + LPVOID lpThreadParameter); + +HANDLE CreateThread( + LPSECURITY_ATTRIBUTES lpThreadAttributes, + SIZE_T dwStackSize, + LPTHREAD_START_ROUTINE lpStartAddress, + LPVOID lpParameter, + DWORD dwCreationFlags, + LPDWORD lpThreadId); + +HANDLE CreateRemoteThread( + HANDLE hProcess, + LPSECURITY_ATTRIBUTES lpThreadAttributes, + SIZE_T dwStackSize, + LPTHREAD_START_ROUTINE lpStartAddress, + LPVOID lpParameter, + DWORD dwCreationFlags, + LPDWORD lpThreadId +); + +typedef ULONG_PTR DWORD_PTR; + +typedef struct _PROC_THREAD_ATTRIBUTE_ENTRY +{ + DWORD_PTR Attribute; + SIZE_T cbSize; + PVOID lpValue; +} PROC_THREAD_ATTRIBUTE_ENTRY, *LPPROC_THREAD_ATTRIBUTE_ENTRY; + +// This structure contains a list of attributes that have been added using UpdateProcThreadAttribute +typedef struct _PROC_THREAD_ATTRIBUTE_LIST +{ + DWORD dwFlags; + ULONG Size; + ULONG Count; + ULONG Reserved; + PULONG Unknown; + PROC_THREAD_ATTRIBUTE_ENTRY Entries[1]; +} PROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST; + +HANDLE CreateRemoteThreadEx( + HANDLE hProcess, + LPSECURITY_ATTRIBUTES lpThreadAttributes, + SIZE_T dwStackSize, + LPTHREAD_START_ROUTINE lpStartAddress, + LPVOID lpParameter, + DWORD dwCreationFlags, + LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, + LPDWORD lpThreadId +); + +struct S +{ + int x; +}; + +DWORD ThreadProc1(LPVOID lpParameter) +{ + S *s = (S *)lpParameter; + sink(s->x); // $ ir + return 0; +} + +DWORD ThreadProc2(LPVOID lpParameter) +{ + S *s = (S *)lpParameter; + sink(s->x); // $ ir + return 0; +} + +DWORD ThreadProc3(LPVOID lpParameter) +{ + S *s = (S *)lpParameter; + sink(s->x); // $ ir + return 0; +} + +int source(); + +void test_create_thread() +{ + SECURITY_ATTRIBUTES sa; + + S s; + s.x = source(); + + { + DWORD threadId; + HANDLE threadHandle = CreateThread( + &sa, + 0, + ThreadProc1, + &s, + 0, + &threadId); + } + + { + DWORD threadId; + HANDLE threadHandle = CreateRemoteThread( + nullptr, + &sa, + 0, + ThreadProc2, + &s, + 0, + &threadId); + } + + { + DWORD threadId; + PROC_THREAD_ATTRIBUTE_LIST attrList; + HANDLE threadHandle = CreateRemoteThreadEx( + nullptr, + &sa, + 0, + ThreadProc3, + &s, + 0, + &attrList, + &threadId); + } +} \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected index 1eab706df430..e19f34eb2170 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected @@ -7767,6 +7767,34 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | taint.cpp:830:20:830:34 | call to indirect_source | taint.cpp:832:23:832:24 | in | | | taint.cpp:831:15:831:17 | out | taint.cpp:832:18:832:20 | out | | | taint.cpp:831:15:831:17 | out | taint.cpp:833:8:833:10 | out | | +| thread.cpp:10:27:10:27 | s | thread.cpp:10:27:10:27 | s | | +| thread.cpp:10:27:10:27 | s | thread.cpp:11:8:11:8 | s | | +| thread.cpp:14:26:14:26 | s | thread.cpp:15:8:15:8 | s | | +| thread.cpp:18:27:18:27 | s | thread.cpp:18:27:18:27 | s | | +| thread.cpp:18:27:18:27 | s | thread.cpp:19:8:19:8 | s | | +| thread.cpp:18:34:18:34 | y | thread.cpp:20:8:20:8 | y | | +| thread.cpp:24:5:24:5 | s | thread.cpp:25:3:25:3 | s | | +| thread.cpp:24:5:24:5 | s | thread.cpp:26:38:26:38 | s | | +| thread.cpp:24:5:24:5 | s | thread.cpp:27:37:27:37 | s | | +| thread.cpp:24:5:24:5 | s | thread.cpp:28:38:28:38 | s | | +| thread.cpp:24:5:24:5 | s | thread.cpp:32:7:32:7 | s | | +| thread.cpp:25:3:25:3 | s [post update] | thread.cpp:26:38:26:38 | s | | +| thread.cpp:25:3:25:3 | s [post update] | thread.cpp:27:37:27:37 | s | | +| thread.cpp:25:3:25:3 | s [post update] | thread.cpp:28:38:28:38 | s | | +| thread.cpp:25:3:25:3 | s [post update] | thread.cpp:32:7:32:7 | s | | +| thread.cpp:25:3:25:16 | ... = ... | thread.cpp:25:5:25:5 | x [post update] | | +| thread.cpp:25:9:25:14 | call to source | thread.cpp:25:3:25:16 | ... = ... | | +| thread.cpp:26:18:26:39 | call to thread | thread.cpp:33:1:33:1 | t1 | | +| thread.cpp:26:38:26:38 | s | thread.cpp:26:37:26:38 | & ... | | +| thread.cpp:27:18:27:38 | call to thread | thread.cpp:33:1:33:1 | t2 | | +| thread.cpp:27:37:27:37 | ref arg s | thread.cpp:28:38:28:38 | s | | +| thread.cpp:27:37:27:37 | ref arg s | thread.cpp:32:7:32:7 | s | | +| thread.cpp:28:18:28:43 | call to thread | thread.cpp:33:1:33:1 | t3 | | +| thread.cpp:28:38:28:38 | s | thread.cpp:28:37:28:38 | & ... | | +| thread.cpp:30:18:32:8 | call to thread | thread.cpp:33:1:33:1 | t4 | | +| thread.cpp:30:24:30:24 | p | thread.cpp:30:24:30:24 | p | | +| thread.cpp:30:24:30:24 | p | thread.cpp:31:10:31:10 | p | | +| thread.cpp:32:7:32:7 | s | thread.cpp:32:6:32:7 | & ... | | | vector.cpp:16:43:16:49 | source1 | vector.cpp:17:26:17:32 | source1 | | | vector.cpp:16:43:16:49 | source1 | vector.cpp:31:38:31:44 | source1 | | | vector.cpp:17:21:17:33 | call to vector | vector.cpp:19:14:19:14 | v | | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h b/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h index 01e5f3b929b0..57be2e9769af 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/stl.h @@ -681,4 +681,17 @@ namespace std { // the model for `format`. template int same_signature_as_format_but_different_name(format_string, Args &&...args); +} + +namespace std { + class thread { + public: + template + explicit thread(F&&, Args&&...); + + ~thread(); + + void join(); + void detach(); + }; } \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected index 5311879eebf2..239ed2ec607d 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected @@ -17,22 +17,60 @@ signatureMatches | arrayassignment.cpp:3:6:3:9 | sink | (int) | | X509_TRUST_get0 | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | X509_TRUST_get_by_id | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __btowc | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __current_locale_name | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __fdopendir | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __get_errlist | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __get_errname | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __math_invalid_i | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __math_invalidf_i | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __p_class | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __p_rcode | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __p_type | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __pkey_get | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __sigdescr_np | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | __strerrordesc_np | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | _tolower | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | _toupper | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | btowc | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | c_tolower | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | c_toupper | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | curlx_sitouz | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | evp_pkey_type2name | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | inet6_option_space | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isalnum | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isalpha | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isblank | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | iscntrl | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isdigit | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isgraph | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | islower | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isprint | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | ispunct | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isspace | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isupper | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | isxdigit | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | ossl_cmp_bodytype_to_string | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | ossl_tolower | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | ossl_toupper | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | sigabbrev_np | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | sqlite3_compileoption_get | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | sqlite3_errstr | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | strerrorname_np | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | support_report_failure | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | svcudp_create | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | tls13_alert_code | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | toascii | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | tolower | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | toupper | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | | uabs | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | uv__accept | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | uv_err_name | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | uv_get_osfhandle | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | uv_strerror | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | uv_translate_sys_error | 0 | | arrayassignment.cpp:3:6:3:9 | sink | (int) | | zError | 0 | +| arrayassignment.cpp:3:6:3:9 | sink | (int) | __pthread_cleanup_class | __setdoit | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | ASN1_STRING_type_new | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | ASN1_tag2bit | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | ASN1_tag2str | 0 | @@ -51,22 +89,60 @@ signatureMatches | arrayassignment.cpp:88:7:88:9 | get | (int) | | X509_TRUST_get0 | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | X509_TRUST_get_by_id | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __btowc | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __current_locale_name | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __fdopendir | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __get_errlist | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __get_errname | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __math_invalid_i | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __math_invalidf_i | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __p_class | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __p_rcode | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __p_type | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __pkey_get | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __sigdescr_np | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | __strerrordesc_np | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | _tolower | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | _toupper | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | btowc | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | c_tolower | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | c_toupper | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | curlx_sitouz | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | evp_pkey_type2name | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | inet6_option_space | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isalnum | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isalpha | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isblank | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | iscntrl | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isdigit | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isgraph | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | islower | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isprint | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | ispunct | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isspace | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isupper | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | isxdigit | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | ossl_cmp_bodytype_to_string | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | ossl_tolower | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | ossl_toupper | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | sigabbrev_np | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | sqlite3_compileoption_get | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | sqlite3_errstr | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | strerrorname_np | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | support_report_failure | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | svcudp_create | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | tls13_alert_code | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | toascii | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | tolower | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | toupper | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | | uabs | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | uv__accept | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | uv_err_name | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | uv_get_osfhandle | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | uv_strerror | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | uv_translate_sys_error | 0 | | arrayassignment.cpp:88:7:88:9 | get | (int) | | zError | 0 | +| arrayassignment.cpp:88:7:88:9 | get | (int) | __pthread_cleanup_class | __setdoit | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ASN1_STRING_type_new | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ASN1_tag2bit | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ASN1_tag2str | 0 | @@ -85,26 +161,68 @@ signatureMatches | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | X509_TRUST_get0 | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | X509_TRUST_get_by_id | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __btowc | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __current_locale_name | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __fdopendir | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __get_errlist | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __get_errname | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __math_invalid_i | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __math_invalidf_i | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __p_class | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __p_rcode | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __p_type | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __pkey_get | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __sigdescr_np | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | __strerrordesc_np | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | _tolower | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | _toupper | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | btowc | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | c_tolower | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | c_toupper | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | curlx_sitouz | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | evp_pkey_type2name | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | inet6_option_space | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isalnum | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isalpha | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isblank | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | iscntrl | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isdigit | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isgraph | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | islower | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isprint | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ispunct | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isspace | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isupper | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | isxdigit | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ossl_cmp_bodytype_to_string | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ossl_tolower | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | ossl_toupper | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | sigabbrev_np | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | sqlite3_compileoption_get | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | sqlite3_errstr | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | strerrorname_np | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | support_report_failure | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | svcudp_create | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | tls13_alert_code | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | toascii | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | tolower | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | toupper | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | uabs | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | uv__accept | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | uv_err_name | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | uv_get_osfhandle | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | uv_strerror | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | uv_translate_sys_error | 0 | | arrayassignment.cpp:90:7:90:16 | operator[] | (int) | | zError | 0 | +| arrayassignment.cpp:90:7:90:16 | operator[] | (int) | __pthread_cleanup_class | __setdoit | 0 | +| arrayassignment.cpp:124:6:124:9 | sink | (int *) | | rresvport | 0 | | atl.cpp:71:5:71:17 | _U_STRINGorID | (UINT) | CComBSTR | LoadString | 0 | | atl.cpp:71:5:71:17 | _U_STRINGorID | (UINT) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:71:5:71:17 | _U_STRINGorID | (unsigned int) | | Jim_IntHashFunction | 0 | +| atl.cpp:71:5:71:17 | _U_STRINGorID | (unsigned int) | | __sleep | 0 | +| atl.cpp:71:5:71:17 | _U_STRINGorID | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | | atl.cpp:71:5:71:17 | _U_STRINGorID | (unsigned int) | | curlx_uitous | 0 | +| atl.cpp:71:5:71:17 | _U_STRINGorID | (unsigned int) | | la_version | 0 | | atl.cpp:71:5:71:17 | _U_STRINGorID | (unsigned int) | | ssl3_get_cipher | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | BIO_gethostbyname | 0 | @@ -119,26 +237,54 @@ signatureMatches | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | UI_create_method | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __basename | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __gettext | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __hash_string | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __strdup | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __textdomain | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | __tzstring | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | a64l | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | charmap_opendir | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | ether_aton | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | getdate | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | inetstr2int | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | last_component | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | opt_path_end | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | opt_progname | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | repertoire_read | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | sgetsgent | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | sgetspent | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | strhash | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | uc_script_byname | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | uv__strdup | 0 | | atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:72:5:72:17 | _U_STRINGorID | (const char *) | | xstrdup | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | BrotliEncoderMaxCompressedSize | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | EVP_PKEY_meth_get0 | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | __libc_malloc | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | __libc_valloc | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | _dl_early_allocate | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | curlx_uztosi | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | curlx_uztosz | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | curlx_uztoui | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | curlx_uztoul | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | malloc | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | ossl_get_extension_type | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | ossl_param_bytes_to_blocks | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | ossl_quic_sstream_new | 0 | | atl.cpp:201:8:201:12 | GetAt | (size_t) | | ssl_cert_new | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | support_next_to_fault_allocate | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | support_next_to_fault_allocate_before | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | support_stack_alloc | 0 | +| atl.cpp:201:8:201:12 | GetAt | (size_t) | | xalloc_sigstack | 0 | | atl.cpp:206:10:206:17 | InsertAt | (BLAKE2B_CTX *,const void *,size_t) | | ossl_blake2b_update | 2 | | atl.cpp:206:10:206:17 | InsertAt | (BLAKE2B_PARAM *,const uint8_t *,size_t) | | ossl_blake2b_param_set_personal | 2 | | atl.cpp:206:10:206:17 | InsertAt | (BLAKE2B_PARAM *,const uint8_t *,size_t) | | ossl_blake2b_param_set_salt | 2 | @@ -167,6 +313,17 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (EVP_PKEY *,char *,size_t) | | EVP_PKEY_get_default_digest_name | 2 | | atl.cpp:206:10:206:17 | InsertAt | (EVP_RAND_CTX *,unsigned char *,size_t) | | EVP_RAND_nonce | 2 | | atl.cpp:206:10:206:17 | InsertAt | (FFC_PARAMS *,const unsigned char *,size_t) | | ossl_ffc_params_set_seed | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const char *,size_t) | | _IO_new_do_write | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const void *,size_t) | | _IO_default_xsputn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,void *,size_t) | | _IO_default_xsgetn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,void *,size_t) | | _IO_file_xsgetn | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 2 | | atl.cpp:206:10:206:17 | InsertAt | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_aad | 2 | | atl.cpp:206:10:206:17 | InsertAt | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_setiv | 2 | | atl.cpp:206:10:206:17 | InsertAt | (GCM128_CONTEXT *,unsigned char *,size_t) | | CRYPTO_gcm128_tag | 2 | @@ -241,6 +398,7 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (SSL_SESSION *,const unsigned char *,size_t) | | SSL_SESSION_set1_alpn_selected | 2 | | atl.cpp:206:10:206:17 | InsertAt | (SSL_SESSION *,const unsigned char *,size_t) | | SSL_SESSION_set1_master_key | 2 | | atl.cpp:206:10:206:17 | InsertAt | (SSL_SESSION *,const void *,size_t) | | SSL_SESSION_set1_ticket_appdata | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (Strtab *,const char *,size_t) | | strtabadd | 2 | | atl.cpp:206:10:206:17 | InsertAt | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_BitUpdate | 2 | | atl.cpp:206:10:206:17 | InsertAt | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_Update | 2 | | atl.cpp:206:10:206:17 | InsertAt | (WPACKET *,BUF_MEM *,size_t) | | WPACKET_init_len | 2 | @@ -254,6 +412,14 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_email | 2 | | atl.cpp:206:10:206:17 | InsertAt | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_host | 2 | | atl.cpp:206:10:206:17 | InsertAt | (X509_VERIFY_PARAM *,const unsigned char *,size_t) | | X509_VERIFY_PARAM_set1_ip | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 2 | | atl.cpp:206:10:206:17 | InsertAt | (bufc_pool *,size_t,size_t) | | Curl_bufcp_init | 2 | | atl.cpp:206:10:206:17 | InsertAt | (bufq *,size_t,size_t) | | Curl_bufq_init | 2 | | atl.cpp:206:10:206:17 | InsertAt | (bufref *,const void *,size_t) | | Curl_bufref_memdup | 2 | @@ -263,6 +429,9 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (char *,const char *,size_t) | | OPENSSL_strlcat | 2 | | atl.cpp:206:10:206:17 | InsertAt | (char *,const char *,size_t) | | OPENSSL_strlcpy | 2 | | atl.cpp:206:10:206:17 | InsertAt | (char *,const char *,size_t) | | uv__strscpy | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (char *,size_t,size_t) | | __getcwd_chk | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const CTLOG_STORE *,const uint8_t *,size_t) | | CTLOG_STORE_get0_log_by_id | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const EC_KEY *,unsigned char *,size_t) | | ossl_ec_key_simple_priv2oct | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const EVP_MD *,const OSSL_ITEM *,size_t) | | ossl_digest_md_to_nid | 2 | @@ -276,7 +445,10 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (const SSL_SESSION *,unsigned char *,size_t) | | SSL_SESSION_get_master_key | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,char **,size_t) | | OSSL_PARAM_construct_utf8_ptr | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const char *,char *,size_t) | | __libc_ns_makecanon | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const char *,char *,size_t) | | __realpath_chk | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,char *,size_t) | | getpass_r | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const char *,char *,size_t) | | ns_makecanon | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,const char *,size_t) | | c_strncasecmp | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 2 | @@ -284,11 +456,20 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const char *,void *,size_t) | | uv__random_readpath | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const charmap_t *,const char *,size_t) | | charmap_find_value | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const sockaddr *,char *,size_t) | | uv_ip_name | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const unsigned char *,size_t,size_t) | | ossl_rand_pool_attach | 2 | | atl.cpp:206:10:206:17 | InsertAt | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const void *,size_t,size_t) | | support_blob_repeat_allocate | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const_nis_name,char *,size_t) | | nis_domain_of_r | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const_nis_name,char *,size_t) | | nis_leaf_of_r | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (const_nis_name,char *,size_t) | | nis_name_of_r | 2 | | atl.cpp:206:10:206:17 | InsertAt | (curl_mimepart *,const char *,size_t) | | curl_mime_data | 2 | | atl.cpp:206:10:206:17 | InsertAt | (curve448_scalar_t,const unsigned char *,size_t) | | ossl_curve448_scalar_decode_long | 2 | | atl.cpp:206:10:206:17 | InsertAt | (dynbuf *,const void *,size_t) | | Curl_dyn_addn | 2 | @@ -299,9 +480,15 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (int *,const char *,size_t) | | Curl_http_decode_status | 2 | | atl.cpp:206:10:206:17 | InsertAt | (int *,int *,size_t) | | EVP_PBE_get | 2 | | atl.cpp:206:10:206:17 | InsertAt | (int,char *,size_t) | | Curl_strerror | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (int,char *,size_t) | | __strerror_r | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (int,char *,size_t) | | __ttyname_r | 2 | | atl.cpp:206:10:206:17 | InsertAt | (int,char *,size_t) | | uv_err_name_r | 2 | | atl.cpp:206:10:206:17 | InsertAt | (int,char *,size_t) | | uv_strerror_r | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (int,const void *,size_t) | | _nl_intern_locale_data | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (int,const void *,size_t) | | writeall | 2 | | atl.cpp:206:10:206:17 | InsertAt | (int,int,size_t) | | BrotliEncoderEstimatePeakMemoryUsage | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (int,void *,size_t) | | __readall | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 2 | | atl.cpp:206:10:206:17 | InsertAt | (nghttp2_buf *,uint8_t *,size_t) | | nghttp2_buf_wrap_init | 2 | | atl.cpp:206:10:206:17 | InsertAt | (nghttp2_extension *,nghttp2_origin_entry *,size_t) | | nghttp2_frame_origin_init | 2 | | atl.cpp:206:10:206:17 | InsertAt | (nghttp2_extpri *,const uint8_t *,size_t) | | nghttp2_extpri_parse_priority | 2 | @@ -312,6 +499,9 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (nghttp2_session *,int32_t,size_t) | | nghttp2_session_consume | 2 | | atl.cpp:206:10:206:17 | InsertAt | (nghttp2_session *,nghttp2_settings_entry *,size_t) | | nghttp2_session_update_local_settings | 2 | | atl.cpp:206:10:206:17 | InsertAt | (nghttp2_settings *,nghttp2_settings_entry *,size_t) | | nghttp2_frame_unpack_settings_payload | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 2 | | atl.cpp:206:10:206:17 | InsertAt | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 2 | | atl.cpp:206:10:206:17 | InsertAt | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 2 | | atl.cpp:206:10:206:17 | InsertAt | (stack_st_SCT **,const unsigned char **,size_t) | | o2i_SCT_LIST | 2 | @@ -323,35 +513,62 @@ signatureMatches | atl.cpp:206:10:206:17 | InsertAt | (unsigned char *,const unsigned char *,size_t) | | BUF_reverse | 2 | | atl.cpp:206:10:206:17 | InsertAt | (unsigned char *,size_t *,size_t) | | ossl_cipher_padblock | 2 | | atl.cpp:206:10:206:17 | InsertAt | (unsigned char *,size_t *,size_t) | | ossl_cipher_unpadblock | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (unsigned int,char *,size_t) | | __initstate | 2 | | atl.cpp:206:10:206:17 | InsertAt | (uv_thread_t *,char *,size_t) | | uv__thread_getname | 2 | | atl.cpp:206:10:206:17 | InsertAt | (uv_thread_t *,char *,size_t) | | uv_thread_getaffinity | 2 | | atl.cpp:206:10:206:17 | InsertAt | (uv_thread_t *,char *,size_t) | | uv_thread_getname | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (void **,size_t,size_t) | | __posix_memalign | 2 | | atl.cpp:206:10:206:17 | InsertAt | (void *,size_t,size_t) | | Curl_hash_str | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (void *,size_t,size_t) | | __libc_reallocarray | 2 | | atl.cpp:206:10:206:17 | InsertAt | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 2 | +| atl.cpp:206:10:206:17 | InsertAt | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 2 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | BrotliEncoderMaxCompressedSize | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | EVP_PKEY_meth_get0 | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | __libc_malloc | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | __libc_valloc | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | _dl_early_allocate | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | curlx_uztosi | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | curlx_uztosz | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | curlx_uztoui | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | curlx_uztoul | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | malloc | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | ossl_get_extension_type | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | ossl_param_bytes_to_blocks | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | ossl_quic_sstream_new | 0 | | atl.cpp:213:8:213:17 | operator[] | (size_t) | | ssl_cert_new | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | support_next_to_fault_allocate | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | support_next_to_fault_allocate_before | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | support_stack_alloc | 0 | +| atl.cpp:213:8:213:17 | operator[] | (size_t) | | xalloc_sigstack | 0 | | atl.cpp:259:5:259:12 | CAtlList | (UINT) | CComBSTR | LoadString | 0 | | atl.cpp:259:5:259:12 | CAtlList | (UINT) | CComBSTR | LoadString | 0 | | atl.cpp:259:5:259:12 | CAtlList | (UINT) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:259:5:259:12 | CAtlList | (UINT) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | Jim_IntHashFunction | 0 | | atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | Jim_IntHashFunction | 0 | +| atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | __sleep | 0 | +| atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | __sleep | 0 | +| atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | +| atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | | atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | curlx_uitous | 0 | | atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | curlx_uitous | 0 | +| atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | la_version | 0 | +| atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | la_version | 0 | | atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | ssl3_get_cipher | 0 | | atl.cpp:259:5:259:12 | CAtlList | (unsigned int) | | ssl3_get_cipher | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | BrotliEncoderMaxCompressedSize | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | BrotliEncoderMaxCompressedSize | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | EVP_PKEY_meth_get0 | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | EVP_PKEY_meth_get0 | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | __libc_malloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | __libc_malloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | __libc_valloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | __libc_valloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | _dl_early_allocate | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | _dl_early_allocate | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | curlx_uztosi | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | curlx_uztosi | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | curlx_uztosz | 0 | @@ -360,6 +577,8 @@ signatureMatches | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | curlx_uztoui | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | curlx_uztoul | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | curlx_uztoul | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | malloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | malloc | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | ossl_get_extension_type | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | ossl_get_extension_type | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | ossl_param_bytes_to_blocks | 0 | @@ -368,6 +587,14 @@ signatureMatches | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | ossl_quic_sstream_new | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | ssl_cert_new | 0 | | atl.cpp:268:14:268:22 | FindIndex | (size_t) | | ssl_cert_new | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | support_next_to_fault_allocate | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | support_next_to_fault_allocate | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | support_next_to_fault_allocate_before | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | support_next_to_fault_allocate_before | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | support_stack_alloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | support_stack_alloc | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | xalloc_sigstack | 0 | +| atl.cpp:268:14:268:22 | FindIndex | (size_t) | | xalloc_sigstack | 0 | | atl.cpp:409:10:409:10 | operator= | (const CComBSTR &) | CComBSTR | Append | 0 | | atl.cpp:409:10:409:10 | operator= | (const CComBSTR &) | CComBSTR | CComBSTR | 0 | | atl.cpp:411:5:411:12 | CComBSTR | (const CComBSTR &) | CComBSTR | Append | 0 | @@ -390,22 +617,64 @@ signatureMatches | atl.cpp:412:5:412:12 | CComBSTR | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __btowc | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __current_locale_name | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __fdopendir | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __get_errlist | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __get_errname | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __math_invalid_i | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __math_invalidf_i | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __p_class | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __p_rcode | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __p_type | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __pkey_get | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __sigdescr_np | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | __strerrordesc_np | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | _tolower | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | _toupper | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | btowc | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | c_tolower | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | c_toupper | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | curlx_sitouz | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | inet6_option_space | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isalnum | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isalpha | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isblank | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | iscntrl | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isdigit | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isgraph | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | islower | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isprint | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | ispunct | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isspace | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isupper | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | isxdigit | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | ossl_tolower | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | ossl_toupper | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | sigabbrev_np | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | sqlite3_errstr | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | strerrorname_np | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | support_report_failure | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | svcudp_create | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | tls13_alert_code | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | toascii | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | tolower | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | toupper | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | | uabs | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | uv__accept | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | uv_err_name | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | uv_get_osfhandle | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | uv_strerror | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | uv_translate_sys_error | 0 | | atl.cpp:412:5:412:12 | CComBSTR | (int) | | zError | 0 | +| atl.cpp:412:5:412:12 | CComBSTR | (int) | __pthread_cleanup_class | __setdoit | 0 | +| atl.cpp:413:5:413:12 | CComBSTR | (__wprintf_buffer *,const wchar_t *) | | __wprintf_buffer_puts_1 | 1 | +| atl.cpp:413:5:413:12 | CComBSTR | (const wchar_t *,const wchar_t *) | | __wcscoll | 1 | +| atl.cpp:413:5:413:12 | CComBSTR | (const wchar_t *,const wchar_t *) | | wcspbrk | 1 | +| atl.cpp:413:5:413:12 | CComBSTR | (const wchar_t *,const wchar_t *) | | wcsstr | 1 | | atl.cpp:413:5:413:12 | CComBSTR | (int,LPCOLESTR) | CComBSTR | CComBSTR | 0 | | atl.cpp:413:5:413:12 | CComBSTR | (int,LPCOLESTR) | CComBSTR | CComBSTR | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | @@ -438,6 +707,7 @@ signatureMatches | atl.cpp:414:5:414:12 | CComBSTR | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -494,22 +764,51 @@ signatureMatches | atl.cpp:414:5:414:12 | CComBSTR | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (char **,const char *) | | Curl_setstropt | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (char **,const char *) | | __strsep | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (char *,const char *) | | xstrdup | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char **,const char *) | | uv__utf8_decode1 | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | Configcmp | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | Curl_timestrcmp | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | DES_crypt | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __bindtextdomain | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __dgettext | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __gconv_compare_alias | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strcasestr | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strcspn_generic | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strcspn_sse42 | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strpbrk_generic | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strspn_generic | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strspn_sse42 | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strstr_generic | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | __strverscmp | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | advance | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | c_strcasecmp | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | charmap_aliases | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | charmap_open | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | chroot_canon | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | get_passwd | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | gzopen | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | gzopen64 | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | iconv_open | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | openssl_fopen | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | ossl_pem_check_suffix | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | ossl_v3_name_cmp | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | sqlite3_strglob | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | sqlite3_stricmp | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | step | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | tempnam | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const char *,const char *) | | xfopen | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const mntent *,const char *) | | __hasmntopt | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (const nis_error,const char *) | | nis_sperror | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (curl_off_t *,const char *) | | str2offset | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -519,20 +818,29 @@ signatureMatches | atl.cpp:414:5:414:12 | CComBSTR | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (gzFile,const char *) | | gzputs | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (int,LPCSTR) | CComBSTR | CComBSTR | 0 | | atl.cpp:414:5:414:12 | CComBSTR | (int,LPCSTR) | CComBSTR | CComBSTR | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | BIO_meth_new | 0 | | atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | BIO_meth_new | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | _IO_new_fdopen | 0 | +| atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | _IO_new_fdopen | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | gzdopen | 0 | | atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | gzdopen | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | setlocale | 0 | +| atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | setlocale | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | xsetlocale | 0 | +| atl.cpp:414:5:414:12 | CComBSTR | (int,const char *) | | xsetlocale | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (lemon *,const char *) | | file_makename | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (long *,const char *) | | secs2ms | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (long *,const char *) | | str2num | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (long *,const char *) | | str2unum | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (nss_module *,const char *) | | __nss_module_get_function | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (size_t *,const char *) | | next_protos_parse | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (slist_wc **,const char *) | | easysrc_add | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (slist_wc *,const char *) | | slist_wc_append | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -540,6 +848,7 @@ signatureMatches | atl.cpp:414:5:414:12 | CComBSTR | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| atl.cpp:414:5:414:12 | CComBSTR | (stringtable *,const char *) | | stringtable_add | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (unsigned long *,const char *) | | set_cert_ex | 1 | | atl.cpp:414:5:414:12 | CComBSTR | (unsigned long *,const char *) | | set_name_ex | 1 | @@ -560,20 +869,41 @@ signatureMatches | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | UI_create_method | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __basename | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __gettext | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __hash_string | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __strdup | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __textdomain | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | __tzstring | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | a64l | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | charmap_opendir | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | ether_aton | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | getdate | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | inetstr2int | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | last_component | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | opt_path_end | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | opt_progname | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | repertoire_read | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | sgetsgent | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | sgetspent | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | strhash | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | uc_script_byname | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | uv__strdup | 0 | | atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:416:5:416:12 | CComBSTR | (const char *) | | xstrdup | 0 | | atl.cpp:417:5:417:12 | CComBSTR | (CComBSTR &&) | CComBSTR | CComBSTR | 0 | | atl.cpp:420:13:420:18 | Append | (const CComBSTR &) | CComBSTR | Append | 0 | | atl.cpp:420:13:420:18 | Append | (const CComBSTR &) | CComBSTR | CComBSTR | 0 | | atl.cpp:421:13:421:18 | Append | (wchar_t) | | operator+= | 0 | +| atl.cpp:421:13:421:18 | Append | (wchar_t) | | wcwidth | 0 | | atl.cpp:421:13:421:18 | Append | (wchar_t) | CComBSTR | Append | 0 | | atl.cpp:421:13:421:18 | Append | (wchar_t) | CSimpleStringT | operator+= | 0 | | atl.cpp:422:13:422:18 | Append | (char) | | Curl_raw_tolower | 0 | @@ -598,16 +928,36 @@ signatureMatches | atl.cpp:424:13:424:18 | Append | (const char *) | | UI_create_method | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __basename | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __gettext | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __hash_string | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __strdup | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __textdomain | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | __tzstring | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | a64l | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | charmap_opendir | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | ether_aton | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | getdate | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | inetstr2int | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | last_component | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | opt_path_end | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | opt_progname | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | repertoire_read | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | sgetsgent | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | sgetspent | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | strhash | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | uc_script_byname | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | uv__strdup | 0 | | atl.cpp:424:13:424:18 | Append | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:424:13:424:18 | Append | (const char *) | | xstrdup | 0 | | atl.cpp:425:13:425:18 | Append | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | atl.cpp:425:13:425:18 | Append | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | atl.cpp:425:13:425:18 | Append | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -671,6 +1021,19 @@ signatureMatches | atl.cpp:425:13:425:18 | Append | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:425:13:425:18 | Append | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:425:13:425:18 | Append | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:425:13:425:18 | Append | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:425:13:425:18 | Append | (FTS *,int) | | fts_children | 1 | | atl.cpp:425:13:425:18 | Append | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:425:13:425:18 | Append | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:425:13:425:18 | Append | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -799,7 +1162,15 @@ signatureMatches | atl.cpp:425:13:425:18 | Append | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:425:13:425:18 | Append | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:425:13:425:18 | Append | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:425:13:425:18 | Append | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:425:13:425:18 | Append | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:425:13:425:18 | Append | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:425:13:425:18 | Append | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:425:13:425:18 | Append | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:425:13:425:18 | Append | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:425:13:425:18 | Append | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:425:13:425:18 | Append | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:425:13:425:18 | Append | (char **,int) | | addrsort | 1 | | atl.cpp:425:13:425:18 | Append | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:425:13:425:18 | Append | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:425:13:425:18 | Append | (char,int) | CStringT | CStringT | 1 | @@ -864,21 +1235,37 @@ signatureMatches | atl.cpp:425:13:425:18 | Append | (const char *,int) | | Jim_StrDupLen | 1 | | atl.cpp:425:13:425:18 | Append | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:425:13:425:18 | Append | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:425:13:425:18 | Append | (const char *,int) | | ftok | 1 | +| atl.cpp:425:13:425:18 | Append | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:425:13:425:18 | Append | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:425:13:425:18 | Append | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:425:13:425:18 | Append | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:425:13:425:18 | Append | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:425:13:425:18 | Append | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:425:13:425:18 | Append | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:425:13:425:18 | Append | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:425:13:425:18 | Append | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:425:13:425:18 | Append | (double,int) | | __ldexp | 1 | +| atl.cpp:425:13:425:18 | Append | (double,int) | | __scalbn | 1 | +| atl.cpp:425:13:425:18 | Append | (double[],int) | | getloadavg | 1 | | atl.cpp:425:13:425:18 | Append | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:425:13:425:18 | Append | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:425:13:425:18 | Append | (float,int) | | __ldexpf | 1 | +| atl.cpp:425:13:425:18 | Append | (float,int) | | __scalbnf | 1 | | atl.cpp:425:13:425:18 | Append | (gzFile,int) | | gzflush | 1 | | atl.cpp:425:13:425:18 | Append | (gzFile,int) | | gzputc | 1 | | atl.cpp:425:13:425:18 | Append | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:425:13:425:18 | Append | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:425:13:425:18 | Append | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:425:13:425:18 | Append | (int,int) | | BN_security_bits | 1 | | atl.cpp:425:13:425:18 | Append | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:425:13:425:18 | Append | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:425:13:425:18 | Append | (int,int) | | __isctype | 1 | | atl.cpp:425:13:425:18 | Append | (int,int) | | acttab_alloc | 1 | +| atl.cpp:425:13:425:18 | Append | (int,int) | | div | 1 | +| atl.cpp:425:13:425:18 | Append | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:425:13:425:18 | Append | (long double,int) | | __ldexpl | 1 | +| atl.cpp:425:13:425:18 | Append | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:425:13:425:18 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:425:13:425:18 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:425:13:425:18 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -886,8 +1273,21 @@ signatureMatches | atl.cpp:425:13:425:18 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:425:13:425:18 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:425:13:425:18 | Append | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:425:13:425:18 | Append | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:425:13:425:18 | Append | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:425:13:425:18 | Append | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:425:13:425:18 | Append | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:425:13:425:18 | Append | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:425:13:425:18 | Append | (rule *,int) | | Configlist_add | 1 | | atl.cpp:425:13:425:18 | Append | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:425:13:425:18 | Append | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:425:13:425:18 | Append | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:425:13:425:18 | Append | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:425:13:425:18 | Append | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:425:13:425:18 | Append | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -915,6 +1315,8 @@ signatureMatches | atl.cpp:425:13:425:18 | Append | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:425:13:425:18 | Append | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:425:13:425:18 | Append | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:425:13:425:18 | Append | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:425:13:425:18 | Append | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:425:13:425:18 | Append | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:425:13:425:18 | Append | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:425:13:425:18 | Append | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -923,6 +1325,7 @@ signatureMatches | atl.cpp:425:13:425:18 | Append | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:425:13:425:18 | Append | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:425:13:425:18 | Append | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:425:13:425:18 | Append | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:425:13:425:18 | Append | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:426:13:426:22 | AppendBSTR | (wchar_t *) | CStringT | CStringT | 0 | | atl.cpp:427:13:427:23 | AppendBytes | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | @@ -988,6 +1391,19 @@ signatureMatches | atl.cpp:427:13:427:23 | AppendBytes | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (FTS *,int) | | fts_children | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -1115,7 +1531,15 @@ signatureMatches | atl.cpp:427:13:427:23 | AppendBytes | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (char **,int) | | addrsort | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (char,int) | CStringT | CStringT | 1 | @@ -1185,22 +1609,41 @@ signatureMatches | atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | RSA_meth_new | 0 | | atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | ftok | 0 | +| atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | ftok | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | gethostbyname2 | 0 | +| atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | parse_yesno | 0 | | atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | res_gethostbyname2 | 0 | +| atl.cpp:427:13:427:23 | AppendBytes | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (double,int) | | __ldexp | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (double,int) | | __scalbn | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (double[],int) | | getloadavg | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (float,int) | | __ldexpf | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (float,int) | | __scalbnf | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (gzFile,int) | | gzflush | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (gzFile,int) | | gzputc | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | BN_security_bits | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | __isctype | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | acttab_alloc | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | div | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (long double,int) | | __ldexpl | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -1208,8 +1651,21 @@ signatureMatches | atl.cpp:427:13:427:23 | AppendBytes | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (rule *,int) | | Configlist_add | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -1237,6 +1693,8 @@ signatureMatches | atl.cpp:427:13:427:23 | AppendBytes | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -1245,6 +1703,7 @@ signatureMatches | atl.cpp:427:13:427:23 | AppendBytes | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:427:13:427:23 | AppendBytes | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:427:13:427:23 | AppendBytes | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:428:13:428:23 | ArrayToBSTR | (const SAFEARRAY *) | CComSafeArray | Add | 0 | | atl.cpp:428:13:428:23 | ArrayToBSTR | (const SAFEARRAY *) | CComSafeArray | CComSafeArray | 0 | @@ -1268,16 +1727,25 @@ signatureMatches | atl.cpp:440:10:440:19 | LoadString | (WPACKET *,unsigned int) | | WPACKET_set_flags | 1 | | atl.cpp:440:10:440:19 | LoadString | (X509_STORE_CTX *,unsigned int) | | X509_STORE_CTX_set_current_reasons | 1 | | atl.cpp:440:10:440:19 | LoadString | (X509_VERIFY_PARAM *,unsigned int) | | X509_VERIFY_PARAM_set_hostflags | 1 | +| atl.cpp:440:10:440:19 | LoadString | (char *,unsigned int) | | __nis_default_access | 1 | | atl.cpp:440:10:440:19 | LoadString | (char *,unsigned int) | | utf8_fromunicode | 1 | | atl.cpp:440:10:440:19 | LoadString | (char *,unsigned int) | | uv_buf_init | 1 | | atl.cpp:440:10:440:19 | LoadString | (const uv__io_t *,unsigned int) | | uv__io_active | 1 | | atl.cpp:440:10:440:19 | LoadString | (const uv_buf_t[],unsigned int) | | uv__count_bufs | 1 | +| atl.cpp:440:10:440:19 | LoadString | (const_nis_name,unsigned int) | | __create_ib_request | 1 | +| atl.cpp:440:10:440:19 | LoadString | (grouping_iterator *,unsigned int) | | __grouping_iterator_init_none | 1 | | atl.cpp:440:10:440:19 | LoadString | (gzFile,unsigned int) | | gzbuffer | 1 | +| atl.cpp:440:10:440:19 | LoadString | (res_state,unsigned int) | | __res_get_nsaddr | 1 | +| atl.cpp:440:10:440:19 | LoadString | (unsigned int,unsigned int) | | __gnu_dev_makedev | 1 | +| atl.cpp:440:10:440:19 | LoadString | (unsigned int,unsigned int) | | gnu_dev_makedev | 1 | | atl.cpp:440:10:440:19 | LoadString | (z_streamp,unsigned int) | | inflate_fast | 1 | | atl.cpp:441:10:441:19 | LoadString | (UINT) | CComBSTR | LoadString | 0 | | atl.cpp:441:10:441:19 | LoadString | (UINT) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:441:10:441:19 | LoadString | (unsigned int) | | Jim_IntHashFunction | 0 | +| atl.cpp:441:10:441:19 | LoadString | (unsigned int) | | __sleep | 0 | +| atl.cpp:441:10:441:19 | LoadString | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | | atl.cpp:441:10:441:19 | LoadString | (unsigned int) | | curlx_uitous | 0 | +| atl.cpp:441:10:441:19 | LoadString | (unsigned int) | | la_version | 0 | | atl.cpp:441:10:441:19 | LoadString | (unsigned int) | | ssl3_get_cipher | 0 | | atl.cpp:449:15:449:24 | operator+= | (const CComBSTR &) | CComBSTR | Append | 0 | | atl.cpp:449:15:449:24 | operator+= | (const CComBSTR &) | CComBSTR | CComBSTR | 0 | @@ -1294,9 +1762,17 @@ signatureMatches | atl.cpp:546:13:546:15 | Add | (const T &,BOOL) | CComSafeArray | Add | 0 | | atl.cpp:546:13:546:15 | Add | (const T &,BOOL) | CComSafeArray | Add | 1 | | atl.cpp:546:13:546:15 | Add | (curl_socket_t[2],bool) | | Curl_eventfd | 1 | +| atl.cpp:546:13:546:15 | Add | (support_fuse *,bool) | | support_fuse_filter_forget | 1 | +| atl.cpp:546:13:546:15 | Add | (void *,bool) | | _dl_allocate_tls_init | 1 | +| atl.cpp:546:13:546:15 | Add | (void *,bool) | | _dl_deallocate_tls | 1 | +| atl.cpp:554:8:554:12 | GetAt | (long) | | __fdelt_chk | 0 | +| atl.cpp:554:8:554:12 | GetAt | (long) | | __math_invalid_li | 0 | +| atl.cpp:554:8:554:12 | GetAt | (long) | | __math_invalidf_li | 0 | | atl.cpp:554:8:554:12 | GetAt | (long) | | curlx_sltosi | 0 | | atl.cpp:554:8:554:12 | GetAt | (long) | | curlx_sltoui | 0 | | atl.cpp:554:8:554:12 | GetAt | (long) | | curlx_sltous | 0 | +| atl.cpp:554:8:554:12 | GetAt | (long) | | l64a | 0 | +| atl.cpp:554:8:554:12 | GetAt | (long) | | ulabs | 0 | | atl.cpp:565:13:565:17 | SetAt | (Curl_easy *,CURLcode,bool) | | Curl_http_done | 2 | | atl.cpp:565:13:565:17 | SetAt | (Curl_easy *,Curl_chunker *,bool) | | Curl_httpchunk_init | 2 | | atl.cpp:565:13:565:17 | SetAt | (Curl_easy *,Curl_chunker *,bool) | | Curl_httpchunk_reset | 2 | @@ -1306,9 +1782,17 @@ signatureMatches | atl.cpp:565:13:565:17 | SetAt | (Curl_easy *,pingpong *,bool) | | Curl_pp_state_timeout | 2 | | atl.cpp:565:13:565:17 | SetAt | (Curl_easy *,size_t,bool) | | Curl_bump_headersize | 2 | | atl.cpp:565:13:565:17 | SetAt | (GlobalConfig *,timeval *,bool) | | progress_meter | 2 | +| atl.cpp:565:13:565:17 | SetAt | (link_map *,Dl_serinfo *,bool) | | _dl_rtld_di_serinfo | 2 | +| atl.cpp:565:13:565:17 | SetAt | (link_map *,link_map_public *,bool) | | _dl_close_worker | 2 | +| atl.cpp:565:13:565:17 | SetAt | (size_t,char *[],bool) | | add_locales_to_archive | 2 | +| atl.cpp:567:8:567:17 | operator[] | (long) | | __fdelt_chk | 0 | +| atl.cpp:567:8:567:17 | operator[] | (long) | | __math_invalid_li | 0 | +| atl.cpp:567:8:567:17 | operator[] | (long) | | __math_invalidf_li | 0 | | atl.cpp:567:8:567:17 | operator[] | (long) | | curlx_sltosi | 0 | | atl.cpp:567:8:567:17 | operator[] | (long) | | curlx_sltoui | 0 | | atl.cpp:567:8:567:17 | operator[] | (long) | | curlx_sltous | 0 | +| atl.cpp:567:8:567:17 | operator[] | (long) | | l64a | 0 | +| atl.cpp:567:8:567:17 | operator[] | (long) | | ulabs | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | ASN1_STRING_type_new | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | ASN1_tag2bit | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | ASN1_tag2str | 0 | @@ -1327,22 +1811,60 @@ signatureMatches | atl.cpp:568:8:568:17 | operator[] | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __btowc | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __current_locale_name | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __fdopendir | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __get_errlist | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __get_errname | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __math_invalid_i | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __math_invalidf_i | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __p_class | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __p_rcode | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __p_type | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __pkey_get | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __sigdescr_np | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | __strerrordesc_np | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | _tolower | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | _toupper | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | btowc | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | c_tolower | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | c_toupper | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | curlx_sitouz | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | inet6_option_space | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isalnum | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isalpha | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isblank | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | iscntrl | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isdigit | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isgraph | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | islower | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isprint | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | ispunct | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isspace | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isupper | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | isxdigit | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | ossl_tolower | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | ossl_toupper | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | sigabbrev_np | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | sqlite3_errstr | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | strerrorname_np | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | support_report_failure | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | svcudp_create | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | tls13_alert_code | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | toascii | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | tolower | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | toupper | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | | uabs | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | uv__accept | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | uv_err_name | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | uv_get_osfhandle | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | uv_strerror | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | uv_translate_sys_error | 0 | | atl.cpp:568:8:568:17 | operator[] | (int) | | zError | 0 | +| atl.cpp:568:8:568:17 | operator[] | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:612:5:612:10 | CPathT | (PCXSTR) | | operator+= | 0 | | atl.cpp:612:5:612:10 | CPathT | (PCXSTR) | CSimpleStringT | operator+= | 0 | | atl.cpp:612:5:612:10 | CPathT | (PCXSTR) | CStringT | operator= | 0 | @@ -1380,22 +1902,60 @@ signatureMatches | atl.cpp:731:8:731:17 | operator[] | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __btowc | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __current_locale_name | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __fdopendir | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __get_errlist | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __get_errname | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __math_invalid_i | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __math_invalidf_i | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __p_class | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __p_rcode | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __p_type | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __pkey_get | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __sigdescr_np | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | __strerrordesc_np | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | _tolower | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | _toupper | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | btowc | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | c_tolower | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | c_toupper | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | curlx_sitouz | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | inet6_option_space | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isalnum | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isalpha | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isblank | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | iscntrl | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isdigit | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isgraph | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | islower | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isprint | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | ispunct | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isspace | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isupper | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | isxdigit | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | ossl_tolower | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | ossl_toupper | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | sigabbrev_np | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | sqlite3_errstr | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | strerrorname_np | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | support_report_failure | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | svcudp_create | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | tls13_alert_code | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | toascii | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | tolower | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | toupper | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | | uabs | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | uv__accept | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | uv_err_name | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | uv_get_osfhandle | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | uv_strerror | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | uv_translate_sys_error | 0 | | atl.cpp:731:8:731:17 | operator[] | (int) | | zError | 0 | +| atl.cpp:731:8:731:17 | operator[] | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:765:10:765:12 | Add | (const deque &,const Allocator &) | deque | deque | 1 | | atl.cpp:765:10:765:12 | Add | (const forward_list &,const Allocator &) | forward_list | forward_list | 1 | | atl.cpp:765:10:765:12 | Add | (const list &,const Allocator &) | list | list | 1 | @@ -1422,22 +1982,60 @@ signatureMatches | atl.cpp:770:11:770:20 | GetValueAt | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __btowc | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __current_locale_name | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __fdopendir | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __get_errlist | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __get_errname | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __math_invalid_i | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __math_invalidf_i | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __p_class | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __p_rcode | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __p_type | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __pkey_get | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __sigdescr_np | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | __strerrordesc_np | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | _tolower | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | _toupper | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | btowc | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | c_tolower | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | c_toupper | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | curlx_sitouz | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | inet6_option_space | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isalnum | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isalpha | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isblank | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | iscntrl | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isdigit | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isgraph | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | islower | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isprint | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | ispunct | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isspace | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isupper | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | isxdigit | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | ossl_tolower | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | ossl_toupper | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | sigabbrev_np | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | sqlite3_errstr | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | strerrorname_np | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | support_report_failure | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | svcudp_create | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | tls13_alert_code | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | toascii | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | tolower | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | toupper | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | | uabs | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | uv__accept | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | uv_err_name | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | uv_get_osfhandle | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | uv_strerror | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | uv_translate_sys_error | 0 | | atl.cpp:770:11:770:20 | GetValueAt | (int) | | zError | 0 | +| atl.cpp:770:11:770:20 | GetValueAt | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:776:10:776:14 | SetAt | (const deque &,const Allocator &) | deque | deque | 1 | | atl.cpp:776:10:776:14 | SetAt | (const forward_list &,const Allocator &) | forward_list | forward_list | 1 | | atl.cpp:776:10:776:14 | SetAt | (const list &,const Allocator &) | list | list | 1 | @@ -1462,6 +2060,7 @@ signatureMatches | atl.cpp:821:17:821:28 | Canonicalize | (unsigned long) | | BUF_MEM_new_ex | 0 | | atl.cpp:821:17:821:28 | Canonicalize | (unsigned long) | | curlx_ultouc | 0 | | atl.cpp:821:17:821:28 | Canonicalize | (unsigned long) | | curlx_ultous | 0 | +| atl.cpp:821:17:821:28 | Canonicalize | (unsigned long) | | next_prime | 0 | | atl.cpp:824:10:824:17 | CrackUrl | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | atl.cpp:824:10:824:17 | CrackUrl | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | atl.cpp:824:10:824:17 | CrackUrl | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -1490,12 +2089,15 @@ signatureMatches | atl.cpp:824:10:824:17 | CrackUrl | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | atl.cpp:824:10:824:17 | CrackUrl | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | | atl.cpp:824:10:824:17 | CrackUrl | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | +| atl.cpp:824:10:824:17 | CrackUrl | (hash_table *,unsigned long) | | init_hash | 1 | +| atl.cpp:824:10:824:17 | CrackUrl | (u_long,unsigned long) | | __p_option | 1 | | atl.cpp:825:17:825:25 | CreateUrl | (BIO *,OCSP_REQUEST *,unsigned long) | | OCSP_REQUEST_print | 2 | | atl.cpp:825:17:825:25 | CreateUrl | (BIO *,OCSP_RESPONSE *,unsigned long) | | OCSP_RESPONSE_print | 2 | | atl.cpp:825:17:825:25 | CreateUrl | (BIO *,X509 *,unsigned long) | | ossl_x509_print_ex_brief | 2 | | atl.cpp:825:17:825:25 | CreateUrl | (BIO *,X509_CRL *,unsigned long) | | X509_CRL_print_ex | 2 | | atl.cpp:825:17:825:25 | CreateUrl | (BIO *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex | 2 | | atl.cpp:825:17:825:25 | CreateUrl | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| atl.cpp:825:17:825:25 | CreateUrl | (const char *,const char *,unsigned long) | | __ngettext | 2 | | atl.cpp:825:17:825:25 | CreateUrl | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | atl.cpp:842:17:842:28 | SetExtraInfo | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | BIO_gethostbyname | 0 | @@ -1510,16 +2112,36 @@ signatureMatches | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | UI_create_method | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __basename | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __gettext | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __hash_string | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __strdup | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __textdomain | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | __tzstring | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | a64l | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | charmap_opendir | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | ether_aton | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | getdate | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | inetstr2int | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | last_component | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | opt_path_end | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | opt_progname | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | repertoire_read | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | sgetsgent | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | sgetspent | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | strhash | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | uc_script_byname | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | uv__strdup | 0 | | atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:842:17:842:28 | SetExtraInfo | (const char *) | | xstrdup | 0 | | atl.cpp:843:17:843:27 | SetHostName | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | BIO_gethostbyname | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | Curl_copy_header_value | 0 | @@ -1533,16 +2155,36 @@ signatureMatches | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | UI_create_method | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __basename | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __gettext | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __hash_string | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __strdup | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __textdomain | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | __tzstring | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | a64l | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | charmap_opendir | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | ether_aton | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | getdate | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | inetstr2int | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | last_component | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | opt_path_end | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | opt_progname | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | repertoire_read | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | sgetsgent | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | sgetspent | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | strhash | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | uc_script_byname | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | uv__strdup | 0 | | atl.cpp:843:17:843:27 | SetHostName | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:843:17:843:27 | SetHostName | (const char *) | | xstrdup | 0 | | atl.cpp:844:17:844:27 | SetPassword | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | BIO_gethostbyname | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | Curl_copy_header_value | 0 | @@ -1556,16 +2198,36 @@ signatureMatches | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | UI_create_method | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __basename | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __gettext | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __hash_string | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __strdup | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __textdomain | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | __tzstring | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | a64l | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | charmap_opendir | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | ether_aton | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | getdate | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | inetstr2int | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | last_component | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | opt_path_end | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | opt_progname | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | repertoire_read | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | sgetsgent | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | sgetspent | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | strhash | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | uc_script_byname | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | uv__strdup | 0 | | atl.cpp:844:17:844:27 | SetPassword | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:844:17:844:27 | SetPassword | (const char *) | | xstrdup | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | BIO_gethostbyname | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | Curl_copy_header_value | 0 | @@ -1579,16 +2241,36 @@ signatureMatches | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | UI_create_method | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __basename | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __gettext | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __hash_string | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __strdup | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __textdomain | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | __tzstring | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | a64l | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | charmap_opendir | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | ether_aton | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | getdate | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | inetstr2int | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | last_component | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | opt_path_end | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | opt_progname | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | repertoire_read | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | sgetsgent | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | sgetspent | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | strhash | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | uc_script_byname | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | uv__strdup | 0 | | atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:847:17:847:29 | SetSchemeName | (const char *) | | xstrdup | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | BIO_gethostbyname | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | Curl_copy_header_value | 0 | @@ -1602,16 +2284,36 @@ signatureMatches | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | UI_create_method | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __basename | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __gettext | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __hash_string | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __strdup | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __textdomain | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | __tzstring | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | a64l | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | charmap_opendir | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | ether_aton | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | getdate | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | inetstr2int | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | last_component | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | opt_path_end | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | opt_progname | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | repertoire_read | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | sgetsgent | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | sgetspent | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | strhash | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | uc_script_byname | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | uv__strdup | 0 | | atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:848:17:848:26 | SetUrlPath | (const char *) | | xstrdup | 0 | | atl.cpp:849:17:849:27 | SetUserName | (LPCTSTR) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | BIO_gethostbyname | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | Curl_copy_header_value | 0 | @@ -1625,16 +2327,36 @@ signatureMatches | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | UI_create_method | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | X509V3_parse_list | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | X509_LOOKUP_meth_new | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __basename | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __gconv_find_shlib | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __gettext | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __hash_string | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __nss_action_parse | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __strdup | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __textdomain | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __tzset_parse_tz | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | __tzstring | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | a2i_IPADDRESS | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | a2i_IPADDRESS_NC | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | a64l | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | charmap_opendir | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | ether_aton | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | getdate | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | inetstr2int | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | last_component | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | opt_path_end | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | opt_progname | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | ossl_lh_strcasehash | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | repertoire_read | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | res_gethostbyname | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | sgetsgent | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | sgetspent | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | strhash | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | uc_script_byname | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | uv__strdup | 0 | | atl.cpp:849:17:849:27 | SetUserName | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| atl.cpp:849:17:849:27 | SetUserName | (const char *) | | xstrdup | 0 | | atl.cpp:915:5:915:18 | CSimpleStringT | (const XCHAR *,int,IAtlStringMgr *) | CSimpleStringT | CSimpleStringT | 0 | | atl.cpp:915:5:915:18 | CSimpleStringT | (const XCHAR *,int,IAtlStringMgr *) | CSimpleStringT | CSimpleStringT | 1 | | atl.cpp:915:5:915:18 | CSimpleStringT | (const XCHAR *,int,IAtlStringMgr *) | CSimpleStringT | CSimpleStringT | 2 | @@ -1719,6 +2441,19 @@ signatureMatches | atl.cpp:922:10:922:15 | Append | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:922:10:922:15 | Append | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:922:10:922:15 | Append | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:922:10:922:15 | Append | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:922:10:922:15 | Append | (FTS *,int) | | fts_children | 1 | | atl.cpp:922:10:922:15 | Append | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:922:10:922:15 | Append | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:922:10:922:15 | Append | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -1846,7 +2581,15 @@ signatureMatches | atl.cpp:922:10:922:15 | Append | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:922:10:922:15 | Append | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:922:10:922:15 | Append | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:922:10:922:15 | Append | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:922:10:922:15 | Append | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:922:10:922:15 | Append | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:922:10:922:15 | Append | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:922:10:922:15 | Append | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:922:10:922:15 | Append | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:922:10:922:15 | Append | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:922:10:922:15 | Append | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:922:10:922:15 | Append | (char **,int) | | addrsort | 1 | | atl.cpp:922:10:922:15 | Append | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:922:10:922:15 | Append | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:922:10:922:15 | Append | (char,int) | CStringT | CStringT | 1 | @@ -1911,21 +2654,37 @@ signatureMatches | atl.cpp:922:10:922:15 | Append | (const char *,int) | | Jim_StrDupLen | 1 | | atl.cpp:922:10:922:15 | Append | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:922:10:922:15 | Append | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:922:10:922:15 | Append | (const char *,int) | | ftok | 1 | +| atl.cpp:922:10:922:15 | Append | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:922:10:922:15 | Append | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:922:10:922:15 | Append | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:922:10:922:15 | Append | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:922:10:922:15 | Append | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:922:10:922:15 | Append | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:922:10:922:15 | Append | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:922:10:922:15 | Append | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:922:10:922:15 | Append | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:922:10:922:15 | Append | (double,int) | | __ldexp | 1 | +| atl.cpp:922:10:922:15 | Append | (double,int) | | __scalbn | 1 | +| atl.cpp:922:10:922:15 | Append | (double[],int) | | getloadavg | 1 | | atl.cpp:922:10:922:15 | Append | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:922:10:922:15 | Append | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:922:10:922:15 | Append | (float,int) | | __ldexpf | 1 | +| atl.cpp:922:10:922:15 | Append | (float,int) | | __scalbnf | 1 | | atl.cpp:922:10:922:15 | Append | (gzFile,int) | | gzflush | 1 | | atl.cpp:922:10:922:15 | Append | (gzFile,int) | | gzputc | 1 | | atl.cpp:922:10:922:15 | Append | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:922:10:922:15 | Append | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:922:10:922:15 | Append | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:922:10:922:15 | Append | (int,int) | | BN_security_bits | 1 | | atl.cpp:922:10:922:15 | Append | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:922:10:922:15 | Append | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:922:10:922:15 | Append | (int,int) | | __isctype | 1 | | atl.cpp:922:10:922:15 | Append | (int,int) | | acttab_alloc | 1 | +| atl.cpp:922:10:922:15 | Append | (int,int) | | div | 1 | +| atl.cpp:922:10:922:15 | Append | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:922:10:922:15 | Append | (long double,int) | | __ldexpl | 1 | +| atl.cpp:922:10:922:15 | Append | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:922:10:922:15 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:922:10:922:15 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:922:10:922:15 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -1933,8 +2692,21 @@ signatureMatches | atl.cpp:922:10:922:15 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:922:10:922:15 | Append | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:922:10:922:15 | Append | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:922:10:922:15 | Append | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:922:10:922:15 | Append | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:922:10:922:15 | Append | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:922:10:922:15 | Append | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:922:10:922:15 | Append | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:922:10:922:15 | Append | (rule *,int) | | Configlist_add | 1 | | atl.cpp:922:10:922:15 | Append | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:922:10:922:15 | Append | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:922:10:922:15 | Append | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:922:10:922:15 | Append | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:922:10:922:15 | Append | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:922:10:922:15 | Append | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -1962,6 +2734,8 @@ signatureMatches | atl.cpp:922:10:922:15 | Append | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:922:10:922:15 | Append | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:922:10:922:15 | Append | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:922:10:922:15 | Append | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:922:10:922:15 | Append | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:922:10:922:15 | Append | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:922:10:922:15 | Append | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:922:10:922:15 | Append | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -1970,6 +2744,7 @@ signatureMatches | atl.cpp:922:10:922:15 | Append | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:922:10:922:15 | Append | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:922:10:922:15 | Append | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:922:10:922:15 | Append | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:922:10:922:15 | Append | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:923:10:923:15 | Append | (PCXSTR) | | operator+= | 0 | | atl.cpp:923:10:923:15 | Append | (PCXSTR) | CSimpleStringT | operator+= | 0 | @@ -2025,9 +2800,14 @@ signatureMatches | atl.cpp:927:17:927:25 | CopyChars | (EVP_PKEY_CTX *,const void *,int) | | EVP_PKEY_CTX_set1_id | 2 | | atl.cpp:927:17:927:25 | CopyChars | (EVP_PKEY_CTX *,int *,int) | | EVP_PKEY_CTX_set0_keygen_info | 2 | | atl.cpp:927:17:927:25 | CopyChars | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (FILE *,_IO_marker *,int) | | _IO_seekmark | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (FILE *,_IO_marker *,int) | | _IO_seekwmark | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (FILE *,__FILE *,int) | | fwide | 2 | | atl.cpp:927:17:927:25 | CopyChars | (FILE *,const DSA *,int) | | DSA_print_fp | 2 | | atl.cpp:927:17:927:25 | CopyChars | (FILE *,const RSA *,int) | | RSA_print_fp | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (FILE *,off64_t,int) | | _IO_cookie_seek | 2 | | atl.cpp:927:17:927:25 | CopyChars | (FILE *,rule *,int) | | RulePrint | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (FTS *,FTSENT *,int) | | fts_set | 2 | | atl.cpp:927:17:927:25 | CopyChars | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetCommand | 2 | | atl.cpp:927:17:927:25 | CopyChars | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetGlobalVariable | 2 | | atl.cpp:927:17:927:25 | CopyChars | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetVariable | 2 | @@ -2133,8 +2913,13 @@ signatureMatches | atl.cpp:927:17:927:25 | CopyChars | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 0 | | atl.cpp:927:17:927:25 | CopyChars | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 1 | | atl.cpp:927:17:927:25 | CopyChars | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (_Float128,_Float128,int) | | __kernel_sinf128 | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (_Float128,_Float128,int) | | __kernel_tanf128 | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 1 | +| atl.cpp:927:17:927:25 | CopyChars | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 2 | | atl.cpp:927:17:927:25 | CopyChars | (action *,FILE *,int) | | PrintAction | 2 | | atl.cpp:927:17:927:25 | CopyChars | (acttab *,int,int) | | acttab_action | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (char *,size_t,int) | | __argz_stringify | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const ASN1_VALUE *,const ASN1_TEMPLATE *,int) | | ossl_asn1_do_adb | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const BIGNUM *,int[],int) | | BN_GF2m_poly2arr | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const BIGNUM *,unsigned char *,int) | | BN_bn2binpad | 2 | @@ -2178,14 +2963,23 @@ signatureMatches | atl.cpp:927:17:927:25 | CopyChars | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_critical | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 1 | | atl.cpp:927:17:927:25 | CopyChars | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,char **,int) | | __strtol | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,char **,int) | | __strtoul | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,char **,int) | | idn2_to_ascii_8z | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,const OSSL_PARAM *,int) | | print_param_types | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,const char *,int) | | CRYPTO_strdup | 1 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,const char *,int) | | CRYPTO_strdup | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,const char *,int) | | __dcgettext | 1 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,const char *,int) | | __dcgettext | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,const char *,int) | | sqlite3_strnicmp | 1 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,const char *,int) | | sqlite3_strnicmp | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,int,int) | | __old_strpbrk_c2 | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,long *,int) | | Jim_StringToWide | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const char *,sqlite3_filename,int) | | sqlite3_uri_key | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,void *,int) | | support_readdir_check | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const char *,wordexp_t *,int) | | wordexp | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const stack_st_X509_ATTRIBUTE *,const ASN1_OBJECT *,int) | | X509at_get_attr_by_OBJ | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const stack_st_X509_ATTRIBUTE *,int,int) | | X509at_get_attr_by_NID | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const stack_st_X509_EXTENSION *,const ASN1_OBJECT *,int) | | X509v3_get_ext_by_OBJ | 2 | @@ -2195,17 +2989,33 @@ signatureMatches | atl.cpp:927:17:927:25 | CopyChars | (const unsigned char **,unsigned int,int) | | ossl_b2i_DSA_after_header | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const unsigned char **,unsigned int,int) | | ossl_b2i_RSA_after_header | 2 | | atl.cpp:927:17:927:25 | CopyChars | (const void *,const void *,int) | | ossl_is_partially_overlapping | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const void *,socklen_t,int) | | res_gethostbyaddr | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const wchar_t *,wchar_t **,int) | | __wcstol | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (const wchar_t *,wchar_t **,int) | | __wcstoul | 2 | | atl.cpp:927:17:927:25 | CopyChars | (curl_mimepart *,curl_mime *,int) | | Curl_mime_set_subparts | 2 | | atl.cpp:927:17:927:25 | CopyChars | (curl_mimepart *,curl_slist *,int) | | curl_mime_headers | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (database_dyn *,size_t,int) | | mempool_alloc | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (database_dyn *,time_t,int) | | prune_cache | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (double,double,int) | | __kernel_standard | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (float,float,int) | | __kernel_standard_f | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (gconv_spec *,__gconv_t *,int) | | __gconv_open | 2 | | atl.cpp:927:17:927:25 | CopyChars | (gzFile,char *,int) | | gzgets | 2 | | atl.cpp:927:17:927:25 | CopyChars | (gzFile,int,int) | | gzsetparams | 2 | | atl.cpp:927:17:927:25 | CopyChars | (gzFile,off64_t,int) | | gzseek64 | 2 | | atl.cpp:927:17:927:25 | CopyChars | (gzFile,off_t,int) | | gzseek | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (int *,short *,int) | | __lll_lock_elision | 2 | | atl.cpp:927:17:927:25 | CopyChars | (int,BIO_ADDR *,int) | | BIO_accept_ex | 2 | | atl.cpp:927:17:927:25 | CopyChars | (int,int,int) | | ASN1_object_size | 2 | | atl.cpp:927:17:927:25 | CopyChars | (int,int,int) | | EVP_CIPHER_meth_new | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (long double,long double,int) | | __kernel_sinl | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (long double,long double,int) | | __kernel_standard_l | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (long double,long double,int) | | __kernel_tanl | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (mp_srcptr,int,int) | | __mpn_construct_double | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (mp_srcptr,int,int) | | __mpn_construct_float | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (mp_srcptr,int,int) | | __mpn_construct_float128 | 2 | | atl.cpp:927:17:927:25 | CopyChars | (regex_t *,const char *,int) | | jim_regcomp | 1 | | atl.cpp:927:17:927:25 | CopyChars | (regex_t *,const char *,int) | | jim_regcomp | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (requestlist *,requestlist *,int) | | __aio_remove_request | 2 | | atl.cpp:927:17:927:25 | CopyChars | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 1 | | atl.cpp:927:17:927:25 | CopyChars | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 2 | | atl.cpp:927:17:927:25 | CopyChars | (sqlite3 *,int,int) | | sqlite3_limit | 2 | @@ -2230,11 +3040,17 @@ signatureMatches | atl.cpp:927:17:927:25 | CopyChars | (stack_st_X509_ALGOR **,int,int) | | CMS_add_simple_smimecap | 2 | | atl.cpp:927:17:927:25 | CopyChars | (stack_st_X509_ALGOR *,int,int) | | PKCS7_simple_smimecap | 2 | | atl.cpp:927:17:927:25 | CopyChars | (stack_st_X509_EXTENSION **,X509_EXTENSION *,int) | | X509v3_add_ext | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 2 | | atl.cpp:927:17:927:25 | CopyChars | (uint8_t[56],const gf,int) | | gf_serialize | 2 | | atl.cpp:927:17:927:25 | CopyChars | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (unsigned char *,const char *,int) | | data_string | 1 | +| atl.cpp:927:17:927:25 | CopyChars | (unsigned char *,const char *,int) | | data_string | 2 | | atl.cpp:927:17:927:25 | CopyChars | (unsigned char *,const unsigned char *,int) | | EVP_DecodeBlock | 2 | | atl.cpp:927:17:927:25 | CopyChars | (unsigned char *,const unsigned char *,int) | | EVP_EncodeBlock | 2 | | atl.cpp:927:17:927:25 | CopyChars | (unsigned char *,uint64_t,int) | | ossl_i2c_uint64_int | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (unsigned int,const char *,int) | | _IO_adjust_column | 1 | +| atl.cpp:927:17:927:25 | CopyChars | (unsigned int,const char *,int) | | _IO_adjust_column | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 2 | | atl.cpp:927:17:927:25 | CopyChars | (unsigned int,int,int) | | ossl_blob_length | 2 | | atl.cpp:927:17:927:25 | CopyChars | (unsigned long *,const BIGNUM *,int) | | bn_copy_words | 2 | | atl.cpp:927:17:927:25 | CopyChars | (unsigned long *,const unsigned long *,int) | | bn_sqr_words | 2 | @@ -2245,9 +3061,11 @@ signatureMatches | atl.cpp:927:17:927:25 | CopyChars | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start | 2 | | atl.cpp:927:17:927:25 | CopyChars | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start_oneshot | 2 | | atl.cpp:927:17:927:25 | CopyChars | (uv_stream_t *,int,int) | | uv__stream_open | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (void *,cmsghdr **,int) | | inet6_option_init | 2 | | atl.cpp:927:17:927:25 | CopyChars | (void *,const char *,int) | | CRYPTO_secure_free | 1 | | atl.cpp:927:17:927:25 | CopyChars | (void *,const char *,int) | | CRYPTO_secure_free | 2 | | atl.cpp:927:17:927:25 | CopyChars | (void *,curl_off_t,int) | | tool_mime_stdin_seek | 2 | +| atl.cpp:927:17:927:25 | CopyChars | (void *,socklen_t,int) | | inet6_opt_finish | 2 | | atl.cpp:928:17:928:25 | CopyChars | (BIGNUM *,const BIGNUM *,const BIGNUM *,int) | | ossl_rsa_check_pminusq_diff | 3 | | atl.cpp:928:17:928:25 | CopyChars | (BIGNUM *,int,int,int) | | BN_bntest_rand | 3 | | atl.cpp:928:17:928:25 | CopyChars | (BIGNUM *,int,int,int) | | BN_priv_rand | 3 | @@ -2275,7 +3093,17 @@ signatureMatches | atl.cpp:928:17:928:25 | CopyChars | (ENGINE_TABLE **,int,const char *,int) | | ossl_engine_table_select | 3 | | atl.cpp:928:17:928:25 | CopyChars | (EVP_PKEY_CTX *,const char *,int,int) | | app_keygen | 3 | | atl.cpp:928:17:928:25 | CopyChars | (FFC_PARAMS *,const unsigned char *,size_t,int) | | ossl_ffc_params_set_validate_params | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,char *,char *,int) | | _IO_setb | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,const char *,const char *,int) | | _IO_new_file_fopen | 2 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,const char *,const char *,int) | | _IO_new_file_fopen | 3 | | atl.cpp:928:17:928:25 | CopyChars | (FILE *,lemon *,int *,int) | | print_stack_union | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,mntent *,char *,int) | | __getmntent_r | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,off64_t,int,int) | | _IO_file_seekoff_mmap | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,off64_t,int,int) | | _IO_new_file_seekoff | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,off64_t,int,int) | | _IO_str_seekoff | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,off64_t,int,int) | | _IO_wfile_seekoff | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,off64_t,int,int) | | _IO_wstr_seekoff | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (FILE *,wchar_t *,wchar_t *,int) | | _IO_wsetb | 3 | | atl.cpp:928:17:928:25 | CopyChars | (Jim_Interp *,Jim_Obj *,Jim_Obj **,int) | | Jim_SubstObj | 3 | | atl.cpp:928:17:928:25 | CopyChars | (Jim_Interp *,Jim_Obj *,Jim_Obj *,int) | | Jim_ScanString | 3 | | atl.cpp:928:17:928:25 | CopyChars | (Jim_Interp *,Jim_Obj *,const char *,int) | | Jim_AppendString | 2 | @@ -2314,9 +3142,12 @@ signatureMatches | atl.cpp:928:17:928:25 | CopyChars | (XCHAR *,size_t,const XCHAR *,int) | CSimpleStringT | CopyChars | 1 | | atl.cpp:928:17:928:25 | CopyChars | (XCHAR *,size_t,const XCHAR *,int) | CSimpleStringT | CopyChars | 2 | | atl.cpp:928:17:928:25 | CopyChars | (XCHAR *,size_t,const XCHAR *,int) | CSimpleStringT | CopyChars | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (_Float128,_Float128,_Float128,int) | | __lgamma_productf128 | 3 | | atl.cpp:928:17:928:25 | CopyChars | (bufq *,bufc_pool *,size_t,int) | | Curl_bufq_initp | 3 | | atl.cpp:928:17:928:25 | CopyChars | (bufq *,size_t,size_t,int) | | Curl_bufq_init2 | 3 | | atl.cpp:928:17:928:25 | CopyChars | (char *,int,const ASN1_OBJECT *,int) | | OBJ_obj2txt | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (cmsghdr *,const uint8_t *,int,int) | | inet6_option_append | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (cmsghdr *,int,int,int) | | inet6_option_alloc | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const DH *,unsigned char **,size_t,int) | | ossl_dh_key2buf | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const EVP_MD *,const X509 *,const stack_st_X509 *,int) | | OSSL_ESS_signing_cert_v2_new_init | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const X509_NAME *,const ASN1_OBJECT *,char *,int) | | X509_NAME_get_text_by_OBJ | 3 | @@ -2326,13 +3157,16 @@ signatureMatches | atl.cpp:928:17:928:25 | CopyChars | (const char *,const char *,char **,int) | | idn2_register_ul | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,const char *,const char *,int) | | OSSL_HTTP_adapt_proxy | 2 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,const char *,const char *,int) | | OSSL_HTTP_adapt_proxy | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (const char *,int,int,int) | | __old_strpbrk_c3 | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,int,int,int) | | append_str | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,size_t,const char *,int) | | CRYPTO_strndup | 1 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,size_t,const char *,int) | | CRYPTO_strndup | 2 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,size_t,const char *,int) | | CRYPTO_strndup | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,sqlite3_filename,const char *,int) | | sqlite3_uri_boolean | 2 | | atl.cpp:928:17:928:25 | CopyChars | (const char *,sqlite3_filename,const char *,int) | | sqlite3_uri_boolean | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (const char *,u_char *,unsigned char *,int) | | inet_nsap_addr | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const uint8_t *,const uint8_t *,uint8_t **,int) | | idn2_register_u8 | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (const unsigned char *,int,unsigned char *,int) | | ___res_send | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const unsigned char *,unsigned char *,RC2_KEY *,int) | | RC2_ecb_encrypt | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const unsigned char *,unsigned char *,const BF_KEY *,int) | | BF_ecb_encrypt | 3 | | atl.cpp:928:17:928:25 | CopyChars | (const unsigned char *,unsigned char *,const CAST_KEY *,int) | | CAST_ecb_encrypt | 3 | @@ -2342,12 +3176,18 @@ signatureMatches | atl.cpp:928:17:928:25 | CopyChars | (const void *,size_t,const char *,int) | | CRYPTO_memdup | 3 | | atl.cpp:928:17:928:25 | CopyChars | (deflate_state *,charf *,ulg,int) | | _tr_flush_block | 3 | | atl.cpp:928:17:928:25 | CopyChars | (deflate_state *,charf *,ulg,int) | | _tr_stored_block | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (double,double,double,int) | | __lgamma_product | 3 | | atl.cpp:928:17:928:25 | CopyChars | (int,ENGINE *,const unsigned char *,int) | | EVP_PKEY_new_mac_key | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (int,const char *,const timespec[2],int) | | __utimensat | 3 | | atl.cpp:928:17:928:25 | CopyChars | (int,const void *,const char *,int) | | Curl_ip2addr | 2 | | atl.cpp:928:17:928:25 | CopyChars | (int,const void *,const char *,int) | | Curl_ip2addr | 3 | | atl.cpp:928:17:928:25 | CopyChars | (int,int *,int *,int) | | sqlite3_status | 3 | | atl.cpp:928:17:928:25 | CopyChars | (int,int,const unsigned char *,int) | | PKCS5_pbe_set | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (int,sockaddr *,socklen_t *,int) | | xaccept4 | 3 | | atl.cpp:928:17:928:25 | CopyChars | (int,sqlite3_int64 *,sqlite3_int64 *,int) | | sqlite3_status64 | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object_no_relro | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (long double,long double,long double,int) | | __lgamma_productl | 3 | | atl.cpp:928:17:928:25 | CopyChars | (nghttp2_bufs *,nghttp2_frame_hd *,size_t,int) | | nghttp2_frame_add_pad | 3 | | atl.cpp:928:17:928:25 | CopyChars | (nghttp2_priority_spec *,int32_t,int32_t,int) | | nghttp2_priority_spec_init | 3 | | atl.cpp:928:17:928:25 | CopyChars | (nghttp2_session *,int32_t,const nghttp2_extpri *,int) | | nghttp2_session_change_extpri_stream_priority | 3 | @@ -2366,13 +3206,17 @@ signatureMatches | atl.cpp:928:17:928:25 | CopyChars | (unsigned char *,int,const unsigned char *,int) | | RSA_padding_add_X931 | 3 | | atl.cpp:928:17:928:25 | CopyChars | (unsigned char *,int,const unsigned char *,int) | | RSA_padding_add_none | 3 | | atl.cpp:928:17:928:25 | CopyChars | (unsigned long *,unsigned long *,unsigned long *,int) | | bn_mul_low_normal | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (unsigned long long,char *,unsigned int,int) | | _itoa | 3 | | atl.cpp:928:17:928:25 | CopyChars | (unsigned long,BIGNUM *,BIGNUM *,int) | | BN_consttime_swap | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (unsigned long,char *,unsigned int,int) | | _fitoa_word | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (unsigned long,char *,unsigned int,int) | | _itoa_word | 3 | | atl.cpp:928:17:928:25 | CopyChars | (uv_loop_t *,uv_fs_t *,int,int) | | uv__iou_fs_statx | 3 | | atl.cpp:928:17:928:25 | CopyChars | (uv_loop_t *,uv_udp_t *,unsigned int,int) | | uv__udp_init_ex | 3 | | atl.cpp:928:17:928:25 | CopyChars | (void *,const ASN1_ITEM *,int,int) | | PKCS12_item_pack_safebag | 3 | | atl.cpp:928:17:928:25 | CopyChars | (void *,size_t,const char *,int) | | CRYPTO_secure_clear_free | 1 | | atl.cpp:928:17:928:25 | CopyChars | (void *,size_t,const char *,int) | | CRYPTO_secure_clear_free | 2 | | atl.cpp:928:17:928:25 | CopyChars | (void *,size_t,const char *,int) | | CRYPTO_secure_clear_free | 3 | +| atl.cpp:928:17:928:25 | CopyChars | (void *,socklen_t,int,int) | | inet6_rth_init | 3 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (ASN1_BIT_STRING *,int,int) | | ASN1_BIT_STRING_set_bit | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (ASN1_BIT_STRING *,unsigned char *,int) | | ASN1_BIT_STRING_set | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (ASN1_OCTET_STRING **,const unsigned char *,int) | | ossl_cmp_asn1_octet_string_set1_bytes | 2 | @@ -2424,9 +3268,14 @@ signatureMatches | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (EVP_PKEY_CTX *,const void *,int) | | EVP_PKEY_CTX_set1_id | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (EVP_PKEY_CTX *,int *,int) | | EVP_PKEY_CTX_set0_keygen_info | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,_IO_marker *,int) | | _IO_seekmark | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,_IO_marker *,int) | | _IO_seekwmark | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,__FILE *,int) | | fwide | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,const DSA *,int) | | DSA_print_fp | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,const RSA *,int) | | RSA_print_fp | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,off64_t,int) | | _IO_cookie_seek | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FILE *,rule *,int) | | RulePrint | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (FTS *,FTSENT *,int) | | fts_set | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetCommand | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetGlobalVariable | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetVariable | 2 | @@ -2532,8 +3381,13 @@ signatureMatches | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 0 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (_Float128,_Float128,int) | | __kernel_sinf128 | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (_Float128,_Float128,int) | | __kernel_tanf128 | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 1 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (action *,FILE *,int) | | PrintAction | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (acttab *,int,int) | | acttab_action | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (char *,size_t,int) | | __argz_stringify | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const ASN1_VALUE *,const ASN1_TEMPLATE *,int) | | ossl_asn1_do_adb | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const BIGNUM *,int[],int) | | BN_GF2m_poly2arr | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const BIGNUM *,unsigned char *,int) | | BN_bn2binpad | 2 | @@ -2577,14 +3431,23 @@ signatureMatches | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_critical | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,char **,int) | | __strtol | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,char **,int) | | __strtoul | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,char **,int) | | idn2_to_ascii_8z | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const OSSL_PARAM *,int) | | print_param_types | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const char *,int) | | CRYPTO_strdup | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const char *,int) | | CRYPTO_strdup | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const char *,int) | | __dcgettext | 1 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const char *,int) | | __dcgettext | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const char *,int) | | sqlite3_strnicmp | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,const char *,int) | | sqlite3_strnicmp | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,int,int) | | __old_strpbrk_c2 | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,long *,int) | | Jim_StringToWide | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,sqlite3_filename,int) | | sqlite3_uri_key | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,void *,int) | | support_readdir_check | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const char *,wordexp_t *,int) | | wordexp | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const stack_st_X509_ATTRIBUTE *,const ASN1_OBJECT *,int) | | X509at_get_attr_by_OBJ | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const stack_st_X509_ATTRIBUTE *,int,int) | | X509at_get_attr_by_NID | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const stack_st_X509_EXTENSION *,const ASN1_OBJECT *,int) | | X509v3_get_ext_by_OBJ | 2 | @@ -2594,17 +3457,33 @@ signatureMatches | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const unsigned char **,unsigned int,int) | | ossl_b2i_DSA_after_header | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const unsigned char **,unsigned int,int) | | ossl_b2i_RSA_after_header | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const void *,const void *,int) | | ossl_is_partially_overlapping | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const void *,socklen_t,int) | | res_gethostbyaddr | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const wchar_t *,wchar_t **,int) | | __wcstol | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (const wchar_t *,wchar_t **,int) | | __wcstoul | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (curl_mimepart *,curl_mime *,int) | | Curl_mime_set_subparts | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (curl_mimepart *,curl_slist *,int) | | curl_mime_headers | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (database_dyn *,size_t,int) | | mempool_alloc | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (database_dyn *,time_t,int) | | prune_cache | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (double,double,int) | | __kernel_standard | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (float,float,int) | | __kernel_standard_f | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (gconv_spec *,__gconv_t *,int) | | __gconv_open | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (gzFile,char *,int) | | gzgets | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (gzFile,int,int) | | gzsetparams | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (gzFile,off64_t,int) | | gzseek64 | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (gzFile,off_t,int) | | gzseek | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (int *,short *,int) | | __lll_lock_elision | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (int,BIO_ADDR *,int) | | BIO_accept_ex | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (int,int,int) | | ASN1_object_size | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (int,int,int) | | EVP_CIPHER_meth_new | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (long double,long double,int) | | __kernel_sinl | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (long double,long double,int) | | __kernel_standard_l | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (long double,long double,int) | | __kernel_tanl | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (mp_srcptr,int,int) | | __mpn_construct_double | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (mp_srcptr,int,int) | | __mpn_construct_float | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (mp_srcptr,int,int) | | __mpn_construct_float128 | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (regex_t *,const char *,int) | | jim_regcomp | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (regex_t *,const char *,int) | | jim_regcomp | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (requestlist *,requestlist *,int) | | __aio_remove_request | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (sqlite3 *,int,int) | | sqlite3_limit | 2 | @@ -2629,11 +3508,17 @@ signatureMatches | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (stack_st_X509_ALGOR **,int,int) | | CMS_add_simple_smimecap | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (stack_st_X509_ALGOR *,int,int) | | PKCS7_simple_smimecap | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (stack_st_X509_EXTENSION **,X509_EXTENSION *,int) | | X509v3_add_ext | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (uint8_t[56],const gf,int) | | gf_serialize | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned char *,const char *,int) | | data_string | 1 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned char *,const char *,int) | | data_string | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned char *,const unsigned char *,int) | | EVP_DecodeBlock | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned char *,const unsigned char *,int) | | EVP_EncodeBlock | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned char *,uint64_t,int) | | ossl_i2c_uint64_int | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned int,const char *,int) | | _IO_adjust_column | 1 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned int,const char *,int) | | _IO_adjust_column | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned int,int,int) | | ossl_blob_length | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned long *,const BIGNUM *,int) | | bn_copy_words | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (unsigned long *,const unsigned long *,int) | | bn_sqr_words | 2 | @@ -2644,9 +3529,11 @@ signatureMatches | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start_oneshot | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (uv_stream_t *,int,int) | | uv__stream_open | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (void *,cmsghdr **,int) | | inet6_option_init | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (void *,const char *,int) | | CRYPTO_secure_free | 1 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (void *,const char *,int) | | CRYPTO_secure_free | 2 | | atl.cpp:929:17:929:35 | CopyCharsOverlapped | (void *,curl_off_t,int) | | tool_mime_stdin_seek | 2 | +| atl.cpp:929:17:929:35 | CopyCharsOverlapped | (void *,socklen_t,int) | | inet6_opt_finish | 2 | | atl.cpp:931:11:931:15 | GetAt | (int) | | ASN1_STRING_type_new | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | ASN1_tag2bit | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | ASN1_tag2str | 0 | @@ -2665,22 +3552,60 @@ signatureMatches | atl.cpp:931:11:931:15 | GetAt | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __btowc | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __current_locale_name | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __fdopendir | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __get_errlist | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __get_errname | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __math_invalid_i | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __math_invalidf_i | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __p_class | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __p_rcode | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __p_type | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __pkey_get | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __sigdescr_np | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | __strerrordesc_np | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | _tolower | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | _toupper | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | btowc | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | c_tolower | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | c_toupper | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | curlx_sitouz | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | inet6_option_space | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isalnum | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isalpha | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isblank | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | iscntrl | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isdigit | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isgraph | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | islower | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isprint | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | ispunct | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isspace | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isupper | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | isxdigit | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | ossl_tolower | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | ossl_toupper | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | sigabbrev_np | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | sqlite3_errstr | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | strerrorname_np | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | support_report_failure | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | svcudp_create | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | tls13_alert_code | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | toascii | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | tolower | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | toupper | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | | uabs | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | uv__accept | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | uv_err_name | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | uv_get_osfhandle | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | uv_strerror | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | uv_translate_sys_error | 0 | | atl.cpp:931:11:931:15 | GetAt | (int) | | zError | 0 | +| atl.cpp:931:11:931:15 | GetAt | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | ASN1_STRING_type_new | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | ASN1_tag2bit | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | ASN1_tag2str | 0 | @@ -2699,22 +3624,60 @@ signatureMatches | atl.cpp:932:11:932:19 | GetBuffer | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __btowc | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __current_locale_name | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __fdopendir | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __get_errlist | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __get_errname | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __math_invalid_i | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __math_invalidf_i | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __p_class | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __p_rcode | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __p_type | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __pkey_get | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __sigdescr_np | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | __strerrordesc_np | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | _tolower | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | _toupper | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | btowc | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | c_tolower | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | c_toupper | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | curlx_sitouz | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | inet6_option_space | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isalnum | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isalpha | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isblank | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | iscntrl | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isdigit | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isgraph | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | islower | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isprint | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | ispunct | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isspace | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isupper | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | isxdigit | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | ossl_tolower | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | ossl_toupper | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | sigabbrev_np | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | sqlite3_errstr | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | strerrorname_np | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | support_report_failure | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | svcudp_create | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | tls13_alert_code | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | toascii | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | tolower | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | toupper | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | | uabs | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | uv__accept | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | uv_err_name | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | uv_get_osfhandle | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | uv_strerror | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | uv_translate_sys_error | 0 | | atl.cpp:932:11:932:19 | GetBuffer | (int) | | zError | 0 | +| atl.cpp:932:11:932:19 | GetBuffer | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ASN1_STRING_type_new | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ASN1_tag2bit | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ASN1_tag2str | 0 | @@ -2733,24 +3696,64 @@ signatureMatches | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __btowc | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __current_locale_name | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __fdopendir | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __get_errlist | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __get_errname | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __math_invalid_i | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __math_invalidf_i | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __p_class | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __p_rcode | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __p_type | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __pkey_get | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __sigdescr_np | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | __strerrordesc_np | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | _tolower | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | _toupper | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | btowc | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | c_tolower | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | c_toupper | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | curlx_sitouz | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | inet6_option_space | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isalnum | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isalpha | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isblank | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | iscntrl | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isdigit | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isgraph | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | islower | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isprint | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ispunct | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isspace | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isupper | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | isxdigit | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ossl_tolower | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | ossl_toupper | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | sigabbrev_np | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | sqlite3_errstr | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | strerrorname_np | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | support_report_failure | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | svcudp_create | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | tls13_alert_code | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | toascii | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | tolower | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | toupper | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | uabs | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | uv__accept | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | uv_err_name | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | uv_get_osfhandle | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | uv_strerror | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | uv_translate_sys_error | 0 | | atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | | zError | 0 | +| atl.cpp:934:11:934:28 | GetBufferSetLength | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:938:10:938:14 | SetAt | (XCHAR,XCHAR) | CStringT | Replace | 1 | +| atl.cpp:938:10:938:14 | SetAt | (__printf_buffer *,char) | | __printf_buffer_putc_1 | 1 | | atl.cpp:938:10:938:14 | SetAt | (char **,char) | | Curl_str_single | 1 | +| atl.cpp:938:10:938:14 | SetAt | (char **,char) | | __old_strsep_1c | 1 | | atl.cpp:938:10:938:14 | SetAt | (const CStringT &,char) | | operator+ | 1 | | atl.cpp:938:10:938:14 | SetAt | (int,XCHAR) | CStringT | Insert | 0 | | atl.cpp:938:10:938:14 | SetAt | (int,XCHAR) | CStringT | Insert | 1 | @@ -2817,6 +3820,19 @@ signatureMatches | atl.cpp:939:10:939:18 | SetString | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:939:10:939:18 | SetString | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:939:10:939:18 | SetString | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:939:10:939:18 | SetString | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:939:10:939:18 | SetString | (FTS *,int) | | fts_children | 1 | | atl.cpp:939:10:939:18 | SetString | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:939:10:939:18 | SetString | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:939:10:939:18 | SetString | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -2944,7 +3960,15 @@ signatureMatches | atl.cpp:939:10:939:18 | SetString | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:939:10:939:18 | SetString | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:939:10:939:18 | SetString | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:939:10:939:18 | SetString | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:939:10:939:18 | SetString | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:939:10:939:18 | SetString | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:939:10:939:18 | SetString | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:939:10:939:18 | SetString | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:939:10:939:18 | SetString | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:939:10:939:18 | SetString | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:939:10:939:18 | SetString | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:939:10:939:18 | SetString | (char **,int) | | addrsort | 1 | | atl.cpp:939:10:939:18 | SetString | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:939:10:939:18 | SetString | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:939:10:939:18 | SetString | (char,int) | CStringT | CStringT | 1 | @@ -3009,21 +4033,37 @@ signatureMatches | atl.cpp:939:10:939:18 | SetString | (const char *,int) | | Jim_StrDupLen | 1 | | atl.cpp:939:10:939:18 | SetString | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:939:10:939:18 | SetString | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:939:10:939:18 | SetString | (const char *,int) | | ftok | 1 | +| atl.cpp:939:10:939:18 | SetString | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:939:10:939:18 | SetString | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:939:10:939:18 | SetString | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:939:10:939:18 | SetString | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:939:10:939:18 | SetString | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:939:10:939:18 | SetString | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:939:10:939:18 | SetString | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:939:10:939:18 | SetString | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:939:10:939:18 | SetString | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:939:10:939:18 | SetString | (double,int) | | __ldexp | 1 | +| atl.cpp:939:10:939:18 | SetString | (double,int) | | __scalbn | 1 | +| atl.cpp:939:10:939:18 | SetString | (double[],int) | | getloadavg | 1 | | atl.cpp:939:10:939:18 | SetString | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:939:10:939:18 | SetString | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:939:10:939:18 | SetString | (float,int) | | __ldexpf | 1 | +| atl.cpp:939:10:939:18 | SetString | (float,int) | | __scalbnf | 1 | | atl.cpp:939:10:939:18 | SetString | (gzFile,int) | | gzflush | 1 | | atl.cpp:939:10:939:18 | SetString | (gzFile,int) | | gzputc | 1 | | atl.cpp:939:10:939:18 | SetString | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:939:10:939:18 | SetString | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:939:10:939:18 | SetString | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:939:10:939:18 | SetString | (int,int) | | BN_security_bits | 1 | | atl.cpp:939:10:939:18 | SetString | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:939:10:939:18 | SetString | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:939:10:939:18 | SetString | (int,int) | | __isctype | 1 | | atl.cpp:939:10:939:18 | SetString | (int,int) | | acttab_alloc | 1 | +| atl.cpp:939:10:939:18 | SetString | (int,int) | | div | 1 | +| atl.cpp:939:10:939:18 | SetString | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:939:10:939:18 | SetString | (long double,int) | | __ldexpl | 1 | +| atl.cpp:939:10:939:18 | SetString | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:939:10:939:18 | SetString | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:939:10:939:18 | SetString | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:939:10:939:18 | SetString | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -3031,8 +4071,21 @@ signatureMatches | atl.cpp:939:10:939:18 | SetString | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:939:10:939:18 | SetString | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:939:10:939:18 | SetString | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:939:10:939:18 | SetString | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:939:10:939:18 | SetString | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:939:10:939:18 | SetString | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:939:10:939:18 | SetString | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:939:10:939:18 | SetString | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:939:10:939:18 | SetString | (rule *,int) | | Configlist_add | 1 | | atl.cpp:939:10:939:18 | SetString | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:939:10:939:18 | SetString | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:939:10:939:18 | SetString | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:939:10:939:18 | SetString | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:939:10:939:18 | SetString | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:939:10:939:18 | SetString | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -3060,6 +4113,8 @@ signatureMatches | atl.cpp:939:10:939:18 | SetString | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:939:10:939:18 | SetString | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:939:10:939:18 | SetString | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:939:10:939:18 | SetString | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:939:10:939:18 | SetString | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:939:10:939:18 | SetString | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:939:10:939:18 | SetString | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:939:10:939:18 | SetString | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -3068,6 +4123,7 @@ signatureMatches | atl.cpp:939:10:939:18 | SetString | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:939:10:939:18 | SetString | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:939:10:939:18 | SetString | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:939:10:939:18 | SetString | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:939:10:939:18 | SetString | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:940:10:940:18 | SetString | (PCXSTR) | | operator+= | 0 | | atl.cpp:940:10:940:18 | SetString | (PCXSTR) | CSimpleStringT | operator+= | 0 | @@ -3090,22 +4146,60 @@ signatureMatches | atl.cpp:942:11:942:20 | operator[] | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __btowc | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __current_locale_name | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __fdopendir | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __get_errlist | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __get_errname | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __math_invalid_i | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __math_invalidf_i | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __p_class | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __p_rcode | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __p_type | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __pkey_get | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __sigdescr_np | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | __strerrordesc_np | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | _tolower | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | _toupper | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | btowc | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | c_tolower | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | c_toupper | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | curlx_sitouz | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | inet6_option_space | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isalnum | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isalpha | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isblank | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | iscntrl | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isdigit | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isgraph | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | islower | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isprint | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | ispunct | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isspace | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isupper | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | isxdigit | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | ossl_tolower | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | ossl_toupper | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | sigabbrev_np | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | sqlite3_errstr | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | strerrorname_np | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | support_report_failure | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | svcudp_create | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | tls13_alert_code | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | toascii | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | tolower | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | toupper | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | | uabs | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | uv__accept | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | uv_err_name | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | uv_get_osfhandle | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | uv_strerror | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | uv_translate_sys_error | 0 | | atl.cpp:942:11:942:20 | operator[] | (int) | | zError | 0 | +| atl.cpp:942:11:942:20 | operator[] | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:1036:5:1036:12 | CStringT | (const VARIANT &) | | operator+= | 0 | | atl.cpp:1036:5:1036:12 | CStringT | (const VARIANT &) | CStringT | CStringT | 0 | | atl.cpp:1036:5:1036:12 | CStringT | (const VARIANT &) | CStringT | operator= | 0 | @@ -3130,9 +4224,22 @@ signatureMatches | atl.cpp:1043:5:1043:12 | CStringT | (const VARIANT &,IAtlStringMgr *) | CStringT | CStringT | 1 | | atl.cpp:1043:5:1043:12 | CStringT | (const unsigned char *,IAtlStringMgr *) | CStringT | CStringT | 1 | | atl.cpp:1045:5:1045:12 | CStringT | (char *) | | SRP_VBASE_new | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | _IO_gets | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | __mktemp | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | __nis_default_group | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | __nis_default_owner | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | __nis_default_ttl | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | __xpg_basename | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | ctermid | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | cuserid | 0 | | atl.cpp:1045:5:1045:12 | CStringT | (char *) | | defossilize | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | des_setparity | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | dirname | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | getwd | 0 | | atl.cpp:1045:5:1045:12 | CStringT | (char *) | | make_uppercase | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | mkdtemp | 0 | | atl.cpp:1045:5:1045:12 | CStringT | (char *) | | next_item | 0 | +| atl.cpp:1045:5:1045:12 | CStringT | (char *) | | strfry | 0 | | atl.cpp:1045:5:1045:12 | CStringT | (char *) | CStringT | CStringT | 0 | | atl.cpp:1046:5:1046:12 | CStringT | (unsigned char *) | CStringT | CStringT | 0 | | atl.cpp:1047:5:1047:12 | CStringT | (wchar_t *) | CStringT | CStringT | 0 | @@ -3199,6 +4306,19 @@ signatureMatches | atl.cpp:1049:5:1049:12 | CStringT | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (FTS *,int) | | fts_children | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -3326,7 +4446,15 @@ signatureMatches | atl.cpp:1049:5:1049:12 | CStringT | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (char **,int) | | addrsort | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (char,int) | CStringT | CStringT | 0 | @@ -3392,21 +4520,37 @@ signatureMatches | atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | Jim_StrDupLen | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | ftok | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (double,int) | | __ldexp | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (double,int) | | __scalbn | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (double[],int) | | getloadavg | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (float,int) | | __ldexpf | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (float,int) | | __scalbnf | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (gzFile,int) | | gzflush | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (gzFile,int) | | gzputc | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | BN_security_bits | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | __isctype | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | acttab_alloc | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | div | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (long double,int) | | __ldexpl | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -3414,8 +4558,21 @@ signatureMatches | atl.cpp:1049:5:1049:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (rule *,int) | | Configlist_add | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -3443,6 +4600,8 @@ signatureMatches | atl.cpp:1049:5:1049:12 | CStringT | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -3451,6 +4610,7 @@ signatureMatches | atl.cpp:1049:5:1049:12 | CStringT | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:1049:5:1049:12 | CStringT | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:1049:5:1049:12 | CStringT | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -3515,6 +4675,19 @@ signatureMatches | atl.cpp:1050:5:1050:12 | CStringT | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (FTS *,int) | | fts_children | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -3642,7 +4815,15 @@ signatureMatches | atl.cpp:1050:5:1050:12 | CStringT | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (char **,int) | | addrsort | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (char,int) | CStringT | CStringT | 1 | @@ -3707,21 +4888,37 @@ signatureMatches | atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | Jim_StrDupLen | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | ftok | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (double,int) | | __ldexp | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (double,int) | | __scalbn | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (double[],int) | | getloadavg | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (float,int) | | __ldexpf | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (float,int) | | __scalbnf | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (gzFile,int) | | gzflush | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (gzFile,int) | | gzputc | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | BN_security_bits | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | __isctype | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | acttab_alloc | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | div | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (long double,int) | | __ldexpl | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -3729,8 +4926,21 @@ signatureMatches | atl.cpp:1050:5:1050:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (rule *,int) | | Configlist_add | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -3758,6 +4968,8 @@ signatureMatches | atl.cpp:1050:5:1050:12 | CStringT | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -3766,6 +4978,7 @@ signatureMatches | atl.cpp:1050:5:1050:12 | CStringT | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:1050:5:1050:12 | CStringT | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:1050:5:1050:12 | CStringT | (wchar_t,int) | CStringT | CStringT | 0 | | atl.cpp:1050:5:1050:12 | CStringT | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:1061:10:1061:21 | AppendFormat | (PCXSTR,...) | CStringT | AppendFormat | 0 | @@ -3811,26 +5024,67 @@ signatureMatches | atl.cpp:1072:14:1072:17 | Left | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __btowc | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __current_locale_name | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __fdopendir | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __get_errlist | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __get_errname | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __math_invalid_i | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __math_invalidf_i | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __p_class | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __p_rcode | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __p_type | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __pkey_get | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __sigdescr_np | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | __strerrordesc_np | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | _tolower | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | _toupper | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | btowc | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | c_tolower | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | c_toupper | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | curlx_sitouz | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | inet6_option_space | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isalnum | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isalpha | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isblank | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | iscntrl | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isdigit | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isgraph | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | islower | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isprint | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | ispunct | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isspace | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isupper | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | isxdigit | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | ossl_tolower | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | ossl_toupper | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | sigabbrev_np | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | sqlite3_errstr | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | strerrorname_np | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | support_report_failure | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | svcudp_create | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | tls13_alert_code | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | toascii | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | tolower | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | toupper | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | | uabs | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | uv__accept | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | uv_err_name | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | uv_get_osfhandle | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | uv_strerror | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | uv_translate_sys_error | 0 | | atl.cpp:1072:14:1072:17 | Left | (int) | | zError | 0 | +| atl.cpp:1072:14:1072:17 | Left | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:1075:10:1075:19 | LoadString | (UINT) | CComBSTR | LoadString | 0 | | atl.cpp:1075:10:1075:19 | LoadString | (UINT) | _U_STRINGorID | _U_STRINGorID | 0 | | atl.cpp:1075:10:1075:19 | LoadString | (unsigned int) | | Jim_IntHashFunction | 0 | +| atl.cpp:1075:10:1075:19 | LoadString | (unsigned int) | | __sleep | 0 | +| atl.cpp:1075:10:1075:19 | LoadString | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | | atl.cpp:1075:10:1075:19 | LoadString | (unsigned int) | | curlx_uitous | 0 | +| atl.cpp:1075:10:1075:19 | LoadString | (unsigned int) | | la_version | 0 | | atl.cpp:1075:10:1075:19 | LoadString | (unsigned int) | | ssl3_get_cipher | 0 | | atl.cpp:1079:14:1079:16 | Mid | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | atl.cpp:1079:14:1079:16 | Mid | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -3895,6 +5149,19 @@ signatureMatches | atl.cpp:1079:14:1079:16 | Mid | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | atl.cpp:1079:14:1079:16 | Mid | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | atl.cpp:1079:14:1079:16 | Mid | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_default_pbackfail | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_fwide | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_init | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_init_internal | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_new_file_attach | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_new_file_overflow | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_old_init | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_sputbackc | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_str_overflow | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | _IO_str_pbackfail | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (FTS *,int) | | fts_children | 1 | | atl.cpp:1079:14:1079:16 | Mid | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | atl.cpp:1079:14:1079:16 | Mid | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | atl.cpp:1079:14:1079:16 | Mid | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -4022,7 +5289,15 @@ signatureMatches | atl.cpp:1079:14:1079:16 | Mid | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | atl.cpp:1079:14:1079:16 | Mid | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | atl.cpp:1079:14:1079:16 | Mid | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (_Float128,int) | | __ldexpf128 | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (_Float128,int) | | __scalbnf128 | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (__sigset_t *,int) | | __sigdelset_compat | 1 | | atl.cpp:1079:14:1079:16 | Mid | (acttab *,int) | | acttab_insert | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (addrinfo *,int) | | support_format_addrinfo | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (char **,int) | | addrsort | 1 | | atl.cpp:1079:14:1079:16 | Mid | (char *,int) | | Curl_str2addr | 1 | | atl.cpp:1079:14:1079:16 | Mid | (char *,int) | | PEM_proc_type | 1 | | atl.cpp:1079:14:1079:16 | Mid | (char,int) | CStringT | CStringT | 1 | @@ -4087,25 +5362,44 @@ signatureMatches | atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | Jim_StrDupLen | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | RSA_meth_new | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | ftok | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | gethostbyname2 | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | parse_yesno | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (const char *,int) | | res_gethostbyname2 | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | atl.cpp:1079:14:1079:16 | Mid | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (const void *,int) | | inet6_rth_getaddr | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (double,int) | | __ldexp | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (double,int) | | __scalbn | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (double[],int) | | getloadavg | 1 | | atl.cpp:1079:14:1079:16 | Mid | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (fexcept_t *,int) | | fegetexceptflag | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (float,int) | | __ldexpf | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (float,int) | | __scalbnf | 1 | | atl.cpp:1079:14:1079:16 | Mid | (gzFile,int) | | gzflush | 1 | | atl.cpp:1079:14:1079:16 | Mid | (gzFile,int) | | gzputc | 1 | | atl.cpp:1079:14:1079:16 | Mid | (int *,int) | | X509_PURPOSE_set | 1 | | atl.cpp:1079:14:1079:16 | Mid | (int *,int) | | X509_TRUST_set | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (int *,int) | | __lll_unlock_elision | 1 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | BN_security_bits | 0 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | BN_security_bits | 1 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | EVP_MD_meth_new | 0 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | EVP_MD_meth_new | 1 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | EVP_PKEY_meth_new | 0 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | EVP_PKEY_meth_new | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (int,int) | | __isctype | 0 | +| atl.cpp:1079:14:1079:16 | Mid | (int,int) | | __isctype | 1 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | acttab_alloc | 0 | | atl.cpp:1079:14:1079:16 | Mid | (int,int) | | acttab_alloc | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (int,int) | | div | 0 | +| atl.cpp:1079:14:1079:16 | Mid | (int,int) | | div | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (int,int) | | inet6_rth_space | 0 | +| atl.cpp:1079:14:1079:16 | Mid | (int,int) | | inet6_rth_space | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (long double,int) | | __ldexpl | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (netlink_handle *,int) | | __netlink_request | 1 | | atl.cpp:1079:14:1079:16 | Mid | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | atl.cpp:1079:14:1079:16 | Mid | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | atl.cpp:1079:14:1079:16 | Mid | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -4113,8 +5407,21 @@ signatureMatches | atl.cpp:1079:14:1079:16 | Mid | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | atl.cpp:1079:14:1079:16 | Mid | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | atl.cpp:1079:14:1079:16 | Mid | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (ns_msg,int) | | ns_msg_getflag | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (obstack *,int) | | _obstack_newchunk | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | atl.cpp:1079:14:1079:16 | Mid | (rule *,int) | | Configlist_add | 1 | | atl.cpp:1079:14:1079:16 | Mid | (rule *,int) | | Configlist_addbasis | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (sigset_t *,int) | | sigaddset | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (sigset_t *,int) | | sigdelset | 1 | | atl.cpp:1079:14:1079:16 | Mid | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | atl.cpp:1079:14:1079:16 | Mid | (sqlite3 *,int) | | sqlite3_db_name | 1 | | atl.cpp:1079:14:1079:16 | Mid | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -4142,6 +5449,8 @@ signatureMatches | atl.cpp:1079:14:1079:16 | Mid | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | atl.cpp:1079:14:1079:16 | Mid | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | atl.cpp:1079:14:1079:16 | Mid | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (timespec *,int) | | __timespec_get | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (timespec *,int) | | __timespec_getres | 1 | | atl.cpp:1079:14:1079:16 | Mid | (uint16_t,int) | | tls1_group_id2nid | 1 | | atl.cpp:1079:14:1079:16 | Mid | (unsigned char *,int) | | RAND_bytes | 1 | | atl.cpp:1079:14:1079:16 | Mid | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -4150,6 +5459,7 @@ signatureMatches | atl.cpp:1079:14:1079:16 | Mid | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | atl.cpp:1079:14:1079:16 | Mid | (void *,int) | | DSO_dsobyaddr | 1 | | atl.cpp:1079:14:1079:16 | Mid | (void *,int) | | sqlite3_realloc | 1 | +| atl.cpp:1079:14:1079:16 | Mid | (void *const *,int) | | __backtrace_symbols | 1 | | atl.cpp:1079:14:1079:16 | Mid | (wchar_t,int) | CStringT | CStringT | 1 | | atl.cpp:1081:9:1081:15 | Replace | (PCXSTR,PCXSTR) | CStringT | Replace | 0 | | atl.cpp:1081:9:1081:15 | Replace | (PCXSTR,PCXSTR) | CStringT | Replace | 1 | @@ -4176,22 +5486,60 @@ signatureMatches | atl.cpp:1083:14:1083:18 | Right | (int) | | X509_TRUST_get0 | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | X509_TRUST_get_by_id | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __btowc | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __current_locale_name | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __fdopendir | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __get_errlist | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __get_errname | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __math_invalid_i | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __math_invalidf_i | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __p_class | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __p_rcode | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __p_type | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __pkey_get | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __sigdescr_np | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | __strerrordesc_np | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | _tolower | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | _toupper | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | btowc | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | c_tolower | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | c_toupper | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | curlx_sitouz | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | evp_pkey_type2name | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | inet6_option_space | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isalnum | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isalpha | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isblank | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | iscntrl | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isdigit | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isgraph | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | islower | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isprint | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | ispunct | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isspace | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isupper | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | isxdigit | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | ossl_cmp_bodytype_to_string | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | ossl_tolower | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | ossl_toupper | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | sigabbrev_np | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | sqlite3_compileoption_get | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | sqlite3_errstr | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | strerrorname_np | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | support_report_failure | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | svcudp_create | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | tls13_alert_code | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | toascii | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | tolower | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | toupper | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | | uabs | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | uv__accept | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | uv_err_name | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | uv_get_osfhandle | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | uv_strerror | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | uv_translate_sys_error | 0 | | atl.cpp:1083:14:1083:18 | Right | (int) | | zError | 0 | +| atl.cpp:1083:14:1083:18 | Right | (int) | __pthread_cleanup_class | __setdoit | 0 | | atl.cpp:1085:14:1085:26 | SpanExcluding | (PCXSTR) | | operator+= | 0 | | atl.cpp:1085:14:1085:26 | SpanExcluding | (PCXSTR) | CSimpleStringT | operator+= | 0 | | atl.cpp:1085:14:1085:26 | SpanExcluding | (PCXSTR) | CStringT | operator= | 0 | @@ -4216,6 +5564,7 @@ signatureMatches | atl.cpp:1231:5:1231:12 | CStrBufT | (BIO *,X509_CRL *,unsigned long) | | X509_CRL_print_ex | 2 | | atl.cpp:1231:5:1231:12 | CStrBufT | (BIO *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex | 2 | | atl.cpp:1231:5:1231:12 | CStrBufT | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| atl.cpp:1231:5:1231:12 | CStrBufT | (const char *,const char *,unsigned long) | | __ngettext | 2 | | atl.cpp:1231:5:1231:12 | CStrBufT | (unsigned char *,int,unsigned long) | | UTF8_putc | 1 | | atl.cpp:1231:5:1231:12 | CStrBufT | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | bsd.cpp:12:5:12:10 | accept | (CURLM *,curl_socket_t,int *) | | curl_multi_socket | 2 | @@ -4244,6 +5593,7 @@ signatureMatches | bsd.cpp:12:5:12:10 | accept | (PACKET *,uint64_t *,int *) | | ossl_quic_wire_peek_frame_header | 2 | | bsd.cpp:12:5:12:10 | accept | (PROV_DRBG *,OSSL_PARAM[],int *) | | ossl_drbg_get_ctx_params_no_lock | 2 | | bsd.cpp:12:5:12:10 | accept | (QUIC_RSTREAM *,size_t *,int *) | | ossl_quic_rstream_available | 2 | +| bsd.cpp:12:5:12:10 | accept | (_Float128,_Float128,int *) | | __remquof128 | 2 | | bsd.cpp:12:5:12:10 | accept | (const BIGNUM *,const BIGNUM *,int *) | | ossl_ffc_validate_private_key | 2 | | bsd.cpp:12:5:12:10 | accept | (const DH *,const BIGNUM *,int *) | | DH_check_pub_key | 2 | | bsd.cpp:12:5:12:10 | accept | (const DH *,const BIGNUM *,int *) | | ossl_dh_check_priv_key | 2 | @@ -4257,6 +5607,10 @@ signatureMatches | bsd.cpp:12:5:12:10 | accept | (const SSL *,const SSL_CTX *,int *) | | ssl_get_security_level_bits | 2 | | bsd.cpp:12:5:12:10 | accept | (const X509 *,EVP_MD **,int *) | | X509_digest_sig | 2 | | bsd.cpp:12:5:12:10 | accept | (const char *,const OPT_PAIR *,int *) | | opt_pair | 2 | +| bsd.cpp:12:5:12:10 | accept | (const char *,const char *,int *) | | __gconv_compare_alias_cache | 2 | +| bsd.cpp:12:5:12:10 | accept | (const res_sym *,const char *,int *) | | __sym_ston | 2 | +| bsd.cpp:12:5:12:10 | accept | (const res_sym *,int,int *) | | __sym_ntop | 2 | +| bsd.cpp:12:5:12:10 | accept | (const res_sym *,int,int *) | | __sym_ntos | 2 | | bsd.cpp:12:5:12:10 | accept | (const unsigned char **,unsigned int,int *) | | ossl_b2i | 2 | | bsd.cpp:12:5:12:10 | accept | (const uv_tcp_t *,sockaddr *,int *) | | uv_tcp_getpeername | 1 | | bsd.cpp:12:5:12:10 | accept | (const uv_tcp_t *,sockaddr *,int *) | | uv_tcp_getpeername | 2 | @@ -4266,8 +5620,13 @@ signatureMatches | bsd.cpp:12:5:12:10 | accept | (const uv_udp_t *,sockaddr *,int *) | | uv_udp_getpeername | 2 | | bsd.cpp:12:5:12:10 | accept | (const uv_udp_t *,sockaddr *,int *) | | uv_udp_getsockname | 1 | | bsd.cpp:12:5:12:10 | accept | (const uv_udp_t *,sockaddr *,int *) | | uv_udp_getsockname | 2 | +| bsd.cpp:12:5:12:10 | accept | (double,double,int *) | | __remquo | 2 | +| bsd.cpp:12:5:12:10 | accept | (float,float,int *) | | __remquof | 2 | | bsd.cpp:12:5:12:10 | accept | (int,const char **,int *) | | sqlite3_keyword_name | 2 | | bsd.cpp:12:5:12:10 | accept | (int,int,int *) | | ssl_set_version_bound | 2 | +| bsd.cpp:12:5:12:10 | accept | (long double,long double,int *) | | __remquol | 2 | +| bsd.cpp:12:5:12:10 | accept | (pthread_mutex_t *,int,int *) | | __pthread_mutex_setprioceiling | 2 | +| bsd.cpp:12:5:12:10 | accept | (size_t,size_t *,int *) | | __malloc_hugepage_config | 2 | | bsd.cpp:12:5:12:10 | accept | (uv_handle_t *,int,int *) | | uv__socket_sockopt | 2 | | bsd.cpp:12:5:12:10 | accept | (z_streamp,unsigned int *,int *) | | deflatePending | 2 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | ASN1_STRING_type_new | 0 | @@ -4288,25 +5647,66 @@ signatureMatches | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | X509_TRUST_get0 | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | X509_TRUST_get_by_id | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __btowc | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __current_locale_name | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __fdopendir | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __get_errlist | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __get_errname | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __math_invalid_i | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __math_invalidf_i | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __p_class | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __p_rcode | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __p_type | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __pkey_get | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __sigdescr_np | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | __strerrordesc_np | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | _tolower | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | _toupper | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | btowc | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | c_tolower | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | c_toupper | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | curlx_sitouz | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | evp_pkey_type2name | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | inet6_option_space | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isalnum | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isalpha | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isblank | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | iscntrl | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isdigit | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isgraph | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | islower | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isprint | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | ispunct | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isspace | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isupper | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | isxdigit | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | ossl_cmp_bodytype_to_string | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | ossl_tolower | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | ossl_toupper | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | sigabbrev_np | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | sqlite3_compileoption_get | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | sqlite3_errstr | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | strerrorname_np | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | support_report_failure | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | svcudp_create | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | tls13_alert_code | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | toascii | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | tolower | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | toupper | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | uabs | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | uv__accept | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | uv_err_name | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | uv_get_osfhandle | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | uv_strerror | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | uv_translate_sys_error | 0 | | constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | | zError | 0 | +| constructor_delegation.cpp:8:2:8:8 | MyValue | (int) | __pthread_cleanup_class | __setdoit | 0 | | constructor_delegation.cpp:9:2:9:8 | MyValue | (Curl_easy *,bool) | | Curl_creader_set_rewind | 1 | | constructor_delegation.cpp:9:2:9:8 | MyValue | (Curl_easy *,bool) | | Curl_set_in_callback | 1 | | constructor_delegation.cpp:9:2:9:8 | MyValue | (curl_socket_t[2],bool) | | Curl_eventfd | 1 | +| constructor_delegation.cpp:9:2:9:8 | MyValue | (support_fuse *,bool) | | support_fuse_filter_forget | 1 | +| constructor_delegation.cpp:9:2:9:8 | MyValue | (void *,bool) | | _dl_allocate_tls_init | 1 | +| constructor_delegation.cpp:9:2:9:8 | MyValue | (void *,bool) | | _dl_deallocate_tls | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -4370,6 +5770,19 @@ signatureMatches | constructor_delegation.cpp:10:2:10:8 | MyValue | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_default_pbackfail | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_fwide | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_init | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_init_internal | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_new_file_attach | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_new_file_overflow | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_old_init | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_sputbackc | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_str_overflow | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | _IO_str_pbackfail | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (FTS *,int) | | fts_children | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -4497,7 +5910,15 @@ signatureMatches | constructor_delegation.cpp:10:2:10:8 | MyValue | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (_Float128,int) | | __ldexpf128 | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (_Float128,int) | | __scalbnf128 | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (__sigset_t *,int) | | __sigdelset_compat | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (acttab *,int) | | acttab_insert | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (addrinfo *,int) | | support_format_addrinfo | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (char **,int) | | addrsort | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (char *,int) | | Curl_str2addr | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (char *,int) | | PEM_proc_type | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (char,int) | CStringT | CStringT | 1 | @@ -4562,25 +5983,44 @@ signatureMatches | constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | Jim_StrDupLen | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | RSA_meth_new | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | ftok | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | gethostbyname2 | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | parse_yesno | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (const char *,int) | | res_gethostbyname2 | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (const void *,int) | | inet6_rth_getaddr | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (double,int) | | __ldexp | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (double,int) | | __scalbn | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (double[],int) | | getloadavg | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (fexcept_t *,int) | | fegetexceptflag | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (float,int) | | __ldexpf | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (float,int) | | __scalbnf | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (gzFile,int) | | gzflush | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (gzFile,int) | | gzputc | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int *,int) | | X509_PURPOSE_set | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int *,int) | | X509_TRUST_set | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int *,int) | | __lll_unlock_elision | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | BN_security_bits | 0 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | BN_security_bits | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | EVP_MD_meth_new | 0 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | EVP_MD_meth_new | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | EVP_PKEY_meth_new | 0 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | EVP_PKEY_meth_new | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | __isctype | 0 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | __isctype | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | acttab_alloc | 0 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | acttab_alloc | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | div | 0 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | div | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | inet6_rth_space | 0 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (int,int) | | inet6_rth_space | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (long double,int) | | __ldexpl | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (netlink_handle *,int) | | __netlink_request | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -4588,8 +6028,21 @@ signatureMatches | constructor_delegation.cpp:10:2:10:8 | MyValue | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (ns_msg,int) | | ns_msg_getflag | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (obstack *,int) | | _obstack_newchunk | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (rule *,int) | | Configlist_add | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (rule *,int) | | Configlist_addbasis | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (sigset_t *,int) | | sigaddset | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (sigset_t *,int) | | sigdelset | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (sqlite3 *,int) | | sqlite3_db_name | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -4617,6 +6070,8 @@ signatureMatches | constructor_delegation.cpp:10:2:10:8 | MyValue | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (timespec *,int) | | __timespec_get | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (timespec *,int) | | __timespec_getres | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (uint16_t,int) | | tls1_group_id2nid | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (unsigned char *,int) | | RAND_bytes | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -4625,6 +6080,7 @@ signatureMatches | constructor_delegation.cpp:10:2:10:8 | MyValue | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (void *,int) | | DSO_dsobyaddr | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (void *,int) | | sqlite3_realloc | 1 | +| constructor_delegation.cpp:10:2:10:8 | MyValue | (void *const *,int) | | __backtrace_symbols | 1 | | constructor_delegation.cpp:10:2:10:8 | MyValue | (wchar_t,int) | CStringT | CStringT | 1 | | constructor_delegation.cpp:11:2:11:8 | MyValue | (Curl_easy *,CURLcode,bool) | | Curl_http_done | 2 | | constructor_delegation.cpp:11:2:11:8 | MyValue | (Curl_easy *,Curl_chunker *,bool) | | Curl_httpchunk_init | 2 | @@ -4635,6 +6091,9 @@ signatureMatches | constructor_delegation.cpp:11:2:11:8 | MyValue | (Curl_easy *,pingpong *,bool) | | Curl_pp_state_timeout | 2 | | constructor_delegation.cpp:11:2:11:8 | MyValue | (Curl_easy *,size_t,bool) | | Curl_bump_headersize | 2 | | constructor_delegation.cpp:11:2:11:8 | MyValue | (GlobalConfig *,timeval *,bool) | | progress_meter | 2 | +| constructor_delegation.cpp:11:2:11:8 | MyValue | (link_map *,Dl_serinfo *,bool) | | _dl_rtld_di_serinfo | 2 | +| constructor_delegation.cpp:11:2:11:8 | MyValue | (link_map *,link_map_public *,bool) | | _dl_close_worker | 2 | +| constructor_delegation.cpp:11:2:11:8 | MyValue | (size_t,char *[],bool) | | add_locales_to_archive | 2 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -4698,6 +6157,19 @@ signatureMatches | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_default_pbackfail | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_fwide | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_init | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_init_internal | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_new_file_attach | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_new_file_overflow | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_old_init | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_sputbackc | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_str_overflow | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | _IO_str_pbackfail | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (FTS *,int) | | fts_children | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -4825,7 +6297,15 @@ signatureMatches | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (_Float128,int) | | __ldexpf128 | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (_Float128,int) | | __scalbnf128 | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (__sigset_t *,int) | | __sigdelset_compat | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (acttab *,int) | | acttab_insert | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (addrinfo *,int) | | support_format_addrinfo | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (char **,int) | | addrsort | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (char *,int) | | Curl_str2addr | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (char *,int) | | PEM_proc_type | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (char,int) | CStringT | CStringT | 1 | @@ -4890,21 +6370,37 @@ signatureMatches | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | Jim_StrDupLen | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | RSA_meth_new | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | ftok | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | gethostbyname2 | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | parse_yesno | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const char *,int) | | res_gethostbyname2 | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (const void *,int) | | inet6_rth_getaddr | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (double,int) | | __ldexp | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (double,int) | | __scalbn | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (double[],int) | | getloadavg | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (fexcept_t *,int) | | fegetexceptflag | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (float,int) | | __ldexpf | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (float,int) | | __scalbnf | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (gzFile,int) | | gzflush | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (gzFile,int) | | gzputc | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int *,int) | | X509_PURPOSE_set | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int *,int) | | X509_TRUST_set | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int *,int) | | __lll_unlock_elision | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | BN_security_bits | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | EVP_MD_meth_new | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | EVP_PKEY_meth_new | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | __isctype | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | acttab_alloc | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | div | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (int,int) | | inet6_rth_space | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (long double,int) | | __ldexpl | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (netlink_handle *,int) | | __netlink_request | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -4912,8 +6408,21 @@ signatureMatches | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (ns_msg,int) | | ns_msg_getflag | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (obstack *,int) | | _obstack_newchunk | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (rule *,int) | | Configlist_add | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (rule *,int) | | Configlist_addbasis | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (sigset_t *,int) | | sigaddset | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (sigset_t *,int) | | sigdelset | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (sqlite3 *,int) | | sqlite3_db_name | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -4941,6 +6450,8 @@ signatureMatches | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (timespec *,int) | | __timespec_get | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (timespec *,int) | | __timespec_getres | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (uint16_t,int) | | tls1_group_id2nid | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (unsigned char *,int) | | RAND_bytes | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -4949,6 +6460,7 @@ signatureMatches | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (void *,int) | | DSO_dsobyaddr | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (void *,int) | | sqlite3_realloc | 1 | +| constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (void *const *,int) | | __backtrace_symbols | 1 | | constructor_delegation.cpp:19:2:19:15 | MyDerivedValue | (wchar_t,int) | CStringT | CStringT | 1 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | ASN1_STRING_type_new | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | ASN1_tag2bit | 0 | @@ -4968,22 +6480,60 @@ signatureMatches | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | X509_TRUST_get0 | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | X509_TRUST_get_by_id | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __btowc | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __current_locale_name | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __fdopendir | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __get_errlist | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __get_errname | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __math_invalid_i | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __math_invalidf_i | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __p_class | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __p_rcode | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __p_type | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __pkey_get | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __sigdescr_np | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | __strerrordesc_np | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | _tolower | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | _toupper | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | btowc | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | c_tolower | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | c_toupper | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | curlx_sitouz | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | evp_pkey_type2name | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | inet6_option_space | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isalnum | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isalpha | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isblank | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | iscntrl | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isdigit | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isgraph | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | islower | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isprint | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | ispunct | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isspace | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isupper | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | isxdigit | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | ossl_cmp_bodytype_to_string | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | ossl_tolower | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | ossl_toupper | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | sigabbrev_np | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | sqlite3_compileoption_get | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | sqlite3_errstr | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | strerrorname_np | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | support_report_failure | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | svcudp_create | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | tls13_alert_code | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | toascii | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | tolower | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | toupper | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | uabs | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | uv__accept | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | uv_err_name | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | uv_get_osfhandle | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | uv_strerror | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | uv_translate_sys_error | 0 | | copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | | zError | 0 | +| copyableclass.cpp:8:2:8:16 | MyCopyableClass | (int) | __pthread_cleanup_class | __setdoit | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ASN1_STRING_type_new | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ASN1_tag2bit | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ASN1_tag2str | 0 | @@ -5002,43 +6552,102 @@ signatureMatches | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | X509_TRUST_get0 | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | X509_TRUST_get_by_id | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __btowc | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __current_locale_name | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __fdopendir | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __get_errlist | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __get_errname | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __math_invalid_i | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __math_invalidf_i | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __p_class | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __p_rcode | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __p_type | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __pkey_get | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __sigdescr_np | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | __strerrordesc_np | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | _tolower | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | _toupper | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | btowc | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | c_tolower | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | c_toupper | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | curlx_sitouz | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | evp_pkey_type2name | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | inet6_option_space | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isalnum | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isalpha | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isblank | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | iscntrl | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isdigit | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isgraph | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | islower | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isprint | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ispunct | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isspace | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isupper | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | isxdigit | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ossl_cmp_bodytype_to_string | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ossl_tolower | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | ossl_toupper | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | sigabbrev_np | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | sqlite3_compileoption_get | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | sqlite3_errstr | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | strerrorname_np | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | support_report_failure | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | svcudp_create | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | tls13_alert_code | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | toascii | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | tolower | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | toupper | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | uabs | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | uv__accept | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | uv_err_name | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | uv_get_osfhandle | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | uv_strerror | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | uv_translate_sys_error | 0 | | copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | | zError | 0 | +| copyableclass_declonly.cpp:8:2:8:24 | MyCopyableClassDeclOnly | (int) | __pthread_cleanup_class | __setdoit | 0 | | file://:0:0:0:0 | operator delete | (void *) | | Curl_cpool_upkeep | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | __dlclose | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | __libc_dlclose | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | __libc_free | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | __malloc_usable_size | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | _dl_allocate_tls | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | _dl_close | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | malloc_usable_size | 0 | | file://:0:0:0:0 | operator delete | (void *) | | ossl_kdf_data_new | 0 | +| file://:0:0:0:0 | operator delete | (void *) | | support_shared_free | 0 | | file://:0:0:0:0 | operator new | (unsigned long) | | BN_num_bits_word | 0 | | file://:0:0:0:0 | operator new | (unsigned long) | | BUF_MEM_new_ex | 0 | | file://:0:0:0:0 | operator new | (unsigned long) | | curlx_ultouc | 0 | | file://:0:0:0:0 | operator new | (unsigned long) | | curlx_ultous | 0 | +| file://:0:0:0:0 | operator new | (unsigned long) | | next_prime | 0 | | format.cpp:5:5:5:12 | snprintf | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 2 | | format.cpp:5:5:5:12 | snprintf | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 3 | +| format.cpp:5:5:5:12 | snprintf | (char **,int,const char *,...) | | ___asprintf_chk | 2 | +| format.cpp:5:5:5:12 | snprintf | (char **,int,const char *,...) | | ___asprintf_chk | 3 | | format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 0 | | format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 1 | | format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 2 | | format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 3 | +| format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | __strfmon | 0 | +| format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | __strfmon | 1 | +| format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | __strfmon | 2 | +| format.cpp:5:5:5:12 | snprintf | (char *,size_t,const char *,...) | | __strfmon | 3 | | format.cpp:5:5:5:12 | snprintf | (int,char *,const char *,...) | | sqlite3_snprintf | 2 | | format.cpp:5:5:5:12 | snprintf | (int,char *,const char *,...) | | sqlite3_snprintf | 3 | +| format.cpp:5:5:5:12 | snprintf | (ucontext_t *,..(*)(..),int,...) | | __makecontext | 3 | | format.cpp:6:5:6:11 | sprintf | (CURLSH *,CURLSHoption,...) | | curl_share_setopt | 2 | | format.cpp:6:5:6:11 | sprintf | (Jim_Interp *,const char *,...) | | Jim_SetResultFormatted | 1 | | format.cpp:6:5:6:11 | sprintf | (Jim_Interp *,const char *,...) | | Jim_SetResultFormatted | 2 | +| format.cpp:6:5:6:11 | sprintf | (char **,const char *,...) | | ___asprintf | 1 | +| format.cpp:6:5:6:11 | sprintf | (char **,const char *,...) | | ___asprintf | 2 | | format.cpp:6:5:6:11 | sprintf | (curl_httppost **,curl_httppost **,...) | | curl_formadd | 2 | | format.cpp:7:5:7:12 | swprintf | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 3 | +| format.cpp:7:5:7:12 | swprintf | (char **,int,const char *,...) | | ___asprintf_chk | 3 | | format.cpp:7:5:7:12 | swprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 3 | +| format.cpp:7:5:7:12 | swprintf | (char *,size_t,const char *,...) | | __strfmon | 3 | | format.cpp:7:5:7:12 | swprintf | (int,char *,const char *,...) | | sqlite3_snprintf | 3 | +| format.cpp:7:5:7:12 | swprintf | (ucontext_t *,..(*)(..),int,...) | | __makecontext | 3 | | format.cpp:14:5:14:13 | vsnprintf | (..(*)(..),..(*)(..),..(*)(..),void *) | | libssh2_session_init_ex | 3 | | format.cpp:14:5:14:13 | vsnprintf | (BIO *,CMS_ContentInfo **,pem_password_cb *,void *) | | PEM_read_bio_CMS | 3 | | format.cpp:14:5:14:13 | vsnprintf | (BIO *,DH **,pem_password_cb *,void *) | | PEM_read_bio_DHparams | 3 | @@ -5099,6 +6708,8 @@ signatureMatches | format.cpp:14:5:14:13 | vsnprintf | (FILE *,X509_PUBKEY **,pem_password_cb *,void *) | | PEM_read_X509_PUBKEY | 3 | | format.cpp:14:5:14:13 | vsnprintf | (FILE *,X509_REQ **,pem_password_cb *,void *) | | PEM_read_X509_REQ | 3 | | format.cpp:14:5:14:13 | vsnprintf | (FILE *,X509_SIG **,pem_password_cb *,void *) | | PEM_read_PKCS8 | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (FILE *,int,const char *,va_list) | | ___vfprintf_chk | 2 | +| format.cpp:14:5:14:13 | vsnprintf | (FILE *,int,const char *,va_list) | | ___vfprintf_chk | 3 | | format.cpp:14:5:14:13 | vsnprintf | (FILE *,stack_st_X509_INFO *,pem_password_cb *,void *) | | PEM_X509_INFO_read | 3 | | format.cpp:14:5:14:13 | vsnprintf | (HT *,size_t,..(*)(..),void *) | | ossl_ht_filter | 3 | | format.cpp:14:5:14:13 | vsnprintf | (MD5_SHA1_CTX *,int,int,void *) | | ossl_md5_sha1_ctrl | 3 | @@ -5127,6 +6738,10 @@ signatureMatches | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 1 | | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 2 | | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | ___vsnprintf | 0 | +| format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | ___vsnprintf | 1 | +| format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | ___vsnprintf | 2 | +| format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | ___vsnprintf | 3 | | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 0 | | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 1 | | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 2 | @@ -5137,6 +6752,13 @@ signatureMatches | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,size_t,void *) | | tool_mime_stdin_read | 3 | | format.cpp:14:5:14:13 | vsnprintf | (char *,size_t,size_t,void *) | | tool_read_cb | 3 | | format.cpp:14:5:14:13 | vsnprintf | (const OSSL_NAMEMAP *,int,..(*)(..),void *) | | ossl_namemap_doall_names | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (const char *,const char *,__gnuc_va_list,va_list) | | _IO_vsscanf | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vscanf | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vscanf | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (const char *,int,void *,void *) | | support_readdir_r_check | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vwscanf | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vwscanf | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (hash_table *,const void *,size_t,void *) | | insert_entry | 3 | | format.cpp:14:5:14:13 | vsnprintf | (int,char *,const char *,va_list) | | sqlite3_vsnprintf | 2 | | format.cpp:14:5:14:13 | vsnprintf | (int,char *,const char *,va_list) | | sqlite3_vsnprintf | 3 | | format.cpp:14:5:14:13 | vsnprintf | (int,int,const char *,va_list) | | ERR_vset_error | 2 | @@ -5149,17 +6771,29 @@ signatureMatches | format.cpp:14:5:14:13 | vsnprintf | (sqlite3 *,const char *,int,void *) | | sqlite3_file_control | 3 | | format.cpp:14:5:14:13 | vsnprintf | (sqlite3 *,int,..(*)(..),void *) | | sqlite3_progress_handler | 3 | | format.cpp:14:5:14:13 | vsnprintf | (sqlite3 *,unsigned int,..(*)(..),void *) | | sqlite3_trace_v2 | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (void *,const char *,const char *,void *) | | _dl_vsym | 2 | +| format.cpp:14:5:14:13 | vsnprintf | (void *,const char *,const char *,void *) | | _dl_vsym | 3 | +| format.cpp:14:5:14:13 | vsnprintf | (wchar_t *,size_t,const wchar_t *,va_list) | | __vswprintf | 3 | | format.cpp:16:5:16:13 | mysprintf | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 2 | | format.cpp:16:5:16:13 | mysprintf | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 3 | +| format.cpp:16:5:16:13 | mysprintf | (char **,int,const char *,...) | | ___asprintf_chk | 2 | +| format.cpp:16:5:16:13 | mysprintf | (char **,int,const char *,...) | | ___asprintf_chk | 3 | | format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 0 | | format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 1 | | format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 2 | | format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | BIO_snprintf | 3 | +| format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | __strfmon | 0 | +| format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | __strfmon | 1 | +| format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | __strfmon | 2 | +| format.cpp:16:5:16:13 | mysprintf | (char *,size_t,const char *,...) | | __strfmon | 3 | | format.cpp:16:5:16:13 | mysprintf | (int,char *,const char *,...) | | sqlite3_snprintf | 2 | | format.cpp:16:5:16:13 | mysprintf | (int,char *,const char *,...) | | sqlite3_snprintf | 3 | +| format.cpp:16:5:16:13 | mysprintf | (ucontext_t *,..(*)(..),int,...) | | __makecontext | 3 | | format.cpp:28:5:28:10 | sscanf | (CURLSH *,CURLSHoption,...) | | curl_share_setopt | 2 | | format.cpp:28:5:28:10 | sscanf | (Jim_Interp *,const char *,...) | | Jim_SetResultFormatted | 1 | | format.cpp:28:5:28:10 | sscanf | (Jim_Interp *,const char *,...) | | Jim_SetResultFormatted | 2 | +| format.cpp:28:5:28:10 | sscanf | (char **,const char *,...) | | ___asprintf | 1 | +| format.cpp:28:5:28:10 | sscanf | (char **,const char *,...) | | ___asprintf | 2 | | format.cpp:28:5:28:10 | sscanf | (curl_httppost **,curl_httppost **,...) | | curl_formadd | 2 | | format.cpp:142:8:142:13 | strlen | (const char *) | | BIO_gethostbyname | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | Curl_copy_header_value | 0 | @@ -5173,20 +6807,53 @@ signatureMatches | format.cpp:142:8:142:13 | strlen | (const char *) | | UI_create_method | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | X509V3_parse_list | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | X509_LOOKUP_meth_new | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __basename | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __gconv_find_shlib | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __gettext | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __hash_string | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __nss_action_parse | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __strdup | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __textdomain | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __tzset_parse_tz | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | __tzstring | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | a2i_IPADDRESS | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | a2i_IPADDRESS_NC | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | a64l | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | charmap_opendir | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | ether_aton | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | getdate | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | inetstr2int | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | last_component | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | opt_path_end | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | opt_progname | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | ossl_lh_strcasehash | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | repertoire_read | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | res_gethostbyname | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | sgetsgent | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | sgetspent | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | strhash | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | uc_script_byname | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | uv__strdup | 0 | | format.cpp:142:8:142:13 | strlen | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| format.cpp:142:8:142:13 | strlen | (const char *) | | xstrdup | 0 | | map.cpp:8:6:8:9 | sink | (char *) | | SRP_VBASE_new | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | _IO_gets | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | __mktemp | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | __nis_default_group | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | __nis_default_owner | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | __nis_default_ttl | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | __xpg_basename | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | ctermid | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | cuserid | 0 | | map.cpp:8:6:8:9 | sink | (char *) | | defossilize | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | des_setparity | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | dirname | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | getwd | 0 | | map.cpp:8:6:8:9 | sink | (char *) | | make_uppercase | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | mkdtemp | 0 | | map.cpp:8:6:8:9 | sink | (char *) | | next_item | 0 | +| map.cpp:8:6:8:9 | sink | (char *) | | strfry | 0 | | map.cpp:8:6:8:9 | sink | (char *) | CStringT | CStringT | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | BIO_gethostbyname | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | Curl_copy_header_value | 0 | @@ -5200,16 +6867,37 @@ signatureMatches | map.cpp:9:6:9:9 | sink | (const char *) | | UI_create_method | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | X509V3_parse_list | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | X509_LOOKUP_meth_new | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __basename | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __gconv_find_shlib | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __gettext | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __hash_string | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __nss_action_parse | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __strdup | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __textdomain | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __tzset_parse_tz | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | __tzstring | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | a2i_IPADDRESS | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | a2i_IPADDRESS_NC | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | a64l | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | charmap_opendir | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | ether_aton | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | getdate | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | inetstr2int | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | last_component | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | opt_path_end | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | opt_progname | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | ossl_lh_strcasehash | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | repertoire_read | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | res_gethostbyname | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | sgetsgent | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | sgetspent | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | strhash | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | uc_script_byname | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | uv__strdup | 0 | | map.cpp:9:6:9:9 | sink | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| map.cpp:9:6:9:9 | sink | (const char *) | | xstrdup | 0 | +| map.cpp:442:7:442:19 | indirect_sink | (int *) | | rresvport | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ASN1_STRING_type_new | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ASN1_tag2bit | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ASN1_tag2str | 0 | @@ -5228,26 +6916,77 @@ signatureMatches | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | X509_TRUST_get0 | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | X509_TRUST_get_by_id | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __btowc | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __current_locale_name | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __fdopendir | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __get_errlist | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __get_errname | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __math_invalid_i | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __math_invalidf_i | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __p_class | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __p_rcode | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __p_type | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __pkey_get | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __sigdescr_np | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | __strerrordesc_np | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | _tolower | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | _toupper | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | btowc | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | c_tolower | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | c_toupper | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | curlx_sitouz | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | evp_pkey_type2name | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | inet6_option_space | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isalnum | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isalpha | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isblank | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | iscntrl | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isdigit | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isgraph | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | islower | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isprint | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ispunct | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isspace | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isupper | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | isxdigit | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ossl_cmp_bodytype_to_string | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ossl_tolower | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | ossl_toupper | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | sigabbrev_np | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | sqlite3_compileoption_get | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | sqlite3_errstr | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | strerrorname_np | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | support_report_failure | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | svcudp_create | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | tls13_alert_code | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | toascii | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | tolower | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | toupper | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | uabs | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | uv__accept | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | uv_err_name | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | uv_get_osfhandle | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | uv_strerror | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | uv_translate_sys_error | 0 | | movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | | zError | 0 | +| movableclass.cpp:8:2:8:15 | MyMovableClass | (int) | __pthread_cleanup_class | __setdoit | 0 | | set.cpp:8:6:8:9 | sink | (char *) | | SRP_VBASE_new | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | _IO_gets | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | __mktemp | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | __nis_default_group | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | __nis_default_owner | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | __nis_default_ttl | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | __xpg_basename | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | ctermid | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | cuserid | 0 | | set.cpp:8:6:8:9 | sink | (char *) | | defossilize | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | des_setparity | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | dirname | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | getwd | 0 | | set.cpp:8:6:8:9 | sink | (char *) | | make_uppercase | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | mkdtemp | 0 | | set.cpp:8:6:8:9 | sink | (char *) | | next_item | 0 | +| set.cpp:8:6:8:9 | sink | (char *) | | strfry | 0 | | set.cpp:8:6:8:9 | sink | (char *) | CStringT | CStringT | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | ASN1_STRING_type_new | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | ASN1_tag2bit | 0 | @@ -5267,22 +7006,61 @@ signatureMatches | smart_pointer.cpp:4:6:4:9 | sink | (int) | | X509_TRUST_get0 | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | X509_TRUST_get_by_id | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __btowc | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __current_locale_name | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __fdopendir | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __get_errlist | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __get_errname | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __math_invalid_i | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __math_invalidf_i | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __p_class | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __p_rcode | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __p_type | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __pkey_get | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __sigdescr_np | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | __strerrordesc_np | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | _tolower | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | _toupper | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | btowc | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | c_tolower | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | c_toupper | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | curlx_sitouz | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | evp_pkey_type2name | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | inet6_option_space | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isalnum | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isalpha | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isblank | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | iscntrl | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isdigit | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isgraph | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | islower | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isprint | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | ispunct | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isspace | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isupper | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | isxdigit | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | ossl_cmp_bodytype_to_string | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | ossl_tolower | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | ossl_toupper | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | sigabbrev_np | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | sqlite3_compileoption_get | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | sqlite3_errstr | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | strerrorname_np | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | support_report_failure | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | svcudp_create | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | tls13_alert_code | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | toascii | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | tolower | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | toupper | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | | uabs | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | uv__accept | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | uv_err_name | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | uv_get_osfhandle | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | uv_strerror | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | uv_translate_sys_error | 0 | | smart_pointer.cpp:4:6:4:9 | sink | (int) | | zError | 0 | +| smart_pointer.cpp:4:6:4:9 | sink | (int) | __pthread_cleanup_class | __setdoit | 0 | +| smart_pointer.cpp:5:6:5:9 | sink | (int *) | | rresvport | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ASN1_tag2str | 0 | @@ -5301,22 +7079,60 @@ signatureMatches | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __btowc | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __p_class | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __p_type | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | _tolower | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | _toupper | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | btowc | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | c_tolower | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | c_toupper | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isalnum | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isalpha | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isblank | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isdigit | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isgraph | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | islower | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isprint | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ispunct | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isspace | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isupper | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | isxdigit | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | toascii | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | tolower | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | toupper | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | | uabs | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | uv__accept | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:5:6:5:9 | sink | (int) | | zError | 0 | +| standalone_iterators.cpp:5:6:5:9 | sink | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ASN1_tag2str | 0 | @@ -5335,22 +7151,60 @@ signatureMatches | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __btowc | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __p_class | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __p_type | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | _tolower | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | _toupper | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | btowc | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | c_tolower | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | c_toupper | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isalnum | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isalpha | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isblank | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isdigit | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isgraph | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | islower | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isprint | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ispunct | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isspace | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isupper | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | isxdigit | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | toascii | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | tolower | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | toupper | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | uabs | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | uv__accept | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | | zError | 0 | +| standalone_iterators.cpp:16:30:16:39 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ASN1_tag2str | 0 | @@ -5369,22 +7223,60 @@ signatureMatches | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __btowc | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __p_class | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __p_type | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | _tolower | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | _toupper | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | btowc | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | c_tolower | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | c_toupper | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isalnum | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isalpha | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isblank | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isdigit | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isgraph | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | islower | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isprint | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ispunct | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isspace | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isupper | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | isxdigit | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | toascii | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | tolower | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | toupper | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | uabs | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | uv__accept | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | | zError | 0 | +| standalone_iterators.cpp:23:27:23:36 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ASN1_tag2str | 0 | @@ -5403,22 +7295,60 @@ signatureMatches | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __btowc | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __p_class | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __p_type | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | _tolower | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | _toupper | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | btowc | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | c_tolower | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | c_toupper | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isalnum | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isalpha | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isblank | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isdigit | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isgraph | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | islower | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isprint | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ispunct | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isspace | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isupper | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | isxdigit | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | toascii | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | tolower | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | toupper | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | uabs | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | uv__accept | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | | zError | 0 | +| standalone_iterators.cpp:39:18:39:27 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ASN1_tag2str | 0 | @@ -5437,22 +7367,60 @@ signatureMatches | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __btowc | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __p_class | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __p_type | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | _tolower | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | _toupper | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | btowc | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | c_tolower | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | c_toupper | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isalnum | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isalpha | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isblank | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isdigit | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isgraph | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | islower | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isprint | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ispunct | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isspace | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isupper | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | isxdigit | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | toascii | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | tolower | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | toupper | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | uabs | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | uv__accept | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | | zError | 0 | +| standalone_iterators.cpp:66:30:66:39 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ASN1_tag2str | 0 | @@ -5471,22 +7439,60 @@ signatureMatches | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __btowc | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __p_class | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __p_type | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | _tolower | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | _toupper | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | btowc | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | c_tolower | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | c_toupper | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isalnum | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isalpha | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isblank | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isdigit | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isgraph | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | islower | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isprint | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ispunct | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isspace | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isupper | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | isxdigit | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | toascii | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | tolower | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | toupper | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | uabs | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | uv__accept | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | | zError | 0 | +| standalone_iterators.cpp:68:30:68:39 | operator-- | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ASN1_STRING_type_new | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ASN1_tag2bit | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ASN1_tag2str | 0 | @@ -5505,22 +7511,60 @@ signatureMatches | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | X509_TRUST_get0 | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | X509_TRUST_get_by_id | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __btowc | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __current_locale_name | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __fdopendir | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __get_errlist | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __get_errname | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __math_invalid_i | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __math_invalidf_i | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __p_class | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __p_rcode | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __p_type | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __pkey_get | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __sigdescr_np | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | __strerrordesc_np | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | _tolower | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | _toupper | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | btowc | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | c_tolower | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | c_toupper | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | curlx_sitouz | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | evp_pkey_type2name | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | inet6_option_space | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isalnum | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isalpha | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isblank | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | iscntrl | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isdigit | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isgraph | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | islower | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isprint | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ispunct | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isspace | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isupper | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | isxdigit | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ossl_cmp_bodytype_to_string | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ossl_tolower | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | ossl_toupper | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | sigabbrev_np | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | sqlite3_compileoption_get | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | sqlite3_errstr | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | strerrorname_np | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | support_report_failure | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | svcudp_create | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | tls13_alert_code | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | toascii | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | tolower | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | toupper | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | uabs | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | uv__accept | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | uv_err_name | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | uv_get_osfhandle | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | uv_strerror | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | uv_translate_sys_error | 0 | | standalone_iterators.cpp:70:31:70:39 | operator= | (int) | | zError | 0 | +| standalone_iterators.cpp:70:31:70:39 | operator= | (int) | __pthread_cleanup_class | __setdoit | 0 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -5584,6 +7628,19 @@ signatureMatches | standalone_iterators.cpp:103:27:103:36 | operator+= | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_default_pbackfail | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_fwide | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_init | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_init_internal | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_new_file_attach | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_new_file_overflow | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_old_init | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_sputbackc | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_str_overflow | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | _IO_str_pbackfail | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (FTS *,int) | | fts_children | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -5711,7 +7768,15 @@ signatureMatches | standalone_iterators.cpp:103:27:103:36 | operator+= | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (_Float128,int) | | __ldexpf128 | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (_Float128,int) | | __scalbnf128 | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (__sigset_t *,int) | | __sigdelset_compat | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (acttab *,int) | | acttab_insert | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (addrinfo *,int) | | support_format_addrinfo | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (char **,int) | | addrsort | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (char *,int) | | Curl_str2addr | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (char *,int) | | PEM_proc_type | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (char,int) | CStringT | CStringT | 1 | @@ -5776,21 +7841,37 @@ signatureMatches | standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | Jim_StrDupLen | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | RSA_meth_new | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | ftok | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | gethostbyname2 | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | parse_yesno | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (const char *,int) | | res_gethostbyname2 | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (const void *,int) | | inet6_rth_getaddr | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (double,int) | | __ldexp | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (double,int) | | __scalbn | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (double[],int) | | getloadavg | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (fexcept_t *,int) | | fegetexceptflag | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (float,int) | | __ldexpf | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (float,int) | | __scalbnf | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (gzFile,int) | | gzflush | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (gzFile,int) | | gzputc | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (int *,int) | | X509_PURPOSE_set | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (int *,int) | | X509_TRUST_set | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (int *,int) | | __lll_unlock_elision | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | BN_security_bits | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | EVP_MD_meth_new | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | EVP_PKEY_meth_new | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | __isctype | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | acttab_alloc | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | div | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (int,int) | | inet6_rth_space | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (long double,int) | | __ldexpl | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (netlink_handle *,int) | | __netlink_request | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -5798,8 +7879,21 @@ signatureMatches | standalone_iterators.cpp:103:27:103:36 | operator+= | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (ns_msg,int) | | ns_msg_getflag | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (obstack *,int) | | _obstack_newchunk | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (rule *,int) | | Configlist_add | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (rule *,int) | | Configlist_addbasis | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (sigset_t *,int) | | sigaddset | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (sigset_t *,int) | | sigdelset | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (sqlite3 *,int) | | sqlite3_db_name | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -5827,6 +7921,8 @@ signatureMatches | standalone_iterators.cpp:103:27:103:36 | operator+= | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (timespec *,int) | | __timespec_get | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (timespec *,int) | | __timespec_getres | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (uint16_t,int) | | tls1_group_id2nid | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (unsigned char *,int) | | RAND_bytes | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -5835,6 +7931,7 @@ signatureMatches | standalone_iterators.cpp:103:27:103:36 | operator+= | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (void *,int) | | DSO_dsobyaddr | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (void *,int) | | sqlite3_realloc | 1 | +| standalone_iterators.cpp:103:27:103:36 | operator+= | (void *const *,int) | | __backtrace_symbols | 1 | | standalone_iterators.cpp:103:27:103:36 | operator+= | (wchar_t,int) | CStringT | CStringT | 1 | | stl.h:52:12:52:21 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | ASN1_STRING_type_new | 0 | @@ -5926,6 +8023,86 @@ signatureMatches | stl.h:52:12:52:21 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errname | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errname | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errname | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errname | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __get_errname | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_class | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_class | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_class | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_class | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_class | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_type | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_type | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_type | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_type | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __p_type | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | _toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | btowc | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | btowc | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | c_tolower | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | c_tolower | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | c_tolower | 0 | @@ -5946,6 +8123,71 @@ signatureMatches | stl.h:52:12:52:21 | operator++ | (int) | | evp_pkey_type2name | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | evp_pkey_type2name | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | evp_pkey_type2name | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalnum | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalnum | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalnum | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalnum | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalnum | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalpha | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalpha | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalpha | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalpha | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isalpha | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isblank | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isblank | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isblank | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isblank | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isblank | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | iscntrl | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | iscntrl | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | iscntrl | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | iscntrl | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | iscntrl | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isgraph | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isgraph | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isgraph | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isgraph | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isgraph | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | islower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | islower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | islower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | islower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | islower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isprint | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isprint | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isprint | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isprint | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isprint | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | ispunct | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | ispunct | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | ispunct | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | ispunct | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | ispunct | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isspace | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isspace | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isspace | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isspace | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isspace | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isxdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isxdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isxdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isxdigit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | isxdigit | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | @@ -5961,6 +8203,11 @@ signatureMatches | stl.h:52:12:52:21 | operator++ | (int) | | ossl_toupper | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | ossl_toupper | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | ossl_toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | sigabbrev_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | sigabbrev_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | sigabbrev_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | sigabbrev_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | sigabbrev_np | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | sqlite3_compileoption_get | 0 | @@ -5971,11 +8218,46 @@ signatureMatches | stl.h:52:12:52:21 | operator++ | (int) | | sqlite3_errstr | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | sqlite3_errstr | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | sqlite3_errstr | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | svcudp_create | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | svcudp_create | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | svcudp_create | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | svcudp_create | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | svcudp_create | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | tls13_alert_code | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | tls13_alert_code | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | tls13_alert_code | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | tls13_alert_code | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | tls13_alert_code | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toascii | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toascii | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toascii | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toascii | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toascii | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | tolower | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | toupper | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | uabs | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | uabs | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | uabs | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | uabs | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | | uabs | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | uv__accept | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | uv__accept | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | uv__accept | 0 | @@ -6006,6 +8288,11 @@ signatureMatches | stl.h:52:12:52:21 | operator++ | (int) | | zError | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | zError | 0 | | stl.h:52:12:52:21 | operator++ | (int) | | zError | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | +| stl.h:52:12:52:21 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | ASN1_STRING_type_new | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | ASN1_tag2bit | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | ASN1_tag2str | 0 | @@ -6024,22 +8311,60 @@ signatureMatches | stl.h:54:12:54:21 | operator-- | (int) | | X509_TRUST_get0 | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __btowc | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __current_locale_name | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __fdopendir | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __get_errlist | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __get_errname | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __math_invalid_i | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __math_invalidf_i | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __p_class | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __p_rcode | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __p_type | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __pkey_get | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __sigdescr_np | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | __strerrordesc_np | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | _tolower | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | _toupper | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | btowc | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | c_tolower | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | c_toupper | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | curlx_sitouz | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | evp_pkey_type2name | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | inet6_option_space | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isalnum | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isalpha | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isblank | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | iscntrl | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isdigit | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isgraph | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | islower | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isprint | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | ispunct | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isspace | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isupper | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | isxdigit | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | ossl_tolower | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | ossl_toupper | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | sigabbrev_np | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | sqlite3_compileoption_get | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | sqlite3_errstr | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | strerrorname_np | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | support_report_failure | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | svcudp_create | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | tls13_alert_code | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | toascii | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | tolower | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | toupper | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | | uabs | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | uv__accept | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | uv_err_name | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | uv_get_osfhandle | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | uv_strerror | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | uv_translate_sys_error | 0 | | stl.h:54:12:54:21 | operator-- | (int) | | zError | 0 | +| stl.h:54:12:54:21 | operator-- | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | ASN1_STRING_type_new | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | ASN1_tag2bit | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | ASN1_tag2str | 0 | @@ -6058,22 +8383,60 @@ signatureMatches | stl.h:59:12:59:20 | operator+ | (int) | | X509_TRUST_get0 | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __btowc | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __current_locale_name | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __fdopendir | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __get_errlist | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __get_errname | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __math_invalid_i | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __math_invalidf_i | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __p_class | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __p_rcode | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __p_type | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __pkey_get | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __sigdescr_np | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | __strerrordesc_np | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | _tolower | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | _toupper | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | btowc | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | c_tolower | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | c_toupper | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | curlx_sitouz | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | evp_pkey_type2name | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | inet6_option_space | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isalnum | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isalpha | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isblank | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | iscntrl | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isdigit | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isgraph | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | islower | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isprint | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | ispunct | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isspace | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isupper | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | isxdigit | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | ossl_tolower | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | ossl_toupper | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | sigabbrev_np | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | sqlite3_compileoption_get | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | sqlite3_errstr | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | strerrorname_np | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | support_report_failure | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | svcudp_create | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | tls13_alert_code | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | toascii | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | tolower | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | toupper | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | | uabs | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | uv__accept | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | uv_err_name | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | uv_get_osfhandle | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | uv_strerror | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | uv_translate_sys_error | 0 | | stl.h:59:12:59:20 | operator+ | (int) | | zError | 0 | +| stl.h:59:12:59:20 | operator+ | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:60:12:60:20 | operator- | (int) | | ASN1_STRING_type_new | 0 | | stl.h:60:12:60:20 | operator- | (int) | | ASN1_tag2bit | 0 | | stl.h:60:12:60:20 | operator- | (int) | | ASN1_tag2str | 0 | @@ -6092,22 +8455,60 @@ signatureMatches | stl.h:60:12:60:20 | operator- | (int) | | X509_TRUST_get0 | 0 | | stl.h:60:12:60:20 | operator- | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:60:12:60:20 | operator- | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __btowc | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __current_locale_name | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __fdopendir | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __get_errlist | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __get_errname | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __math_invalid_i | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __math_invalidf_i | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __p_class | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __p_rcode | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __p_type | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __pkey_get | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __sigdescr_np | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | __strerrordesc_np | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | _tolower | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | _toupper | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | btowc | 0 | | stl.h:60:12:60:20 | operator- | (int) | | c_tolower | 0 | | stl.h:60:12:60:20 | operator- | (int) | | c_toupper | 0 | | stl.h:60:12:60:20 | operator- | (int) | | curlx_sitouz | 0 | | stl.h:60:12:60:20 | operator- | (int) | | evp_pkey_type2name | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | inet6_option_space | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isalnum | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isalpha | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isblank | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | iscntrl | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isdigit | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isgraph | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | islower | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isprint | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | ispunct | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isspace | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isupper | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | isxdigit | 0 | | stl.h:60:12:60:20 | operator- | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:60:12:60:20 | operator- | (int) | | ossl_tolower | 0 | | stl.h:60:12:60:20 | operator- | (int) | | ossl_toupper | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | sigabbrev_np | 0 | | stl.h:60:12:60:20 | operator- | (int) | | sqlite3_compileoption_get | 0 | | stl.h:60:12:60:20 | operator- | (int) | | sqlite3_errstr | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | strerrorname_np | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | support_report_failure | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | svcudp_create | 0 | | stl.h:60:12:60:20 | operator- | (int) | | tls13_alert_code | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | toascii | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | tolower | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | toupper | 0 | +| stl.h:60:12:60:20 | operator- | (int) | | uabs | 0 | | stl.h:60:12:60:20 | operator- | (int) | | uv__accept | 0 | | stl.h:60:12:60:20 | operator- | (int) | | uv_err_name | 0 | | stl.h:60:12:60:20 | operator- | (int) | | uv_get_osfhandle | 0 | | stl.h:60:12:60:20 | operator- | (int) | | uv_strerror | 0 | | stl.h:60:12:60:20 | operator- | (int) | | uv_translate_sys_error | 0 | | stl.h:60:12:60:20 | operator- | (int) | | zError | 0 | +| stl.h:60:12:60:20 | operator- | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ASN1_STRING_type_new | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ASN1_STRING_type_new | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ASN1_tag2bit | 0 | @@ -6144,6 +8545,38 @@ signatureMatches | stl.h:61:13:61:22 | operator+= | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | X509_VERIFY_PARAM_get0 | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __btowc | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __btowc | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __current_locale_name | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __current_locale_name | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __fdopendir | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __fdopendir | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __get_errlist | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __get_errlist | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __get_errname | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __get_errname | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __math_invalid_i | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __math_invalid_i | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __math_invalidf_i | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __math_invalidf_i | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __p_class | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __p_class | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __p_rcode | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __p_rcode | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __p_type | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __p_type | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __pkey_get | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __pkey_get | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __sigdescr_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __sigdescr_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __strerrordesc_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | __strerrordesc_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | _tolower | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | _tolower | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | _toupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | _toupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | btowc | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | btowc | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | c_tolower | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | c_tolower | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | c_toupper | 0 | @@ -6152,18 +8585,60 @@ signatureMatches | stl.h:61:13:61:22 | operator+= | (int) | | curlx_sitouz | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | evp_pkey_type2name | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | evp_pkey_type2name | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | inet6_option_space | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | inet6_option_space | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isalnum | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isalnum | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isalpha | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isalpha | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isblank | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isblank | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | iscntrl | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | iscntrl | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isdigit | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isdigit | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isgraph | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isgraph | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | islower | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | islower | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isprint | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isprint | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | ispunct | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | ispunct | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isspace | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isspace | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isxdigit | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | isxdigit | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ossl_tolower | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ossl_tolower | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ossl_toupper | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | ossl_toupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | sigabbrev_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | sigabbrev_np | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | sqlite3_compileoption_get | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | sqlite3_compileoption_get | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | sqlite3_errstr | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | sqlite3_errstr | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | strerrorname_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | strerrorname_np | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | support_report_failure | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | support_report_failure | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | svcudp_create | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | svcudp_create | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | tls13_alert_code | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | tls13_alert_code | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | toascii | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | toascii | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | tolower | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | tolower | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | toupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | toupper | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | uabs | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | | uabs | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | uv__accept | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | uv__accept | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | uv_err_name | 0 | @@ -6176,6 +8651,8 @@ signatureMatches | stl.h:61:13:61:22 | operator+= | (int) | | uv_translate_sys_error | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | zError | 0 | | stl.h:61:13:61:22 | operator+= | (int) | | zError | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | __pthread_cleanup_class | __setdoit | 0 | +| stl.h:61:13:61:22 | operator+= | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | ASN1_STRING_type_new | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | ASN1_tag2bit | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | ASN1_tag2str | 0 | @@ -6194,22 +8671,60 @@ signatureMatches | stl.h:62:13:62:22 | operator-= | (int) | | X509_TRUST_get0 | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __btowc | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __current_locale_name | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __fdopendir | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __get_errlist | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __get_errname | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __math_invalid_i | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __math_invalidf_i | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __p_class | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __p_rcode | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __p_type | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __pkey_get | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __sigdescr_np | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | __strerrordesc_np | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | _tolower | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | _toupper | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | btowc | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | c_tolower | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | c_toupper | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | curlx_sitouz | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | evp_pkey_type2name | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | inet6_option_space | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isalnum | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isalpha | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isblank | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | iscntrl | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isdigit | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isgraph | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | islower | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isprint | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | ispunct | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isspace | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isupper | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | isxdigit | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | ossl_tolower | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | ossl_toupper | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | sigabbrev_np | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | sqlite3_compileoption_get | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | sqlite3_errstr | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | strerrorname_np | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | support_report_failure | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | svcudp_create | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | tls13_alert_code | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | toascii | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | tolower | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | toupper | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | | uabs | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | uv__accept | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | uv_err_name | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | uv_get_osfhandle | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | uv_strerror | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | uv_translate_sys_error | 0 | | stl.h:62:13:62:22 | operator-= | (int) | | zError | 0 | +| stl.h:62:13:62:22 | operator-= | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | ASN1_STRING_type_new | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | ASN1_tag2bit | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | ASN1_tag2str | 0 | @@ -6228,22 +8743,60 @@ signatureMatches | stl.h:64:18:64:27 | operator[] | (int) | | X509_TRUST_get0 | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __btowc | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __current_locale_name | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __fdopendir | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __get_errlist | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __get_errname | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __math_invalid_i | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __math_invalidf_i | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __p_class | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __p_rcode | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __p_type | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __pkey_get | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __sigdescr_np | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | __strerrordesc_np | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | _tolower | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | _toupper | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | btowc | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | c_tolower | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | c_toupper | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | curlx_sitouz | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | evp_pkey_type2name | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | inet6_option_space | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isalnum | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isalpha | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isblank | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | iscntrl | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isdigit | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isgraph | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | islower | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isprint | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | ispunct | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isspace | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isupper | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | isxdigit | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | ossl_tolower | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | ossl_toupper | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | sigabbrev_np | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | sqlite3_compileoption_get | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | sqlite3_errstr | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | strerrorname_np | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | support_report_failure | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | svcudp_create | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | tls13_alert_code | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | toascii | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | tolower | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | toupper | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | | uabs | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | uv__accept | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | uv_err_name | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | uv_get_osfhandle | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | uv_strerror | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | uv_translate_sys_error | 0 | | stl.h:64:18:64:27 | operator[] | (int) | | zError | 0 | +| stl.h:64:18:64:27 | operator[] | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ASN1_STRING_type_new | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ASN1_tag2bit | 0 | @@ -6280,6 +8833,38 @@ signatureMatches | stl.h:91:24:91:33 | operator++ | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __btowc | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __btowc | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __current_locale_name | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __fdopendir | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __get_errlist | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __get_errname | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __get_errname | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __math_invalid_i | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __math_invalidf_i | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __p_class | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __p_class | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __p_rcode | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __p_type | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __p_type | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __pkey_get | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __sigdescr_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | __strerrordesc_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | _tolower | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | _tolower | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | _toupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | _toupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | btowc | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | btowc | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | c_tolower | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | c_tolower | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | c_toupper | 0 | @@ -6288,18 +8873,60 @@ signatureMatches | stl.h:91:24:91:33 | operator++ | (int) | | curlx_sitouz | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | evp_pkey_type2name | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | evp_pkey_type2name | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | inet6_option_space | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isalnum | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isalnum | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isalpha | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isalpha | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isblank | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isblank | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | iscntrl | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | iscntrl | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isdigit | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isdigit | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isgraph | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isgraph | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | islower | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | islower | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isprint | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isprint | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | ispunct | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | ispunct | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isspace | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isspace | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isxdigit | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | isxdigit | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ossl_tolower | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ossl_tolower | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ossl_toupper | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | ossl_toupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | sigabbrev_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | sigabbrev_np | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | sqlite3_compileoption_get | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | sqlite3_errstr | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | sqlite3_errstr | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | strerrorname_np | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | support_report_failure | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | svcudp_create | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | svcudp_create | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | tls13_alert_code | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | tls13_alert_code | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | toascii | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | toascii | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | tolower | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | tolower | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | toupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | toupper | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | uabs | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | | uabs | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | uv__accept | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | uv__accept | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | uv_err_name | 0 | @@ -6312,6 +8939,8 @@ signatureMatches | stl.h:91:24:91:33 | operator++ | (int) | | uv_translate_sys_error | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | zError | 0 | | stl.h:91:24:91:33 | operator++ | (int) | | zError | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | +| stl.h:91:24:91:33 | operator++ | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:182:17:182:22 | assign | (InputIt,InputIt) | deque | assign | 0 | | stl.h:182:17:182:22 | assign | (InputIt,InputIt) | deque | assign | 1 | | stl.h:182:17:182:22 | assign | (InputIt,InputIt) | forward_list | assign | 0 | @@ -6368,6 +8997,8 @@ signatureMatches | stl.h:218:33:218:35 | get | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | stl.h:218:33:218:35 | get | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | | stl.h:218:33:218:35 | get | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | +| stl.h:218:33:218:35 | get | (hash_table *,unsigned long) | | init_hash | 1 | +| stl.h:218:33:218:35 | get | (u_long,unsigned long) | | __p_option | 1 | | stl.h:220:33:220:36 | read | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | stl.h:220:33:220:36 | read | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | stl.h:220:33:220:36 | read | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -6396,6 +9027,8 @@ signatureMatches | stl.h:220:33:220:36 | read | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | stl.h:220:33:220:36 | read | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | | stl.h:220:33:220:36 | read | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | +| stl.h:220:33:220:36 | read | (hash_table *,unsigned long) | | init_hash | 1 | +| stl.h:220:33:220:36 | read | (u_long,unsigned long) | | __p_option | 1 | | stl.h:221:14:221:21 | readsome | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | stl.h:221:14:221:21 | readsome | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | stl.h:221:14:221:21 | readsome | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -6424,6 +9057,8 @@ signatureMatches | stl.h:221:14:221:21 | readsome | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | stl.h:221:14:221:21 | readsome | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | | stl.h:221:14:221:21 | readsome | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | +| stl.h:221:14:221:21 | readsome | (hash_table *,unsigned long) | | init_hash | 1 | +| stl.h:221:14:221:21 | readsome | (u_long,unsigned long) | | __p_option | 1 | | stl.h:225:32:225:38 | getline | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | stl.h:225:32:225:38 | getline | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | stl.h:225:32:225:38 | getline | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -6452,6 +9087,8 @@ signatureMatches | stl.h:225:32:225:38 | getline | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | stl.h:225:32:225:38 | getline | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | | stl.h:225:32:225:38 | getline | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | +| stl.h:225:32:225:38 | getline | (hash_table *,unsigned long) | | init_hash | 1 | +| stl.h:225:32:225:38 | getline | (u_long,unsigned long) | | __p_option | 1 | | stl.h:232:84:232:90 | getline | (const_iterator,InputIt,InputIt) | deque | insert | 2 | | stl.h:232:84:232:90 | getline | (const_iterator,InputIt,InputIt) | forward_list | insert_after | 2 | | stl.h:232:84:232:90 | getline | (const_iterator,InputIt,InputIt) | list | insert | 2 | @@ -6474,22 +9111,60 @@ signatureMatches | stl.h:240:33:240:42 | operator<< | (int) | | X509_TRUST_get0 | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | X509_TRUST_get_by_id | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __btowc | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __current_locale_name | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __fdopendir | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __get_errlist | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __get_errname | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __math_invalid_i | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __math_invalidf_i | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __p_class | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __p_rcode | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __p_type | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __pkey_get | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __sigdescr_np | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | __strerrordesc_np | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | _tolower | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | _toupper | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | btowc | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | c_tolower | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | c_toupper | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | curlx_sitouz | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | evp_pkey_type2name | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | inet6_option_space | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isalnum | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isalpha | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isblank | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | iscntrl | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isdigit | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isgraph | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | islower | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isprint | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | ispunct | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isspace | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isupper | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | isxdigit | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | ossl_cmp_bodytype_to_string | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | ossl_tolower | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | ossl_toupper | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | sigabbrev_np | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | sqlite3_compileoption_get | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | sqlite3_errstr | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | strerrorname_np | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | support_report_failure | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | svcudp_create | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | tls13_alert_code | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | toascii | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | tolower | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | toupper | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | | uabs | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | uv__accept | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | uv_err_name | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | uv_get_osfhandle | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | uv_strerror | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | uv_translate_sys_error | 0 | | stl.h:240:33:240:42 | operator<< | (int) | | zError | 0 | +| stl.h:240:33:240:42 | operator<< | (int) | __pthread_cleanup_class | __setdoit | 0 | | stl.h:243:33:243:37 | write | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | stl.h:243:33:243:37 | write | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | stl.h:243:33:243:37 | write | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -6518,6 +9193,8 @@ signatureMatches | stl.h:243:33:243:37 | write | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | stl.h:243:33:243:37 | write | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | | stl.h:243:33:243:37 | write | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | +| stl.h:243:33:243:37 | write | (hash_table *,unsigned long) | | init_hash | 1 | +| stl.h:243:33:243:37 | write | (u_long,unsigned long) | | __p_option | 1 | | stl.h:294:12:294:17 | vector | (const deque &,const Allocator &) | deque | deque | 1 | | stl.h:294:12:294:17 | vector | (const deque &,const Allocator &) | deque | deque | 1 | | stl.h:294:12:294:17 | vector | (const deque &,const Allocator &) | deque | deque | 1 | @@ -6640,12 +9317,30 @@ signatureMatches | stl.h:315:13:315:22 | operator[] | (unsigned int) | | Jim_IntHashFunction | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | Jim_IntHashFunction | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | Jim_IntHashFunction | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __sleep | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __sleep | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __sleep | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __sleep | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __sleep | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __sleep | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | curlx_uitous | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | curlx_uitous | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | curlx_uitous | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | curlx_uitous | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | curlx_uitous | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | curlx_uitous | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | la_version | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | la_version | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | la_version | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | la_version | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | la_version | 0 | +| stl.h:315:13:315:22 | operator[] | (unsigned int) | | la_version | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | ssl3_get_cipher | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | ssl3_get_cipher | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | ssl3_get_cipher | 0 | @@ -6653,7 +9348,10 @@ signatureMatches | stl.h:315:13:315:22 | operator[] | (unsigned int) | | ssl3_get_cipher | 0 | | stl.h:315:13:315:22 | operator[] | (unsigned int) | | ssl3_get_cipher | 0 | | stl.h:318:13:318:14 | at | (unsigned int) | | Jim_IntHashFunction | 0 | +| stl.h:318:13:318:14 | at | (unsigned int) | | __sleep | 0 | +| stl.h:318:13:318:14 | at | (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | | stl.h:318:13:318:14 | at | (unsigned int) | | curlx_uitous | 0 | +| stl.h:318:13:318:14 | at | (unsigned int) | | la_version | 0 | | stl.h:318:13:318:14 | at | (unsigned int) | | ssl3_get_cipher | 0 | | stl.h:331:12:331:17 | insert | (const_iterator,T &&) | deque | insert | 0 | | stl.h:331:12:331:17 | insert | (const_iterator,T &&) | deque | insert | 1 | @@ -6773,6 +9471,7 @@ signatureMatches | stl.h:611:33:611:45 | unordered_set | (BIO *,X509_CRL *,unsigned long) | | X509_CRL_print_ex | 2 | | stl.h:611:33:611:45 | unordered_set | (BIO *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex | 2 | | stl.h:611:33:611:45 | unordered_set | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| stl.h:611:33:611:45 | unordered_set | (const char *,const char *,unsigned long) | | __ngettext | 2 | | stl.h:611:33:611:45 | unordered_set | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | stl.h:623:36:623:47 | emplace_hint | (format_string,Args &&) | | format | 1 | | stl.h:623:36:623:47 | emplace_hint | (format_string,Args &&) | | format | 1 | @@ -6810,16 +9509,36 @@ signatureMatches | string.cpp:17:6:17:9 | sink | (const char *) | | UI_create_method | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | X509V3_parse_list | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | X509_LOOKUP_meth_new | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __basename | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __gconv_find_shlib | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __gettext | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __hash_string | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __nss_action_parse | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __strdup | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __textdomain | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __tzset_parse_tz | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | __tzstring | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | a2i_IPADDRESS | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | a2i_IPADDRESS_NC | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | a64l | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | charmap_opendir | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | ether_aton | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | getdate | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | inetstr2int | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | last_component | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | opt_path_end | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | opt_progname | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | ossl_lh_strcasehash | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | repertoire_read | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | res_gethostbyname | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | sgetsgent | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | sgetspent | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | strhash | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | uc_script_byname | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | uv__strdup | 0 | | string.cpp:17:6:17:9 | sink | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| string.cpp:17:6:17:9 | sink | (const char *) | | xstrdup | 0 | | string.cpp:19:6:19:9 | sink | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | | string.cpp:19:6:19:9 | sink | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string | 1 | | string.cpp:19:6:19:9 | sink | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string_X509 | 1 | @@ -6850,6 +9569,7 @@ signatureMatches | string.cpp:19:6:19:9 | sink | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | string.cpp:19:6:19:9 | sink | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | string.cpp:19:6:19:9 | sink | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| string.cpp:19:6:19:9 | sink | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | string.cpp:19:6:19:9 | sink | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | string.cpp:19:6:19:9 | sink | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | string.cpp:19:6:19:9 | sink | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -6906,7 +9626,12 @@ signatureMatches | string.cpp:19:6:19:9 | sink | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | string.cpp:19:6:19:9 | sink | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | string.cpp:19:6:19:9 | sink | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| string.cpp:19:6:19:9 | sink | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| string.cpp:19:6:19:9 | sink | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| string.cpp:19:6:19:9 | sink | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | string.cpp:19:6:19:9 | sink | (char **,const char *) | | Curl_setstropt | 1 | +| string.cpp:19:6:19:9 | sink | (char **,const char *) | | __strsep | 1 | +| string.cpp:19:6:19:9 | sink | (char *,const char *) | | xstrdup | 1 | | string.cpp:19:6:19:9 | sink | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | string.cpp:19:6:19:9 | sink | (const char **,const char *) | | uv__utf8_decode1 | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | Configcmp | 0 | @@ -6917,14 +9642,52 @@ signatureMatches | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | DES_crypt | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | OPENSSL_strcasecmp | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __bind_textdomain_codeset | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __bindtextdomain | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __bindtextdomain | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __dgettext | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __dgettext | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __gconv_compare_alias | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __gconv_compare_alias | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strcasestr | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strcasestr | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strcspn_generic | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strcspn_generic | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strcspn_sse42 | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strcspn_sse42 | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strpbrk_generic | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strpbrk_generic | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strpbrk_sse42 | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strspn_generic | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strspn_generic | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strspn_sse42 | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strspn_sse42 | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strstr_generic | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strstr_generic | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strverscmp | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | __strverscmp | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | _dl_cache_libcmp | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | advance | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | advance | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | c_strcasecmp | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | c_strcasecmp | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | charmap_aliases | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | charmap_aliases | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | charmap_open | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | charmap_open | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | chroot_canon | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | chroot_canon | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | get_passwd | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | get_passwd | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | gzopen | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | gzopen | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | gzopen64 | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | gzopen64 | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | iconv_open | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | iconv_open | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | openssl_fopen | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | openssl_fopen | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | ossl_pem_check_suffix | 0 | @@ -6935,6 +9698,14 @@ signatureMatches | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | sqlite3_strglob | 1 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | sqlite3_stricmp | 0 | | string.cpp:19:6:19:9 | sink | (const char *,const char *) | | sqlite3_stricmp | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | step | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | step | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | tempnam | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | tempnam | 1 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | xfopen | 0 | +| string.cpp:19:6:19:9 | sink | (const char *,const char *) | | xfopen | 1 | +| string.cpp:19:6:19:9 | sink | (const mntent *,const char *) | | __hasmntopt | 1 | +| string.cpp:19:6:19:9 | sink | (const nis_error,const char *) | | nis_sperror | 1 | | string.cpp:19:6:19:9 | sink | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | string.cpp:19:6:19:9 | sink | (curl_off_t *,const char *) | | str2offset | 1 | | string.cpp:19:6:19:9 | sink | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -6944,16 +9715,22 @@ signatureMatches | string.cpp:19:6:19:9 | sink | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | string.cpp:19:6:19:9 | sink | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | string.cpp:19:6:19:9 | sink | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| string.cpp:19:6:19:9 | sink | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | string.cpp:19:6:19:9 | sink | (gzFile,const char *) | | gzputs | 1 | | string.cpp:19:6:19:9 | sink | (int,const char *) | | BIO_meth_new | 1 | +| string.cpp:19:6:19:9 | sink | (int,const char *) | | _IO_new_fdopen | 1 | | string.cpp:19:6:19:9 | sink | (int,const char *) | | gzdopen | 1 | +| string.cpp:19:6:19:9 | sink | (int,const char *) | | setlocale | 1 | +| string.cpp:19:6:19:9 | sink | (int,const char *) | | xsetlocale | 1 | | string.cpp:19:6:19:9 | sink | (lemon *,const char *) | | file_makename | 1 | | string.cpp:19:6:19:9 | sink | (long *,const char *) | | secs2ms | 1 | | string.cpp:19:6:19:9 | sink | (long *,const char *) | | str2num | 1 | | string.cpp:19:6:19:9 | sink | (long *,const char *) | | str2unum | 1 | +| string.cpp:19:6:19:9 | sink | (nss_module *,const char *) | | __nss_module_get_function | 1 | | string.cpp:19:6:19:9 | sink | (size_t *,const char *) | | next_protos_parse | 1 | | string.cpp:19:6:19:9 | sink | (slist_wc **,const char *) | | easysrc_add | 1 | | string.cpp:19:6:19:9 | sink | (slist_wc *,const char *) | | slist_wc_append | 1 | +| string.cpp:19:6:19:9 | sink | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | string.cpp:19:6:19:9 | sink | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | string.cpp:19:6:19:9 | sink | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | string.cpp:19:6:19:9 | sink | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -6961,6 +9738,7 @@ signatureMatches | string.cpp:19:6:19:9 | sink | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | string.cpp:19:6:19:9 | sink | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | string.cpp:19:6:19:9 | sink | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| string.cpp:19:6:19:9 | sink | (stringtable *,const char *) | | stringtable_add | 1 | | string.cpp:19:6:19:9 | sink | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | string.cpp:19:6:19:9 | sink | (unsigned long *,const char *) | | set_cert_ex | 1 | | string.cpp:19:6:19:9 | sink | (unsigned long *,const char *) | | set_name_ex | 1 | @@ -6989,22 +9767,60 @@ signatureMatches | stringstream.cpp:13:6:13:9 | sink | (int) | | X509_TRUST_get0 | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | X509_TRUST_get_by_id | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __btowc | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __current_locale_name | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __fdopendir | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __get_errlist | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __get_errname | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __math_invalid_i | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __math_invalidf_i | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __p_class | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __p_rcode | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __p_type | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __pkey_get | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __sigdescr_np | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | __strerrordesc_np | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | _tolower | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | _toupper | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | btowc | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | c_tolower | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | c_toupper | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | curlx_sitouz | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | evp_pkey_type2name | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | inet6_option_space | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isalnum | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isalpha | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isblank | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | iscntrl | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isdigit | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isgraph | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | islower | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isprint | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | ispunct | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isspace | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isupper | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | isxdigit | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | ossl_cmp_bodytype_to_string | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | ossl_tolower | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | ossl_toupper | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | sigabbrev_np | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | sqlite3_compileoption_get | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | sqlite3_errstr | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | strerrorname_np | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | support_report_failure | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | svcudp_create | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | tls13_alert_code | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | toascii | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | tolower | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | toupper | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | | uabs | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | uv__accept | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | uv_err_name | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | uv_get_osfhandle | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | uv_strerror | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | uv_translate_sys_error | 0 | | stringstream.cpp:13:6:13:9 | sink | (int) | | zError | 0 | +| stringstream.cpp:13:6:13:9 | sink | (int) | __pthread_cleanup_class | __setdoit | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ASN1_STRING_type_new | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ASN1_tag2bit | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ASN1_tag2str | 0 | @@ -7023,22 +9839,60 @@ signatureMatches | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | X509_TRUST_get0 | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | X509_TRUST_get_by_id | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __btowc | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __current_locale_name | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __fdopendir | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __get_errlist | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __get_errname | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __math_invalid_i | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __math_invalidf_i | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __p_class | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __p_rcode | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __p_type | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __pkey_get | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __sigdescr_np | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | __strerrordesc_np | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | _tolower | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | _toupper | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | btowc | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | c_tolower | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | c_toupper | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | curlx_sitouz | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | evp_pkey_type2name | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | inet6_option_space | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isalnum | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isalpha | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isblank | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | iscntrl | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isdigit | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isgraph | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | islower | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isprint | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ispunct | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isspace | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isupper | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | isxdigit | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ossl_cmp_bodytype_to_string | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ossl_tolower | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | ossl_toupper | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | sigabbrev_np | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | sqlite3_compileoption_get | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | sqlite3_errstr | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | strerrorname_np | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | support_report_failure | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | svcudp_create | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | tls13_alert_code | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | toascii | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | tolower | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | toupper | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | uabs | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | uv__accept | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | uv_err_name | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | uv_get_osfhandle | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | uv_strerror | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | uv_translate_sys_error | 0 | | stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | | zError | 0 | +| stringstream.cpp:26:6:26:29 | test_stringstream_string | (int) | __pthread_cleanup_class | __setdoit | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ASN1_STRING_type_new | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ASN1_tag2bit | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ASN1_tag2str | 0 | @@ -7057,22 +9911,60 @@ signatureMatches | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | X509_TRUST_get0 | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | X509_TRUST_get_by_id | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __btowc | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __current_locale_name | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __fdopendir | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __get_errlist | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __get_errname | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __math_invalid_i | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __math_invalidf_i | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __p_class | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __p_rcode | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __p_type | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __pkey_get | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __sigdescr_np | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | __strerrordesc_np | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | _tolower | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | _toupper | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | btowc | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | c_tolower | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | c_toupper | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | curlx_sitouz | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | evp_pkey_type2name | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | inet6_option_space | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isalnum | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isalpha | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isblank | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | iscntrl | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isdigit | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isgraph | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | islower | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isprint | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ispunct | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isspace | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isupper | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | isxdigit | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ossl_cmp_bodytype_to_string | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ossl_tolower | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | ossl_toupper | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | sigabbrev_np | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | sqlite3_compileoption_get | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | sqlite3_errstr | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | strerrorname_np | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | support_report_failure | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | svcudp_create | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | tls13_alert_code | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | toascii | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | tolower | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | toupper | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | uabs | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | uv__accept | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | uv_err_name | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | uv_get_osfhandle | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | uv_strerror | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | uv_translate_sys_error | 0 | | stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | | zError | 0 | +| stringstream.cpp:70:6:70:26 | test_stringstream_int | (int) | __pthread_cleanup_class | __setdoit | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ASN1_STRING_type_new | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ASN1_tag2bit | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ASN1_tag2str | 0 | @@ -7091,22 +9983,60 @@ signatureMatches | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | X509_TRUST_get0 | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | X509_TRUST_get_by_id | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __btowc | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __current_locale_name | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __fdopendir | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __get_errlist | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __get_errname | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __math_invalid_i | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __math_invalidf_i | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __p_class | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __p_rcode | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __p_type | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __pkey_get | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __sigdescr_np | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | __strerrordesc_np | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | _tolower | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | _toupper | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | btowc | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | c_tolower | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | c_toupper | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | curlx_sitouz | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | evp_pkey_type2name | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | inet6_option_space | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isalnum | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isalpha | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isblank | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | iscntrl | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isdigit | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isgraph | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | islower | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isprint | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ispunct | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isspace | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isupper | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | isxdigit | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ossl_cmp_bodytype_to_string | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ossl_tolower | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | ossl_toupper | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | sigabbrev_np | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | sqlite3_compileoption_get | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | sqlite3_errstr | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | strerrorname_np | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | support_report_failure | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | svcudp_create | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | tls13_alert_code | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | toascii | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | tolower | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | toupper | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | uabs | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | uv__accept | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | uv_err_name | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | uv_get_osfhandle | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | uv_strerror | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | uv_translate_sys_error | 0 | | structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | | zError | 0 | +| structlikeclass.cpp:8:2:8:16 | StructLikeClass | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:4:6:4:21 | arithAssignments | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -7170,6 +10100,19 @@ signatureMatches | taint.cpp:4:6:4:21 | arithAssignments | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (FTS *,int) | | fts_children | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -7297,7 +10240,15 @@ signatureMatches | taint.cpp:4:6:4:21 | arithAssignments | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (char **,int) | | addrsort | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (char,int) | CStringT | CStringT | 1 | @@ -7362,25 +10313,44 @@ signatureMatches | taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | ftok | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (double,int) | | __ldexp | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (double,int) | | __scalbn | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (double[],int) | | getloadavg | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (float,int) | | __ldexpf | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (float,int) | | __scalbnf | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (gzFile,int) | | gzflush | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (gzFile,int) | | gzputc | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | BN_security_bits | 0 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | BN_security_bits | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | EVP_MD_meth_new | 0 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | EVP_PKEY_meth_new | 0 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | __isctype | 0 | +| taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | __isctype | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | acttab_alloc | 0 | | taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | acttab_alloc | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | div | 0 | +| taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | div | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | inet6_rth_space | 0 | +| taint.cpp:4:6:4:21 | arithAssignments | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (long double,int) | | __ldexpl | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -7388,8 +10358,21 @@ signatureMatches | taint.cpp:4:6:4:21 | arithAssignments | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (rule *,int) | | Configlist_add | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -7417,6 +10400,8 @@ signatureMatches | taint.cpp:4:6:4:21 | arithAssignments | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -7425,6 +10410,7 @@ signatureMatches | taint.cpp:4:6:4:21 | arithAssignments | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:4:6:4:21 | arithAssignments | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:4:6:4:21 | arithAssignments | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:22:5:22:13 | increment | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | ASN1_tag2bit | 0 | @@ -7444,22 +10430,60 @@ signatureMatches | taint.cpp:22:5:22:13 | increment | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __btowc | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __current_locale_name | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __fdopendir | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __get_errlist | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __get_errname | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __math_invalid_i | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __math_invalidf_i | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __p_class | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __p_rcode | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __p_type | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __pkey_get | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __sigdescr_np | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | __strerrordesc_np | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | _tolower | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | _toupper | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | btowc | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | c_tolower | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | c_toupper | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | curlx_sitouz | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | inet6_option_space | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isalnum | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isalpha | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isblank | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | iscntrl | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isdigit | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isgraph | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | islower | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isprint | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | ispunct | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isspace | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isupper | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | isxdigit | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | ossl_tolower | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | ossl_toupper | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | sigabbrev_np | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | sqlite3_errstr | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | strerrorname_np | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | support_report_failure | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | svcudp_create | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | tls13_alert_code | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | toascii | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | tolower | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | toupper | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | | uabs | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | uv__accept | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | uv_err_name | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | uv_get_osfhandle | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | uv_strerror | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | uv_translate_sys_error | 0 | | taint.cpp:22:5:22:13 | increment | (int) | | zError | 0 | +| taint.cpp:22:5:22:13 | increment | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | ASN1_tag2bit | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | ASN1_tag2str | 0 | @@ -7478,22 +10502,60 @@ signatureMatches | taint.cpp:23:5:23:8 | zero | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __btowc | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __current_locale_name | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __fdopendir | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __get_errlist | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __get_errname | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __math_invalid_i | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __math_invalidf_i | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __p_class | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __p_rcode | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __p_type | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __pkey_get | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __sigdescr_np | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | __strerrordesc_np | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | _tolower | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | _toupper | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | btowc | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | c_tolower | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | c_toupper | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | curlx_sitouz | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | inet6_option_space | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isalnum | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isalpha | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isblank | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | iscntrl | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isdigit | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isgraph | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | islower | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isprint | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | ispunct | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isspace | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isupper | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | isxdigit | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | ossl_tolower | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | ossl_toupper | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | sigabbrev_np | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | sqlite3_errstr | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | strerrorname_np | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | support_report_failure | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | svcudp_create | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | tls13_alert_code | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | toascii | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | tolower | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | toupper | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | | uabs | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | uv__accept | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | uv_err_name | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | uv_get_osfhandle | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | uv_strerror | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | uv_translate_sys_error | 0 | | taint.cpp:23:5:23:8 | zero | (int) | | zError | 0 | +| taint.cpp:23:5:23:8 | zero | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | ASN1_tag2bit | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | ASN1_tag2str | 0 | @@ -7512,22 +10574,60 @@ signatureMatches | taint.cpp:100:6:100:15 | array_test | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __btowc | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __current_locale_name | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __fdopendir | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __get_errlist | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __get_errname | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __math_invalid_i | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __math_invalidf_i | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __p_class | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __p_rcode | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __p_type | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __pkey_get | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __sigdescr_np | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | __strerrordesc_np | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | _tolower | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | _toupper | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | btowc | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | c_tolower | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | c_toupper | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | curlx_sitouz | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | inet6_option_space | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isalnum | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isalpha | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isblank | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | iscntrl | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isdigit | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isgraph | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | islower | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isprint | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | ispunct | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isspace | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isupper | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | isxdigit | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | ossl_tolower | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | ossl_toupper | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | sigabbrev_np | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | sqlite3_errstr | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | strerrorname_np | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | support_report_failure | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | svcudp_create | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | tls13_alert_code | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | toascii | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | tolower | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | toupper | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | | uabs | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | uv__accept | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | uv_err_name | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | uv_get_osfhandle | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | uv_strerror | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | uv_translate_sys_error | 0 | | taint.cpp:100:6:100:15 | array_test | (int) | | zError | 0 | +| taint.cpp:100:6:100:15 | array_test | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:142:5:142:10 | select | (ASN1_BIT_STRING *,int,int) | | ASN1_BIT_STRING_set_bit | 1 | | taint.cpp:142:5:142:10 | select | (ASN1_BIT_STRING *,int,int) | | ASN1_BIT_STRING_set_bit | 2 | | taint.cpp:142:5:142:10 | select | (ASN1_BIT_STRING *,unsigned char *,int) | | ASN1_BIT_STRING_set | 2 | @@ -7579,9 +10679,14 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (EVP_PKEY_CTX *,const void *,int) | | EVP_PKEY_CTX_set1_id | 2 | | taint.cpp:142:5:142:10 | select | (EVP_PKEY_CTX *,int *,int) | | EVP_PKEY_CTX_set0_keygen_info | 2 | | taint.cpp:142:5:142:10 | select | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 2 | +| taint.cpp:142:5:142:10 | select | (FILE *,_IO_marker *,int) | | _IO_seekmark | 2 | +| taint.cpp:142:5:142:10 | select | (FILE *,_IO_marker *,int) | | _IO_seekwmark | 2 | +| taint.cpp:142:5:142:10 | select | (FILE *,__FILE *,int) | | fwide | 2 | | taint.cpp:142:5:142:10 | select | (FILE *,const DSA *,int) | | DSA_print_fp | 2 | | taint.cpp:142:5:142:10 | select | (FILE *,const RSA *,int) | | RSA_print_fp | 2 | +| taint.cpp:142:5:142:10 | select | (FILE *,off64_t,int) | | _IO_cookie_seek | 2 | | taint.cpp:142:5:142:10 | select | (FILE *,rule *,int) | | RulePrint | 2 | +| taint.cpp:142:5:142:10 | select | (FTS *,FTSENT *,int) | | fts_set | 2 | | taint.cpp:142:5:142:10 | select | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetCommand | 2 | | taint.cpp:142:5:142:10 | select | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetGlobalVariable | 2 | | taint.cpp:142:5:142:10 | select | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetVariable | 2 | @@ -7684,9 +10789,13 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (X509_STORE_CTX *,X509 *,int) | | ossl_x509_check_cert_time | 2 | | taint.cpp:142:5:142:10 | select | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyChars | 2 | | taint.cpp:142:5:142:10 | select | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 2 | +| taint.cpp:142:5:142:10 | select | (_Float128,_Float128,int) | | __kernel_sinf128 | 2 | +| taint.cpp:142:5:142:10 | select | (_Float128,_Float128,int) | | __kernel_tanf128 | 2 | +| taint.cpp:142:5:142:10 | select | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 2 | | taint.cpp:142:5:142:10 | select | (action *,FILE *,int) | | PrintAction | 2 | | taint.cpp:142:5:142:10 | select | (acttab *,int,int) | | acttab_action | 1 | | taint.cpp:142:5:142:10 | select | (acttab *,int,int) | | acttab_action | 2 | +| taint.cpp:142:5:142:10 | select | (char *,size_t,int) | | __argz_stringify | 2 | | taint.cpp:142:5:142:10 | select | (const ASN1_VALUE *,const ASN1_TEMPLATE *,int) | | ossl_asn1_do_adb | 2 | | taint.cpp:142:5:142:10 | select | (const BIGNUM *,int[],int) | | BN_GF2m_poly2arr | 2 | | taint.cpp:142:5:142:10 | select | (const BIGNUM *,unsigned char *,int) | | BN_bn2binpad | 2 | @@ -7741,12 +10850,21 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_critical | 1 | | taint.cpp:142:5:142:10 | select | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_critical | 2 | | taint.cpp:142:5:142:10 | select | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,char **,int) | | __strtol | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,char **,int) | | __strtoul | 2 | | taint.cpp:142:5:142:10 | select | (const char *,char **,int) | | idn2_to_ascii_8z | 2 | | taint.cpp:142:5:142:10 | select | (const char *,const OSSL_PARAM *,int) | | print_param_types | 2 | | taint.cpp:142:5:142:10 | select | (const char *,const char *,int) | | CRYPTO_strdup | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,const char *,int) | | __dcgettext | 2 | | taint.cpp:142:5:142:10 | select | (const char *,const char *,int) | | sqlite3_strnicmp | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,int,int) | | __old_strpbrk_c2 | 1 | +| taint.cpp:142:5:142:10 | select | (const char *,int,int) | | __old_strpbrk_c2 | 2 | | taint.cpp:142:5:142:10 | select | (const char *,long *,int) | | Jim_StringToWide | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 2 | | taint.cpp:142:5:142:10 | select | (const char *,sqlite3_filename,int) | | sqlite3_uri_key | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,void *,int) | | support_readdir_check | 2 | +| taint.cpp:142:5:142:10 | select | (const char *,wordexp_t *,int) | | wordexp | 2 | +| taint.cpp:142:5:142:10 | select | (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 2 | | taint.cpp:142:5:142:10 | select | (const stack_st_X509_ATTRIBUTE *,const ASN1_OBJECT *,int) | | X509at_get_attr_by_OBJ | 2 | | taint.cpp:142:5:142:10 | select | (const stack_st_X509_ATTRIBUTE *,int,int) | | X509at_get_attr_by_NID | 1 | | taint.cpp:142:5:142:10 | select | (const stack_st_X509_ATTRIBUTE *,int,int) | | X509at_get_attr_by_NID | 2 | @@ -7759,13 +10877,22 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (const unsigned char **,unsigned int,int) | | ossl_b2i_DSA_after_header | 2 | | taint.cpp:142:5:142:10 | select | (const unsigned char **,unsigned int,int) | | ossl_b2i_RSA_after_header | 2 | | taint.cpp:142:5:142:10 | select | (const void *,const void *,int) | | ossl_is_partially_overlapping | 2 | +| taint.cpp:142:5:142:10 | select | (const void *,socklen_t,int) | | res_gethostbyaddr | 2 | +| taint.cpp:142:5:142:10 | select | (const wchar_t *,wchar_t **,int) | | __wcstol | 2 | +| taint.cpp:142:5:142:10 | select | (const wchar_t *,wchar_t **,int) | | __wcstoul | 2 | | taint.cpp:142:5:142:10 | select | (curl_mimepart *,curl_mime *,int) | | Curl_mime_set_subparts | 2 | | taint.cpp:142:5:142:10 | select | (curl_mimepart *,curl_slist *,int) | | curl_mime_headers | 2 | +| taint.cpp:142:5:142:10 | select | (database_dyn *,size_t,int) | | mempool_alloc | 2 | +| taint.cpp:142:5:142:10 | select | (database_dyn *,time_t,int) | | prune_cache | 2 | +| taint.cpp:142:5:142:10 | select | (double,double,int) | | __kernel_standard | 2 | +| taint.cpp:142:5:142:10 | select | (float,float,int) | | __kernel_standard_f | 2 | +| taint.cpp:142:5:142:10 | select | (gconv_spec *,__gconv_t *,int) | | __gconv_open | 2 | | taint.cpp:142:5:142:10 | select | (gzFile,char *,int) | | gzgets | 2 | | taint.cpp:142:5:142:10 | select | (gzFile,int,int) | | gzsetparams | 1 | | taint.cpp:142:5:142:10 | select | (gzFile,int,int) | | gzsetparams | 2 | | taint.cpp:142:5:142:10 | select | (gzFile,off64_t,int) | | gzseek64 | 2 | | taint.cpp:142:5:142:10 | select | (gzFile,off_t,int) | | gzseek | 2 | +| taint.cpp:142:5:142:10 | select | (int *,short *,int) | | __lll_lock_elision | 2 | | taint.cpp:142:5:142:10 | select | (int,BIO_ADDR *,int) | | BIO_accept_ex | 2 | | taint.cpp:142:5:142:10 | select | (int,int,int) | | ASN1_object_size | 0 | | taint.cpp:142:5:142:10 | select | (int,int,int) | | ASN1_object_size | 1 | @@ -7773,7 +10900,17 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (int,int,int) | | EVP_CIPHER_meth_new | 0 | | taint.cpp:142:5:142:10 | select | (int,int,int) | | EVP_CIPHER_meth_new | 1 | | taint.cpp:142:5:142:10 | select | (int,int,int) | | EVP_CIPHER_meth_new | 2 | +| taint.cpp:142:5:142:10 | select | (long double,long double,int) | | __kernel_sinl | 2 | +| taint.cpp:142:5:142:10 | select | (long double,long double,int) | | __kernel_standard_l | 2 | +| taint.cpp:142:5:142:10 | select | (long double,long double,int) | | __kernel_tanl | 2 | +| taint.cpp:142:5:142:10 | select | (mp_srcptr,int,int) | | __mpn_construct_double | 1 | +| taint.cpp:142:5:142:10 | select | (mp_srcptr,int,int) | | __mpn_construct_double | 2 | +| taint.cpp:142:5:142:10 | select | (mp_srcptr,int,int) | | __mpn_construct_float | 1 | +| taint.cpp:142:5:142:10 | select | (mp_srcptr,int,int) | | __mpn_construct_float | 2 | +| taint.cpp:142:5:142:10 | select | (mp_srcptr,int,int) | | __mpn_construct_float128 | 1 | +| taint.cpp:142:5:142:10 | select | (mp_srcptr,int,int) | | __mpn_construct_float128 | 2 | | taint.cpp:142:5:142:10 | select | (regex_t *,const char *,int) | | jim_regcomp | 2 | +| taint.cpp:142:5:142:10 | select | (requestlist *,requestlist *,int) | | __aio_remove_request | 2 | | taint.cpp:142:5:142:10 | select | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 2 | | taint.cpp:142:5:142:10 | select | (sqlite3 *,int,int) | | sqlite3_limit | 1 | | taint.cpp:142:5:142:10 | select | (sqlite3 *,int,int) | | sqlite3_limit | 2 | @@ -7802,11 +10939,15 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (stack_st_X509_ALGOR *,int,int) | | PKCS7_simple_smimecap | 1 | | taint.cpp:142:5:142:10 | select | (stack_st_X509_ALGOR *,int,int) | | PKCS7_simple_smimecap | 2 | | taint.cpp:142:5:142:10 | select | (stack_st_X509_EXTENSION **,X509_EXTENSION *,int) | | X509v3_add_ext | 2 | +| taint.cpp:142:5:142:10 | select | (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 2 | | taint.cpp:142:5:142:10 | select | (uint8_t[56],const gf,int) | | gf_serialize | 2 | | taint.cpp:142:5:142:10 | select | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 2 | +| taint.cpp:142:5:142:10 | select | (unsigned char *,const char *,int) | | data_string | 2 | | taint.cpp:142:5:142:10 | select | (unsigned char *,const unsigned char *,int) | | EVP_DecodeBlock | 2 | | taint.cpp:142:5:142:10 | select | (unsigned char *,const unsigned char *,int) | | EVP_EncodeBlock | 2 | | taint.cpp:142:5:142:10 | select | (unsigned char *,uint64_t,int) | | ossl_i2c_uint64_int | 2 | +| taint.cpp:142:5:142:10 | select | (unsigned int,const char *,int) | | _IO_adjust_column | 2 | +| taint.cpp:142:5:142:10 | select | (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 2 | | taint.cpp:142:5:142:10 | select | (unsigned int,int,int) | | ossl_blob_length | 1 | | taint.cpp:142:5:142:10 | select | (unsigned int,int,int) | | ossl_blob_length | 2 | | taint.cpp:142:5:142:10 | select | (unsigned long *,const BIGNUM *,int) | | bn_copy_words | 2 | @@ -7819,8 +10960,10 @@ signatureMatches | taint.cpp:142:5:142:10 | select | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start_oneshot | 2 | | taint.cpp:142:5:142:10 | select | (uv_stream_t *,int,int) | | uv__stream_open | 1 | | taint.cpp:142:5:142:10 | select | (uv_stream_t *,int,int) | | uv__stream_open | 2 | +| taint.cpp:142:5:142:10 | select | (void *,cmsghdr **,int) | | inet6_option_init | 2 | | taint.cpp:142:5:142:10 | select | (void *,const char *,int) | | CRYPTO_secure_free | 2 | | taint.cpp:142:5:142:10 | select | (void *,curl_off_t,int) | | tool_mime_stdin_seek | 2 | +| taint.cpp:142:5:142:10 | select | (void *,socklen_t,int) | | inet6_opt_finish | 2 | | taint.cpp:150:6:150:12 | fn_test | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | ASN1_tag2bit | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | ASN1_tag2str | 0 | @@ -7839,22 +10982,60 @@ signatureMatches | taint.cpp:150:6:150:12 | fn_test | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __btowc | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __current_locale_name | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __fdopendir | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __get_errlist | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __get_errname | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __math_invalid_i | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __math_invalidf_i | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __p_class | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __p_rcode | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __p_type | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __pkey_get | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __sigdescr_np | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | __strerrordesc_np | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | _tolower | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | _toupper | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | btowc | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | c_tolower | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | c_toupper | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | curlx_sitouz | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | inet6_option_space | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isalnum | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isalpha | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isblank | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | iscntrl | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isdigit | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isgraph | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | islower | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isprint | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | ispunct | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isspace | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isupper | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | isxdigit | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | ossl_tolower | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | ossl_toupper | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | sigabbrev_np | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | sqlite3_errstr | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | strerrorname_np | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | support_report_failure | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | svcudp_create | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | tls13_alert_code | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | toascii | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | tolower | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | toupper | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | | uabs | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | uv__accept | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | uv_err_name | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | uv_get_osfhandle | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | uv_strerror | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | uv_translate_sys_error | 0 | | taint.cpp:150:6:150:12 | fn_test | (int) | | zError | 0 | +| taint.cpp:150:6:150:12 | fn_test | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:156:7:156:12 | strcpy | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | | taint.cpp:156:7:156:12 | strcpy | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string | 1 | | taint.cpp:156:7:156:12 | strcpy | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string_X509 | 1 | @@ -7885,6 +11066,7 @@ signatureMatches | taint.cpp:156:7:156:12 | strcpy | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:156:7:156:12 | strcpy | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:156:7:156:12 | strcpy | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:156:7:156:12 | strcpy | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:156:7:156:12 | strcpy | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:156:7:156:12 | strcpy | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:156:7:156:12 | strcpy | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -7941,22 +11123,52 @@ signatureMatches | taint.cpp:156:7:156:12 | strcpy | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:156:7:156:12 | strcpy | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:156:7:156:12 | strcpy | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:156:7:156:12 | strcpy | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:156:7:156:12 | strcpy | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:156:7:156:12 | strcpy | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:156:7:156:12 | strcpy | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:156:7:156:12 | strcpy | (char **,const char *) | | __strsep | 1 | +| taint.cpp:156:7:156:12 | strcpy | (char *,const char *) | | xstrdup | 0 | +| taint.cpp:156:7:156:12 | strcpy | (char *,const char *) | | xstrdup | 1 | | taint.cpp:156:7:156:12 | strcpy | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | Configcmp | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | Curl_timestrcmp | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | advance | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | gzopen | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | ossl_pem_check_suffix | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | ossl_v3_name_cmp | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | step | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:156:7:156:12 | strcpy | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:156:7:156:12 | strcpy | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:156:7:156:12 | strcpy | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:156:7:156:12 | strcpy | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -7966,16 +11178,22 @@ signatureMatches | taint.cpp:156:7:156:12 | strcpy | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:156:7:156:12 | strcpy | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:156:7:156:12 | strcpy | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:156:7:156:12 | strcpy | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:156:7:156:12 | strcpy | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:156:7:156:12 | strcpy | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:156:7:156:12 | strcpy | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:156:7:156:12 | strcpy | (int,const char *) | | gzdopen | 1 | +| taint.cpp:156:7:156:12 | strcpy | (int,const char *) | | setlocale | 1 | +| taint.cpp:156:7:156:12 | strcpy | (int,const char *) | | xsetlocale | 1 | | taint.cpp:156:7:156:12 | strcpy | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:156:7:156:12 | strcpy | (long *,const char *) | | secs2ms | 1 | | taint.cpp:156:7:156:12 | strcpy | (long *,const char *) | | str2num | 1 | | taint.cpp:156:7:156:12 | strcpy | (long *,const char *) | | str2unum | 1 | +| taint.cpp:156:7:156:12 | strcpy | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:156:7:156:12 | strcpy | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:156:7:156:12 | strcpy | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:156:7:156:12 | strcpy | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:156:7:156:12 | strcpy | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:156:7:156:12 | strcpy | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:156:7:156:12 | strcpy | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:156:7:156:12 | strcpy | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -7983,6 +11201,7 @@ signatureMatches | taint.cpp:156:7:156:12 | strcpy | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:156:7:156:12 | strcpy | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:156:7:156:12 | strcpy | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:156:7:156:12 | strcpy | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:156:7:156:12 | strcpy | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:156:7:156:12 | strcpy | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:156:7:156:12 | strcpy | (unsigned long *,const char *) | | set_name_ex | 1 | @@ -8017,6 +11236,7 @@ signatureMatches | taint.cpp:157:7:157:12 | strcat | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:157:7:157:12 | strcat | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:157:7:157:12 | strcat | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:157:7:157:12 | strcat | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:157:7:157:12 | strcat | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:157:7:157:12 | strcat | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:157:7:157:12 | strcat | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -8073,22 +11293,52 @@ signatureMatches | taint.cpp:157:7:157:12 | strcat | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:157:7:157:12 | strcat | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:157:7:157:12 | strcat | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:157:7:157:12 | strcat | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:157:7:157:12 | strcat | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:157:7:157:12 | strcat | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:157:7:157:12 | strcat | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:157:7:157:12 | strcat | (char **,const char *) | | __strsep | 1 | +| taint.cpp:157:7:157:12 | strcat | (char *,const char *) | | xstrdup | 0 | +| taint.cpp:157:7:157:12 | strcat | (char *,const char *) | | xstrdup | 1 | | taint.cpp:157:7:157:12 | strcat | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:157:7:157:12 | strcat | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | Configcmp | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | Curl_timestrcmp | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | advance | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | gzopen | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | ossl_pem_check_suffix | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | ossl_v3_name_cmp | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | step | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:157:7:157:12 | strcat | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:157:7:157:12 | strcat | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:157:7:157:12 | strcat | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:157:7:157:12 | strcat | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:157:7:157:12 | strcat | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:157:7:157:12 | strcat | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -8098,16 +11348,22 @@ signatureMatches | taint.cpp:157:7:157:12 | strcat | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:157:7:157:12 | strcat | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:157:7:157:12 | strcat | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:157:7:157:12 | strcat | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:157:7:157:12 | strcat | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:157:7:157:12 | strcat | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:157:7:157:12 | strcat | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:157:7:157:12 | strcat | (int,const char *) | | gzdopen | 1 | +| taint.cpp:157:7:157:12 | strcat | (int,const char *) | | setlocale | 1 | +| taint.cpp:157:7:157:12 | strcat | (int,const char *) | | xsetlocale | 1 | | taint.cpp:157:7:157:12 | strcat | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:157:7:157:12 | strcat | (long *,const char *) | | secs2ms | 1 | | taint.cpp:157:7:157:12 | strcat | (long *,const char *) | | str2num | 1 | | taint.cpp:157:7:157:12 | strcat | (long *,const char *) | | str2unum | 1 | +| taint.cpp:157:7:157:12 | strcat | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:157:7:157:12 | strcat | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:157:7:157:12 | strcat | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:157:7:157:12 | strcat | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:157:7:157:12 | strcat | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:157:7:157:12 | strcat | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:157:7:157:12 | strcat | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:157:7:157:12 | strcat | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -8115,10 +11371,12 @@ signatureMatches | taint.cpp:157:7:157:12 | strcat | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:157:7:157:12 | strcat | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:157:7:157:12 | strcat | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:157:7:157:12 | strcat | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:157:7:157:12 | strcat | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:157:7:157:12 | strcat | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:157:7:157:12 | strcat | (unsigned long *,const char *) | | set_name_ex | 1 | | taint.cpp:157:7:157:12 | strcat | (uv_pipe_t *,const char *) | | uv_pipe_bind | 1 | +| taint.cpp:180:7:180:12 | callee | (int *) | | rresvport | 0 | | taint.cpp:190:7:190:12 | memcpy | (ASN1_BIT_STRING *,int,int) | | ASN1_BIT_STRING_set_bit | 2 | | taint.cpp:190:7:190:12 | memcpy | (ASN1_BIT_STRING *,unsigned char *,int) | | ASN1_BIT_STRING_set | 2 | | taint.cpp:190:7:190:12 | memcpy | (ASN1_OCTET_STRING **,const unsigned char *,int) | | ossl_cmp_asn1_octet_string_set1_bytes | 2 | @@ -8171,9 +11429,14 @@ signatureMatches | taint.cpp:190:7:190:12 | memcpy | (EVP_PKEY_CTX *,const void *,int) | | EVP_PKEY_CTX_set1_id | 2 | | taint.cpp:190:7:190:12 | memcpy | (EVP_PKEY_CTX *,int *,int) | | EVP_PKEY_CTX_set0_keygen_info | 2 | | taint.cpp:190:7:190:12 | memcpy | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 2 | +| taint.cpp:190:7:190:12 | memcpy | (FILE *,_IO_marker *,int) | | _IO_seekmark | 2 | +| taint.cpp:190:7:190:12 | memcpy | (FILE *,_IO_marker *,int) | | _IO_seekwmark | 2 | +| taint.cpp:190:7:190:12 | memcpy | (FILE *,__FILE *,int) | | fwide | 2 | | taint.cpp:190:7:190:12 | memcpy | (FILE *,const DSA *,int) | | DSA_print_fp | 2 | | taint.cpp:190:7:190:12 | memcpy | (FILE *,const RSA *,int) | | RSA_print_fp | 2 | +| taint.cpp:190:7:190:12 | memcpy | (FILE *,off64_t,int) | | _IO_cookie_seek | 2 | | taint.cpp:190:7:190:12 | memcpy | (FILE *,rule *,int) | | RulePrint | 2 | +| taint.cpp:190:7:190:12 | memcpy | (FTS *,FTSENT *,int) | | fts_set | 2 | | taint.cpp:190:7:190:12 | memcpy | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetCommand | 2 | | taint.cpp:190:7:190:12 | memcpy | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetGlobalVariable | 2 | | taint.cpp:190:7:190:12 | memcpy | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetVariable | 2 | @@ -8262,8 +11525,12 @@ signatureMatches | taint.cpp:190:7:190:12 | memcpy | (X509_STORE_CTX *,X509 *,int) | | ossl_x509_check_cert_time | 2 | | taint.cpp:190:7:190:12 | memcpy | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyChars | 2 | | taint.cpp:190:7:190:12 | memcpy | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 2 | +| taint.cpp:190:7:190:12 | memcpy | (_Float128,_Float128,int) | | __kernel_sinf128 | 2 | +| taint.cpp:190:7:190:12 | memcpy | (_Float128,_Float128,int) | | __kernel_tanf128 | 2 | +| taint.cpp:190:7:190:12 | memcpy | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 2 | | taint.cpp:190:7:190:12 | memcpy | (action *,FILE *,int) | | PrintAction | 2 | | taint.cpp:190:7:190:12 | memcpy | (acttab *,int,int) | | acttab_action | 2 | +| taint.cpp:190:7:190:12 | memcpy | (char *,size_t,int) | | __argz_stringify | 2 | | taint.cpp:190:7:190:12 | memcpy | (const ASN1_VALUE *,const ASN1_TEMPLATE *,int) | | ossl_asn1_do_adb | 2 | | taint.cpp:190:7:190:12 | memcpy | (const BIGNUM *,int[],int) | | BN_GF2m_poly2arr | 2 | | taint.cpp:190:7:190:12 | memcpy | (const BIGNUM *,unsigned char *,int) | | BN_bn2binpad | 2 | @@ -8305,12 +11572,21 @@ signatureMatches | taint.cpp:190:7:190:12 | memcpy | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_NID | 2 | | taint.cpp:190:7:190:12 | memcpy | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_critical | 2 | | taint.cpp:190:7:190:12 | memcpy | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,char **,int) | | __strtol | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,char **,int) | | __strtoul | 2 | | taint.cpp:190:7:190:12 | memcpy | (const char *,char **,int) | | idn2_to_ascii_8z | 2 | | taint.cpp:190:7:190:12 | memcpy | (const char *,const OSSL_PARAM *,int) | | print_param_types | 2 | | taint.cpp:190:7:190:12 | memcpy | (const char *,const char *,int) | | CRYPTO_strdup | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,const char *,int) | | __dcgettext | 2 | | taint.cpp:190:7:190:12 | memcpy | (const char *,const char *,int) | | sqlite3_strnicmp | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,int,int) | | __old_strpbrk_c2 | 2 | | taint.cpp:190:7:190:12 | memcpy | (const char *,long *,int) | | Jim_StringToWide | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 2 | | taint.cpp:190:7:190:12 | memcpy | (const char *,sqlite3_filename,int) | | sqlite3_uri_key | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,void *,int) | | support_readdir_check | 1 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,void *,int) | | support_readdir_check | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const char *,wordexp_t *,int) | | wordexp | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 2 | | taint.cpp:190:7:190:12 | memcpy | (const stack_st_X509_ATTRIBUTE *,const ASN1_OBJECT *,int) | | X509at_get_attr_by_OBJ | 2 | | taint.cpp:190:7:190:12 | memcpy | (const stack_st_X509_ATTRIBUTE *,int,int) | | X509at_get_attr_by_NID | 2 | | taint.cpp:190:7:190:12 | memcpy | (const stack_st_X509_EXTENSION *,const ASN1_OBJECT *,int) | | X509v3_get_ext_by_OBJ | 2 | @@ -8320,16 +11596,32 @@ signatureMatches | taint.cpp:190:7:190:12 | memcpy | (const unsigned char **,unsigned int,int) | | ossl_b2i_DSA_after_header | 2 | | taint.cpp:190:7:190:12 | memcpy | (const unsigned char **,unsigned int,int) | | ossl_b2i_RSA_after_header | 2 | | taint.cpp:190:7:190:12 | memcpy | (const void *,const void *,int) | | ossl_is_partially_overlapping | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const void *,socklen_t,int) | | res_gethostbyaddr | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const wchar_t *,wchar_t **,int) | | __wcstol | 2 | +| taint.cpp:190:7:190:12 | memcpy | (const wchar_t *,wchar_t **,int) | | __wcstoul | 2 | | taint.cpp:190:7:190:12 | memcpy | (curl_mimepart *,curl_mime *,int) | | Curl_mime_set_subparts | 2 | | taint.cpp:190:7:190:12 | memcpy | (curl_mimepart *,curl_slist *,int) | | curl_mime_headers | 2 | +| taint.cpp:190:7:190:12 | memcpy | (database_dyn *,size_t,int) | | mempool_alloc | 2 | +| taint.cpp:190:7:190:12 | memcpy | (database_dyn *,time_t,int) | | prune_cache | 2 | +| taint.cpp:190:7:190:12 | memcpy | (double,double,int) | | __kernel_standard | 2 | +| taint.cpp:190:7:190:12 | memcpy | (float,float,int) | | __kernel_standard_f | 2 | +| taint.cpp:190:7:190:12 | memcpy | (gconv_spec *,__gconv_t *,int) | | __gconv_open | 2 | | taint.cpp:190:7:190:12 | memcpy | (gzFile,char *,int) | | gzgets | 2 | | taint.cpp:190:7:190:12 | memcpy | (gzFile,int,int) | | gzsetparams | 2 | | taint.cpp:190:7:190:12 | memcpy | (gzFile,off64_t,int) | | gzseek64 | 2 | | taint.cpp:190:7:190:12 | memcpy | (gzFile,off_t,int) | | gzseek | 2 | +| taint.cpp:190:7:190:12 | memcpy | (int *,short *,int) | | __lll_lock_elision | 2 | | taint.cpp:190:7:190:12 | memcpy | (int,BIO_ADDR *,int) | | BIO_accept_ex | 2 | | taint.cpp:190:7:190:12 | memcpy | (int,int,int) | | ASN1_object_size | 2 | | taint.cpp:190:7:190:12 | memcpy | (int,int,int) | | EVP_CIPHER_meth_new | 2 | +| taint.cpp:190:7:190:12 | memcpy | (long double,long double,int) | | __kernel_sinl | 2 | +| taint.cpp:190:7:190:12 | memcpy | (long double,long double,int) | | __kernel_standard_l | 2 | +| taint.cpp:190:7:190:12 | memcpy | (long double,long double,int) | | __kernel_tanl | 2 | +| taint.cpp:190:7:190:12 | memcpy | (mp_srcptr,int,int) | | __mpn_construct_double | 2 | +| taint.cpp:190:7:190:12 | memcpy | (mp_srcptr,int,int) | | __mpn_construct_float | 2 | +| taint.cpp:190:7:190:12 | memcpy | (mp_srcptr,int,int) | | __mpn_construct_float128 | 2 | | taint.cpp:190:7:190:12 | memcpy | (regex_t *,const char *,int) | | jim_regcomp | 2 | +| taint.cpp:190:7:190:12 | memcpy | (requestlist *,requestlist *,int) | | __aio_remove_request | 2 | | taint.cpp:190:7:190:12 | memcpy | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 2 | | taint.cpp:190:7:190:12 | memcpy | (sqlite3 *,int,int) | | sqlite3_limit | 2 | | taint.cpp:190:7:190:12 | memcpy | (sqlite3_context *,const char *,int) | | sqlite3_result_error | 2 | @@ -8350,11 +11642,15 @@ signatureMatches | taint.cpp:190:7:190:12 | memcpy | (stack_st_X509_ALGOR **,int,int) | | CMS_add_simple_smimecap | 2 | | taint.cpp:190:7:190:12 | memcpy | (stack_st_X509_ALGOR *,int,int) | | PKCS7_simple_smimecap | 2 | | taint.cpp:190:7:190:12 | memcpy | (stack_st_X509_EXTENSION **,X509_EXTENSION *,int) | | X509v3_add_ext | 2 | +| taint.cpp:190:7:190:12 | memcpy | (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 2 | | taint.cpp:190:7:190:12 | memcpy | (uint8_t[56],const gf,int) | | gf_serialize | 2 | | taint.cpp:190:7:190:12 | memcpy | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 2 | +| taint.cpp:190:7:190:12 | memcpy | (unsigned char *,const char *,int) | | data_string | 2 | | taint.cpp:190:7:190:12 | memcpy | (unsigned char *,const unsigned char *,int) | | EVP_DecodeBlock | 2 | | taint.cpp:190:7:190:12 | memcpy | (unsigned char *,const unsigned char *,int) | | EVP_EncodeBlock | 2 | | taint.cpp:190:7:190:12 | memcpy | (unsigned char *,uint64_t,int) | | ossl_i2c_uint64_int | 2 | +| taint.cpp:190:7:190:12 | memcpy | (unsigned int,const char *,int) | | _IO_adjust_column | 2 | +| taint.cpp:190:7:190:12 | memcpy | (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 2 | | taint.cpp:190:7:190:12 | memcpy | (unsigned int,int,int) | | ossl_blob_length | 2 | | taint.cpp:190:7:190:12 | memcpy | (unsigned long *,const BIGNUM *,int) | | bn_copy_words | 2 | | taint.cpp:190:7:190:12 | memcpy | (unsigned long *,const unsigned long *,int) | | bn_sqr_words | 2 | @@ -8365,8 +11661,11 @@ signatureMatches | taint.cpp:190:7:190:12 | memcpy | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start | 2 | | taint.cpp:190:7:190:12 | memcpy | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start_oneshot | 2 | | taint.cpp:190:7:190:12 | memcpy | (uv_stream_t *,int,int) | | uv__stream_open | 2 | +| taint.cpp:190:7:190:12 | memcpy | (void *,cmsghdr **,int) | | inet6_option_init | 2 | | taint.cpp:190:7:190:12 | memcpy | (void *,const char *,int) | | CRYPTO_secure_free | 2 | | taint.cpp:190:7:190:12 | memcpy | (void *,curl_off_t,int) | | tool_mime_stdin_seek | 2 | +| taint.cpp:190:7:190:12 | memcpy | (void *,socklen_t,int) | | inet6_opt_finish | 2 | +| taint.cpp:192:6:192:16 | test_memcpy | (int *) | | rresvport | 0 | | taint.cpp:249:13:249:13 | _FUN | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:249:13:249:13 | _FUN | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | taint.cpp:249:13:249:13 | _FUN | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -8430,6 +11729,19 @@ signatureMatches | taint.cpp:249:13:249:13 | _FUN | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:249:13:249:13 | _FUN | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:249:13:249:13 | _FUN | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:249:13:249:13 | _FUN | (FTS *,int) | | fts_children | 1 | | taint.cpp:249:13:249:13 | _FUN | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:249:13:249:13 | _FUN | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:249:13:249:13 | _FUN | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -8557,7 +11869,15 @@ signatureMatches | taint.cpp:249:13:249:13 | _FUN | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:249:13:249:13 | _FUN | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:249:13:249:13 | _FUN | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:249:13:249:13 | _FUN | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:249:13:249:13 | _FUN | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:249:13:249:13 | _FUN | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:249:13:249:13 | _FUN | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:249:13:249:13 | _FUN | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:249:13:249:13 | _FUN | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:249:13:249:13 | _FUN | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:249:13:249:13 | _FUN | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:249:13:249:13 | _FUN | (char **,int) | | addrsort | 1 | | taint.cpp:249:13:249:13 | _FUN | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:249:13:249:13 | _FUN | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:249:13:249:13 | _FUN | (char,int) | CStringT | CStringT | 1 | @@ -8622,25 +11942,44 @@ signatureMatches | taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | ftok | 1 | +| taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:249:13:249:13 | _FUN | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:249:13:249:13 | _FUN | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:249:13:249:13 | _FUN | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:249:13:249:13 | _FUN | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:249:13:249:13 | _FUN | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:249:13:249:13 | _FUN | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:249:13:249:13 | _FUN | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:249:13:249:13 | _FUN | (double,int) | | __ldexp | 1 | +| taint.cpp:249:13:249:13 | _FUN | (double,int) | | __scalbn | 1 | +| taint.cpp:249:13:249:13 | _FUN | (double[],int) | | getloadavg | 1 | | taint.cpp:249:13:249:13 | _FUN | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:249:13:249:13 | _FUN | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:249:13:249:13 | _FUN | (float,int) | | __ldexpf | 1 | +| taint.cpp:249:13:249:13 | _FUN | (float,int) | | __scalbnf | 1 | | taint.cpp:249:13:249:13 | _FUN | (gzFile,int) | | gzflush | 1 | | taint.cpp:249:13:249:13 | _FUN | (gzFile,int) | | gzputc | 1 | | taint.cpp:249:13:249:13 | _FUN | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:249:13:249:13 | _FUN | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:249:13:249:13 | _FUN | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | BN_security_bits | 0 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | BN_security_bits | 1 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | EVP_MD_meth_new | 0 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | EVP_PKEY_meth_new | 0 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:249:13:249:13 | _FUN | (int,int) | | __isctype | 0 | +| taint.cpp:249:13:249:13 | _FUN | (int,int) | | __isctype | 1 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | acttab_alloc | 0 | | taint.cpp:249:13:249:13 | _FUN | (int,int) | | acttab_alloc | 1 | +| taint.cpp:249:13:249:13 | _FUN | (int,int) | | div | 0 | +| taint.cpp:249:13:249:13 | _FUN | (int,int) | | div | 1 | +| taint.cpp:249:13:249:13 | _FUN | (int,int) | | inet6_rth_space | 0 | +| taint.cpp:249:13:249:13 | _FUN | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:249:13:249:13 | _FUN | (long double,int) | | __ldexpl | 1 | +| taint.cpp:249:13:249:13 | _FUN | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:249:13:249:13 | _FUN | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:249:13:249:13 | _FUN | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:249:13:249:13 | _FUN | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -8648,8 +11987,21 @@ signatureMatches | taint.cpp:249:13:249:13 | _FUN | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:249:13:249:13 | _FUN | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:249:13:249:13 | _FUN | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:249:13:249:13 | _FUN | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:249:13:249:13 | _FUN | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:249:13:249:13 | _FUN | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:249:13:249:13 | _FUN | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:249:13:249:13 | _FUN | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:249:13:249:13 | _FUN | (rule *,int) | | Configlist_add | 1 | | taint.cpp:249:13:249:13 | _FUN | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:249:13:249:13 | _FUN | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:249:13:249:13 | _FUN | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:249:13:249:13 | _FUN | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:249:13:249:13 | _FUN | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:249:13:249:13 | _FUN | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -8677,6 +12029,8 @@ signatureMatches | taint.cpp:249:13:249:13 | _FUN | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:249:13:249:13 | _FUN | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:249:13:249:13 | _FUN | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:249:13:249:13 | _FUN | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:249:13:249:13 | _FUN | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:249:13:249:13 | _FUN | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:249:13:249:13 | _FUN | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:249:13:249:13 | _FUN | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -8685,6 +12039,7 @@ signatureMatches | taint.cpp:249:13:249:13 | _FUN | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:249:13:249:13 | _FUN | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:249:13:249:13 | _FUN | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:249:13:249:13 | _FUN | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:249:13:249:13 | _FUN | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:249:13:249:13 | operator() | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:249:13:249:13 | operator() | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -8749,6 +12104,19 @@ signatureMatches | taint.cpp:249:13:249:13 | operator() | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:249:13:249:13 | operator() | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:249:13:249:13 | operator() | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:249:13:249:13 | operator() | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:249:13:249:13 | operator() | (FTS *,int) | | fts_children | 1 | | taint.cpp:249:13:249:13 | operator() | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:249:13:249:13 | operator() | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:249:13:249:13 | operator() | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -8876,7 +12244,15 @@ signatureMatches | taint.cpp:249:13:249:13 | operator() | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:249:13:249:13 | operator() | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:249:13:249:13 | operator() | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:249:13:249:13 | operator() | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:249:13:249:13 | operator() | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:249:13:249:13 | operator() | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:249:13:249:13 | operator() | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:249:13:249:13 | operator() | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:249:13:249:13 | operator() | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:249:13:249:13 | operator() | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:249:13:249:13 | operator() | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:249:13:249:13 | operator() | (char **,int) | | addrsort | 1 | | taint.cpp:249:13:249:13 | operator() | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:249:13:249:13 | operator() | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:249:13:249:13 | operator() | (char,int) | CStringT | CStringT | 1 | @@ -8941,25 +12317,44 @@ signatureMatches | taint.cpp:249:13:249:13 | operator() | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:249:13:249:13 | operator() | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:249:13:249:13 | operator() | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:249:13:249:13 | operator() | (const char *,int) | | ftok | 1 | +| taint.cpp:249:13:249:13 | operator() | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:249:13:249:13 | operator() | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:249:13:249:13 | operator() | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:249:13:249:13 | operator() | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:249:13:249:13 | operator() | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:249:13:249:13 | operator() | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:249:13:249:13 | operator() | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:249:13:249:13 | operator() | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:249:13:249:13 | operator() | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:249:13:249:13 | operator() | (double,int) | | __ldexp | 1 | +| taint.cpp:249:13:249:13 | operator() | (double,int) | | __scalbn | 1 | +| taint.cpp:249:13:249:13 | operator() | (double[],int) | | getloadavg | 1 | | taint.cpp:249:13:249:13 | operator() | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:249:13:249:13 | operator() | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:249:13:249:13 | operator() | (float,int) | | __ldexpf | 1 | +| taint.cpp:249:13:249:13 | operator() | (float,int) | | __scalbnf | 1 | | taint.cpp:249:13:249:13 | operator() | (gzFile,int) | | gzflush | 1 | | taint.cpp:249:13:249:13 | operator() | (gzFile,int) | | gzputc | 1 | | taint.cpp:249:13:249:13 | operator() | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:249:13:249:13 | operator() | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:249:13:249:13 | operator() | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | BN_security_bits | 0 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | BN_security_bits | 1 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | EVP_MD_meth_new | 0 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | EVP_PKEY_meth_new | 0 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:249:13:249:13 | operator() | (int,int) | | __isctype | 0 | +| taint.cpp:249:13:249:13 | operator() | (int,int) | | __isctype | 1 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | acttab_alloc | 0 | | taint.cpp:249:13:249:13 | operator() | (int,int) | | acttab_alloc | 1 | +| taint.cpp:249:13:249:13 | operator() | (int,int) | | div | 0 | +| taint.cpp:249:13:249:13 | operator() | (int,int) | | div | 1 | +| taint.cpp:249:13:249:13 | operator() | (int,int) | | inet6_rth_space | 0 | +| taint.cpp:249:13:249:13 | operator() | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:249:13:249:13 | operator() | (long double,int) | | __ldexpl | 1 | +| taint.cpp:249:13:249:13 | operator() | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:249:13:249:13 | operator() | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:249:13:249:13 | operator() | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:249:13:249:13 | operator() | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -8967,8 +12362,21 @@ signatureMatches | taint.cpp:249:13:249:13 | operator() | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:249:13:249:13 | operator() | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:249:13:249:13 | operator() | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:249:13:249:13 | operator() | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:249:13:249:13 | operator() | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:249:13:249:13 | operator() | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:249:13:249:13 | operator() | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:249:13:249:13 | operator() | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:249:13:249:13 | operator() | (rule *,int) | | Configlist_add | 1 | | taint.cpp:249:13:249:13 | operator() | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:249:13:249:13 | operator() | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:249:13:249:13 | operator() | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:249:13:249:13 | operator() | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:249:13:249:13 | operator() | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:249:13:249:13 | operator() | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -8996,6 +12404,8 @@ signatureMatches | taint.cpp:249:13:249:13 | operator() | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:249:13:249:13 | operator() | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:249:13:249:13 | operator() | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:249:13:249:13 | operator() | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:249:13:249:13 | operator() | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:249:13:249:13 | operator() | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:249:13:249:13 | operator() | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:249:13:249:13 | operator() | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -9004,6 +12414,7 @@ signatureMatches | taint.cpp:249:13:249:13 | operator() | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:249:13:249:13 | operator() | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:249:13:249:13 | operator() | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:249:13:249:13 | operator() | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:249:13:249:13 | operator() | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:266:5:266:6 | id | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:266:5:266:6 | id | (int) | | ASN1_tag2bit | 0 | @@ -9023,22 +12434,60 @@ signatureMatches | taint.cpp:266:5:266:6 | id | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:266:5:266:6 | id | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:266:5:266:6 | id | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __btowc | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __current_locale_name | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __fdopendir | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __get_errlist | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __get_errname | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __math_invalid_i | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __math_invalidf_i | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __p_class | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __p_rcode | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __p_type | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __pkey_get | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __sigdescr_np | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | __strerrordesc_np | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | _tolower | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | _toupper | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | btowc | 0 | | taint.cpp:266:5:266:6 | id | (int) | | c_tolower | 0 | | taint.cpp:266:5:266:6 | id | (int) | | c_toupper | 0 | | taint.cpp:266:5:266:6 | id | (int) | | curlx_sitouz | 0 | | taint.cpp:266:5:266:6 | id | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | inet6_option_space | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isalnum | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isalpha | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isblank | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | iscntrl | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isdigit | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isgraph | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | islower | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isprint | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | ispunct | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isspace | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isupper | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | isxdigit | 0 | | taint.cpp:266:5:266:6 | id | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:266:5:266:6 | id | (int) | | ossl_tolower | 0 | | taint.cpp:266:5:266:6 | id | (int) | | ossl_toupper | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | sigabbrev_np | 0 | | taint.cpp:266:5:266:6 | id | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:266:5:266:6 | id | (int) | | sqlite3_errstr | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | strerrorname_np | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | support_report_failure | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | svcudp_create | 0 | | taint.cpp:266:5:266:6 | id | (int) | | tls13_alert_code | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | toascii | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | tolower | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | toupper | 0 | +| taint.cpp:266:5:266:6 | id | (int) | | uabs | 0 | | taint.cpp:266:5:266:6 | id | (int) | | uv__accept | 0 | | taint.cpp:266:5:266:6 | id | (int) | | uv_err_name | 0 | | taint.cpp:266:5:266:6 | id | (int) | | uv_get_osfhandle | 0 | | taint.cpp:266:5:266:6 | id | (int) | | uv_strerror | 0 | | taint.cpp:266:5:266:6 | id | (int) | | uv_translate_sys_error | 0 | | taint.cpp:266:5:266:6 | id | (int) | | zError | 0 | +| taint.cpp:266:5:266:6 | id | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:302:6:302:14 | myAssign2 | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -9102,6 +12551,19 @@ signatureMatches | taint.cpp:302:6:302:14 | myAssign2 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (FTS *,int) | | fts_children | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -9229,7 +12691,15 @@ signatureMatches | taint.cpp:302:6:302:14 | myAssign2 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (char **,int) | | addrsort | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (char,int) | CStringT | CStringT | 1 | @@ -9294,21 +12764,37 @@ signatureMatches | taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | ftok | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (double,int) | | __ldexp | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (double,int) | | __scalbn | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (double[],int) | | getloadavg | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (float,int) | | __ldexpf | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (float,int) | | __scalbnf | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (gzFile,int) | | gzflush | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (gzFile,int) | | gzputc | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | BN_security_bits | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | __isctype | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | acttab_alloc | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | div | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (long double,int) | | __ldexpl | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -9316,8 +12802,21 @@ signatureMatches | taint.cpp:302:6:302:14 | myAssign2 | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (rule *,int) | | Configlist_add | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -9345,6 +12844,8 @@ signatureMatches | taint.cpp:302:6:302:14 | myAssign2 | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -9353,6 +12854,7 @@ signatureMatches | taint.cpp:302:6:302:14 | myAssign2 | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:302:6:302:14 | myAssign2 | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:302:6:302:14 | myAssign2 | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -9417,6 +12919,19 @@ signatureMatches | taint.cpp:307:6:307:14 | myAssign3 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (FTS *,int) | | fts_children | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -9544,7 +13059,15 @@ signatureMatches | taint.cpp:307:6:307:14 | myAssign3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (char **,int) | | addrsort | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (char,int) | CStringT | CStringT | 1 | @@ -9609,23 +13132,40 @@ signatureMatches | taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | ftok | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (double,int) | | __ldexp | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (double,int) | | __scalbn | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (double[],int) | | getloadavg | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (float,int) | | __ldexpf | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (float,int) | | __scalbnf | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (gzFile,int) | | gzflush | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (gzFile,int) | | gzputc | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (int *,int) | | X509_PURPOSE_set | 0 | | taint.cpp:307:6:307:14 | myAssign3 | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (int *,int) | | X509_TRUST_set | 0 | | taint.cpp:307:6:307:14 | myAssign3 | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (int *,int) | | __lll_unlock_elision | 0 | +| taint.cpp:307:6:307:14 | myAssign3 | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | BN_security_bits | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | __isctype | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | acttab_alloc | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | div | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (long double,int) | | __ldexpl | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -9633,8 +13173,21 @@ signatureMatches | taint.cpp:307:6:307:14 | myAssign3 | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (rule *,int) | | Configlist_add | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -9662,6 +13215,8 @@ signatureMatches | taint.cpp:307:6:307:14 | myAssign3 | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -9670,6 +13225,7 @@ signatureMatches | taint.cpp:307:6:307:14 | myAssign3 | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:307:6:307:14 | myAssign3 | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:307:6:307:14 | myAssign3 | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -9734,6 +13290,19 @@ signatureMatches | taint.cpp:312:6:312:14 | myAssign4 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (FTS *,int) | | fts_children | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -9861,7 +13430,15 @@ signatureMatches | taint.cpp:312:6:312:14 | myAssign4 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (char **,int) | | addrsort | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (char,int) | CStringT | CStringT | 1 | @@ -9926,23 +13503,40 @@ signatureMatches | taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | ftok | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (double,int) | | __ldexp | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (double,int) | | __scalbn | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (double[],int) | | getloadavg | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (float,int) | | __ldexpf | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (float,int) | | __scalbnf | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (gzFile,int) | | gzflush | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (gzFile,int) | | gzputc | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (int *,int) | | X509_PURPOSE_set | 0 | | taint.cpp:312:6:312:14 | myAssign4 | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (int *,int) | | X509_TRUST_set | 0 | | taint.cpp:312:6:312:14 | myAssign4 | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (int *,int) | | __lll_unlock_elision | 0 | +| taint.cpp:312:6:312:14 | myAssign4 | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | BN_security_bits | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | __isctype | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | acttab_alloc | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | div | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (long double,int) | | __ldexpl | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -9950,8 +13544,21 @@ signatureMatches | taint.cpp:312:6:312:14 | myAssign4 | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (rule *,int) | | Configlist_add | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -9979,6 +13586,8 @@ signatureMatches | taint.cpp:312:6:312:14 | myAssign4 | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -9987,6 +13596,7 @@ signatureMatches | taint.cpp:312:6:312:14 | myAssign4 | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:312:6:312:14 | myAssign4 | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:312:6:312:14 | myAssign4 | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | BIO_gethostbyname | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | Curl_copy_header_value | 0 | @@ -10000,16 +13610,36 @@ signatureMatches | taint.cpp:361:7:361:12 | strdup | (const char *) | | UI_create_method | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | X509V3_parse_list | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | X509_LOOKUP_meth_new | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __basename | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __gconv_find_shlib | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __gettext | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __hash_string | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __nss_action_parse | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __strdup | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __textdomain | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __tzset_parse_tz | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | __tzstring | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | a2i_IPADDRESS | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | a2i_IPADDRESS_NC | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | a64l | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | charmap_opendir | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | ether_aton | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | getdate | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | inetstr2int | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | last_component | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | opt_path_end | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | opt_progname | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | ossl_lh_strcasehash | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | repertoire_read | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | res_gethostbyname | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | sgetsgent | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | sgetspent | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | strhash | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | uc_script_byname | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | uv__strdup | 0 | | taint.cpp:361:7:361:12 | strdup | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| taint.cpp:361:7:361:12 | strdup | (const char *) | | xstrdup | 0 | | taint.cpp:362:7:362:13 | strndup | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | taint.cpp:362:7:362:13 | strndup | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | taint.cpp:362:7:362:13 | strndup | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -10069,9 +13699,16 @@ signatureMatches | taint.cpp:362:7:362:13 | strndup | (X509_STORE_CTX *,unsigned long) | | X509_STORE_CTX_set_flags | 1 | | taint.cpp:362:7:362:13 | strndup | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | taint.cpp:362:7:362:13 | strndup | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | +| taint.cpp:362:7:362:13 | strndup | (__gconv_step *,size_t) | | __gconv_close_transform | 1 | +| taint.cpp:362:7:362:13 | strndup | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_lmargin | 1 | +| taint.cpp:362:7:362:13 | strndup | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_rmargin | 1 | +| taint.cpp:362:7:362:13 | strndup | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 1 | | taint.cpp:362:7:362:13 | strndup | (bufq *,size_t) | | Curl_bufq_skip | 1 | | taint.cpp:362:7:362:13 | strndup | (bufq *,size_t) | | Curl_bufq_unwrite | 1 | | taint.cpp:362:7:362:13 | strndup | (char *,size_t) | | RAND_file_name | 1 | +| taint.cpp:362:7:362:13 | strndup | (char *,size_t) | | __getcwd | 1 | +| taint.cpp:362:7:362:13 | strndup | (char *,size_t) | | __gets_chk | 1 | +| taint.cpp:362:7:362:13 | strndup | (char *,size_t) | | __getwd_chk | 1 | | taint.cpp:362:7:362:13 | strndup | (char *,size_t) | | plain_method | 1 | | taint.cpp:362:7:362:13 | strndup | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | | taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | Curl_getn_scheme_handler | 0 | @@ -10080,13 +13717,31 @@ signatureMatches | taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | Curl_memdup0 | 1 | | taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | OPENSSL_strnlen | 0 | | taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | OPENSSL_strnlen | 1 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | __nss_module_allocate | 0 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | __nss_module_allocate | 1 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | __strndup | 0 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | __strndup | 1 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | charmap_hash | 0 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | charmap_hash | 1 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | locfile_hash | 0 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | locfile_hash | 1 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | mblen | 0 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | mblen | 1 | | taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | uv__strndup | 0 | | taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | uv__strndup | 1 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | xstrndup | 0 | +| taint.cpp:362:7:362:13 | strndup | (const char *,size_t) | | xstrndup | 1 | | taint.cpp:362:7:362:13 | strndup | (const uint8_t *,size_t) | | FuzzerTestOneInput | 1 | | taint.cpp:362:7:362:13 | strndup | (const uint8_t *,size_t) | | nghttp2_hd_huff_encode_count | 1 | | taint.cpp:362:7:362:13 | strndup | (const uint8_t *,size_t) | | ossl_ed448_pubkey_verify | 1 | | taint.cpp:362:7:362:13 | strndup | (const void *,size_t) | | Curl_memdup | 1 | +| taint.cpp:362:7:362:13 | strndup | (const void *,size_t) | | __nis_hash | 1 | +| taint.cpp:362:7:362:13 | strndup | (const void *,size_t) | | __nss_hash | 1 | +| taint.cpp:362:7:362:13 | strndup | (const void *,size_t) | | compute_hashval | 1 | +| taint.cpp:362:7:362:13 | strndup | (const wchar_t *,size_t) | | __wcsnlen_generic | 1 | +| taint.cpp:362:7:362:13 | strndup | (const wchar_t *,size_t) | | wcswidth | 1 | | taint.cpp:362:7:362:13 | strndup | (curl_pushheaders *,size_t) | | curl_pushheader_bynum | 1 | +| taint.cpp:362:7:362:13 | strndup | (dl_find_object_internal *,size_t) | | _dlfo_sort_mappings | 1 | | taint.cpp:362:7:362:13 | strndup | (dynbuf *,size_t) | | Curl_dyn_init | 1 | | taint.cpp:362:7:362:13 | strndup | (dynbuf *,size_t) | | Curl_dyn_setlen | 1 | | taint.cpp:362:7:362:13 | strndup | (dynbuf *,size_t) | | Curl_dyn_tail | 1 | @@ -10095,7 +13750,10 @@ signatureMatches | taint.cpp:362:7:362:13 | strndup | (dynbuf *,size_t) | | curlx_dyn_tail | 1 | | taint.cpp:362:7:362:13 | strndup | (dynhds *,size_t) | | Curl_dynhds_getn | 1 | | taint.cpp:362:7:362:13 | strndup | (h1_req_parser *,size_t) | | Curl_h1_req_parse_init | 1 | +| taint.cpp:362:7:362:13 | strndup | (hash_table *,unsigned long) | | init_hash | 1 | | taint.cpp:362:7:362:13 | strndup | (int,size_t) | | ossl_calculate_comp_expansion | 1 | +| taint.cpp:362:7:362:13 | strndup | (link_map *,size_t) | | _dl_make_tlsdesc_dynamic | 1 | +| taint.cpp:362:7:362:13 | strndup | (locale_file *,size_t) | | init_locale_data | 1 | | taint.cpp:362:7:362:13 | strndup | (nghttp2_bufs *,size_t) | | nghttp2_bufs_realloc | 1 | | taint.cpp:362:7:362:13 | strndup | (nghttp2_frame *,size_t) | | nghttp2_frame_trail_padlen | 1 | | taint.cpp:362:7:362:13 | strndup | (nghttp2_hd_context *,size_t) | | nghttp2_hd_table_get | 1 | @@ -10112,11 +13770,22 @@ signatureMatches | taint.cpp:362:7:362:13 | strndup | (nghttp2_session *,size_t) | | nghttp2_session_consume_connection | 1 | | taint.cpp:362:7:362:13 | strndup | (nghttp2_session *,size_t) | | nghttp2_session_update_recv_connection_window_size | 1 | | taint.cpp:362:7:362:13 | strndup | (nghttp2_stream *,size_t) | | nghttp2_http_on_data_chunk | 1 | +| taint.cpp:362:7:362:13 | strndup | (nss_action *,size_t) | | __nss_action_allocate | 1 | +| taint.cpp:362:7:362:13 | strndup | (pthread_attr_t *,size_t) | | __pthread_attr_setguardsize | 1 | +| taint.cpp:362:7:362:13 | strndup | (pthread_attr_t *,size_t) | | __pthread_attr_setstacksize | 1 | +| taint.cpp:362:7:362:13 | strndup | (size_t,size_t) | | __libc_memalign | 1 | +| taint.cpp:362:7:362:13 | strndup | (size_t,size_t) | | aligned_alloc | 1 | +| taint.cpp:362:7:362:13 | strndup | (u_long,unsigned long) | | __p_option | 1 | | taint.cpp:362:7:362:13 | strndup | (uint8_t *,size_t) | | nghttp2_downcase | 1 | | taint.cpp:362:7:362:13 | strndup | (uint8_t *,size_t) | | ossl_fnv1a_hash | 1 | | taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | JimDefaultAllocator | 1 | +| taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | __arc4random_buf | 1 | +| taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | __libc_realloc | 1 | +| taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | __minimal_realloc | 1 | +| taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | getentropy | 1 | | taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | uv__random_devurandom | 1 | | taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | uv__random_getrandom | 1 | +| taint.cpp:362:7:362:13 | strndup | (void *,size_t) | | xrealloc | 1 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | BIO_gethostbyname | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | Curl_copy_header_value | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | Curl_get_scheme_handler | 0 | @@ -10129,16 +13798,36 @@ signatureMatches | taint.cpp:364:7:364:13 | strdupa | (const char *) | | UI_create_method | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | X509V3_parse_list | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | X509_LOOKUP_meth_new | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __basename | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __gconv_find_shlib | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __gettext | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __hash_string | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __nss_action_parse | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __strdup | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __textdomain | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __tzset_parse_tz | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | __tzstring | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | a2i_IPADDRESS | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | a2i_IPADDRESS_NC | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | a64l | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | charmap_opendir | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | ether_aton | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | getdate | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | inetstr2int | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | last_component | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | opt_path_end | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | opt_progname | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | ossl_lh_strcasehash | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | repertoire_read | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | res_gethostbyname | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | sgetsgent | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | sgetspent | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | strhash | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | uc_script_byname | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | uv__strdup | 0 | | taint.cpp:364:7:364:13 | strdupa | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| taint.cpp:364:7:364:13 | strdupa | (const char *) | | xstrdup | 0 | | taint.cpp:365:7:365:14 | strndupa | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | taint.cpp:365:7:365:14 | strndupa | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | taint.cpp:365:7:365:14 | strndupa | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -10198,9 +13887,16 @@ signatureMatches | taint.cpp:365:7:365:14 | strndupa | (X509_STORE_CTX *,unsigned long) | | X509_STORE_CTX_set_flags | 1 | | taint.cpp:365:7:365:14 | strndupa | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | taint.cpp:365:7:365:14 | strndupa | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | +| taint.cpp:365:7:365:14 | strndupa | (__gconv_step *,size_t) | | __gconv_close_transform | 1 | +| taint.cpp:365:7:365:14 | strndupa | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_lmargin | 1 | +| taint.cpp:365:7:365:14 | strndupa | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_rmargin | 1 | +| taint.cpp:365:7:365:14 | strndupa | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 1 | | taint.cpp:365:7:365:14 | strndupa | (bufq *,size_t) | | Curl_bufq_skip | 1 | | taint.cpp:365:7:365:14 | strndupa | (bufq *,size_t) | | Curl_bufq_unwrite | 1 | | taint.cpp:365:7:365:14 | strndupa | (char *,size_t) | | RAND_file_name | 1 | +| taint.cpp:365:7:365:14 | strndupa | (char *,size_t) | | __getcwd | 1 | +| taint.cpp:365:7:365:14 | strndupa | (char *,size_t) | | __gets_chk | 1 | +| taint.cpp:365:7:365:14 | strndupa | (char *,size_t) | | __getwd_chk | 1 | | taint.cpp:365:7:365:14 | strndupa | (char *,size_t) | | plain_method | 1 | | taint.cpp:365:7:365:14 | strndupa | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | | taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | Curl_getn_scheme_handler | 0 | @@ -10209,13 +13905,31 @@ signatureMatches | taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | Curl_memdup0 | 1 | | taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | OPENSSL_strnlen | 0 | | taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | OPENSSL_strnlen | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | __nss_module_allocate | 0 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | __nss_module_allocate | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | __strndup | 0 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | __strndup | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | charmap_hash | 0 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | charmap_hash | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | locfile_hash | 0 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | locfile_hash | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | mblen | 0 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | mblen | 1 | | taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | uv__strndup | 0 | | taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | uv__strndup | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | xstrndup | 0 | +| taint.cpp:365:7:365:14 | strndupa | (const char *,size_t) | | xstrndup | 1 | | taint.cpp:365:7:365:14 | strndupa | (const uint8_t *,size_t) | | FuzzerTestOneInput | 1 | | taint.cpp:365:7:365:14 | strndupa | (const uint8_t *,size_t) | | nghttp2_hd_huff_encode_count | 1 | | taint.cpp:365:7:365:14 | strndupa | (const uint8_t *,size_t) | | ossl_ed448_pubkey_verify | 1 | | taint.cpp:365:7:365:14 | strndupa | (const void *,size_t) | | Curl_memdup | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const void *,size_t) | | __nis_hash | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const void *,size_t) | | __nss_hash | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const void *,size_t) | | compute_hashval | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const wchar_t *,size_t) | | __wcsnlen_generic | 1 | +| taint.cpp:365:7:365:14 | strndupa | (const wchar_t *,size_t) | | wcswidth | 1 | | taint.cpp:365:7:365:14 | strndupa | (curl_pushheaders *,size_t) | | curl_pushheader_bynum | 1 | +| taint.cpp:365:7:365:14 | strndupa | (dl_find_object_internal *,size_t) | | _dlfo_sort_mappings | 1 | | taint.cpp:365:7:365:14 | strndupa | (dynbuf *,size_t) | | Curl_dyn_init | 1 | | taint.cpp:365:7:365:14 | strndupa | (dynbuf *,size_t) | | Curl_dyn_setlen | 1 | | taint.cpp:365:7:365:14 | strndupa | (dynbuf *,size_t) | | Curl_dyn_tail | 1 | @@ -10224,7 +13938,10 @@ signatureMatches | taint.cpp:365:7:365:14 | strndupa | (dynbuf *,size_t) | | curlx_dyn_tail | 1 | | taint.cpp:365:7:365:14 | strndupa | (dynhds *,size_t) | | Curl_dynhds_getn | 1 | | taint.cpp:365:7:365:14 | strndupa | (h1_req_parser *,size_t) | | Curl_h1_req_parse_init | 1 | +| taint.cpp:365:7:365:14 | strndupa | (hash_table *,unsigned long) | | init_hash | 1 | | taint.cpp:365:7:365:14 | strndupa | (int,size_t) | | ossl_calculate_comp_expansion | 1 | +| taint.cpp:365:7:365:14 | strndupa | (link_map *,size_t) | | _dl_make_tlsdesc_dynamic | 1 | +| taint.cpp:365:7:365:14 | strndupa | (locale_file *,size_t) | | init_locale_data | 1 | | taint.cpp:365:7:365:14 | strndupa | (nghttp2_bufs *,size_t) | | nghttp2_bufs_realloc | 1 | | taint.cpp:365:7:365:14 | strndupa | (nghttp2_frame *,size_t) | | nghttp2_frame_trail_padlen | 1 | | taint.cpp:365:7:365:14 | strndupa | (nghttp2_hd_context *,size_t) | | nghttp2_hd_table_get | 1 | @@ -10241,15 +13958,39 @@ signatureMatches | taint.cpp:365:7:365:14 | strndupa | (nghttp2_session *,size_t) | | nghttp2_session_consume_connection | 1 | | taint.cpp:365:7:365:14 | strndupa | (nghttp2_session *,size_t) | | nghttp2_session_update_recv_connection_window_size | 1 | | taint.cpp:365:7:365:14 | strndupa | (nghttp2_stream *,size_t) | | nghttp2_http_on_data_chunk | 1 | +| taint.cpp:365:7:365:14 | strndupa | (nss_action *,size_t) | | __nss_action_allocate | 1 | +| taint.cpp:365:7:365:14 | strndupa | (pthread_attr_t *,size_t) | | __pthread_attr_setguardsize | 1 | +| taint.cpp:365:7:365:14 | strndupa | (pthread_attr_t *,size_t) | | __pthread_attr_setstacksize | 1 | +| taint.cpp:365:7:365:14 | strndupa | (size_t,size_t) | | __libc_memalign | 1 | +| taint.cpp:365:7:365:14 | strndupa | (size_t,size_t) | | aligned_alloc | 1 | +| taint.cpp:365:7:365:14 | strndupa | (u_long,unsigned long) | | __p_option | 1 | | taint.cpp:365:7:365:14 | strndupa | (uint8_t *,size_t) | | nghttp2_downcase | 1 | | taint.cpp:365:7:365:14 | strndupa | (uint8_t *,size_t) | | ossl_fnv1a_hash | 1 | | taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | JimDefaultAllocator | 1 | +| taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | __arc4random_buf | 1 | +| taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | __libc_realloc | 1 | +| taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | __minimal_realloc | 1 | +| taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | getentropy | 1 | | taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | uv__random_devurandom | 1 | | taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | uv__random_getrandom | 1 | +| taint.cpp:365:7:365:14 | strndupa | (void *,size_t) | | xrealloc | 1 | | taint.cpp:367:6:367:16 | test_strdup | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | _IO_gets | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | __mktemp | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | __nis_default_group | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | __nis_default_owner | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | __xpg_basename | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | ctermid | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | cuserid | 0 | | taint.cpp:367:6:367:16 | test_strdup | (char *) | | defossilize | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | des_setparity | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | dirname | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | getwd | 0 | | taint.cpp:367:6:367:16 | test_strdup | (char *) | | make_uppercase | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | mkdtemp | 0 | | taint.cpp:367:6:367:16 | test_strdup | (char *) | | next_item | 0 | +| taint.cpp:367:6:367:16 | test_strdup | (char *) | | strfry | 0 | | taint.cpp:367:6:367:16 | test_strdup | (char *) | CStringT | CStringT | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | ASN1_tag2bit | 0 | @@ -10269,27 +14010,78 @@ signatureMatches | taint.cpp:379:6:379:17 | test_strndup | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __btowc | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __current_locale_name | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __fdopendir | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __get_errlist | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __get_errname | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __math_invalid_i | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __math_invalidf_i | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __p_class | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __p_rcode | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __p_type | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __pkey_get | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __sigdescr_np | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | __strerrordesc_np | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | _tolower | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | _toupper | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | btowc | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | c_tolower | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | c_toupper | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | curlx_sitouz | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | inet6_option_space | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isalnum | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isalpha | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isblank | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | iscntrl | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isdigit | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isgraph | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | islower | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isprint | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | ispunct | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isspace | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isupper | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | isxdigit | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | ossl_tolower | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | ossl_toupper | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | sigabbrev_np | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | sqlite3_errstr | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | strerrorname_np | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | support_report_failure | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | svcudp_create | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | tls13_alert_code | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | toascii | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | tolower | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | toupper | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | | uabs | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | uv__accept | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | uv_err_name | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | uv_get_osfhandle | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | uv_strerror | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | uv_translate_sys_error | 0 | | taint.cpp:379:6:379:17 | test_strndup | (int) | | zError | 0 | +| taint.cpp:379:6:379:17 | test_strndup | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:387:6:387:16 | test_wcsdup | (wchar_t *) | CStringT | CStringT | 0 | | taint.cpp:397:6:397:17 | test_strdupa | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | _IO_gets | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | __mktemp | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | __nis_default_group | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | __nis_default_owner | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | __xpg_basename | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | ctermid | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | cuserid | 0 | | taint.cpp:397:6:397:17 | test_strdupa | (char *) | | defossilize | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | des_setparity | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | dirname | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | getwd | 0 | | taint.cpp:397:6:397:17 | test_strdupa | (char *) | | make_uppercase | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | mkdtemp | 0 | | taint.cpp:397:6:397:17 | test_strdupa | (char *) | | next_item | 0 | +| taint.cpp:397:6:397:17 | test_strdupa | (char *) | | strfry | 0 | | taint.cpp:397:6:397:17 | test_strdupa | (char *) | CStringT | CStringT | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | ASN1_tag2bit | 0 | @@ -10309,22 +14101,60 @@ signatureMatches | taint.cpp:409:6:409:18 | test_strndupa | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __btowc | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __current_locale_name | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __fdopendir | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __get_errlist | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __get_errname | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __math_invalid_i | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __math_invalidf_i | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __p_class | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __p_rcode | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __p_type | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __pkey_get | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __sigdescr_np | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | __strerrordesc_np | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | _tolower | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | _toupper | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | btowc | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | c_tolower | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | c_toupper | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | curlx_sitouz | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | inet6_option_space | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isalnum | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isalpha | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isblank | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | iscntrl | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isdigit | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isgraph | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | islower | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isprint | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | ispunct | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isspace | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isupper | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | isxdigit | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | ossl_tolower | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | ossl_toupper | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | sigabbrev_np | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | sqlite3_errstr | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | strerrorname_np | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | support_report_failure | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | svcudp_create | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | tls13_alert_code | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | toascii | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | tolower | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | toupper | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | | uabs | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | uv__accept | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | uv_err_name | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | uv_get_osfhandle | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | uv_strerror | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | uv_translate_sys_error | 0 | | taint.cpp:409:6:409:18 | test_strndupa | (int) | | zError | 0 | +| taint.cpp:409:6:409:18 | test_strndupa | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | ASN1_tag2bit | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | ASN1_tag2str | 0 | @@ -10343,22 +14173,60 @@ signatureMatches | taint.cpp:421:2:421:9 | MyClass2 | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __btowc | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __current_locale_name | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __fdopendir | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __get_errlist | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __get_errname | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __math_invalid_i | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __math_invalidf_i | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __p_class | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __p_rcode | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __p_type | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __pkey_get | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __sigdescr_np | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | __strerrordesc_np | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | _tolower | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | _toupper | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | btowc | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | c_tolower | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | c_toupper | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | curlx_sitouz | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | inet6_option_space | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isalnum | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isalpha | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isblank | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | iscntrl | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isdigit | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isgraph | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | islower | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isprint | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | ispunct | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isspace | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isupper | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | isxdigit | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | ossl_tolower | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | ossl_toupper | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | sigabbrev_np | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | sqlite3_errstr | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | strerrorname_np | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | support_report_failure | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | svcudp_create | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | tls13_alert_code | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | toascii | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | tolower | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | toupper | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | | uabs | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | uv__accept | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | uv_err_name | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | uv_get_osfhandle | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | uv_strerror | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | uv_translate_sys_error | 0 | | taint.cpp:421:2:421:9 | MyClass2 | (int) | | zError | 0 | +| taint.cpp:421:2:421:9 | MyClass2 | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | ASN1_STRING_type_new | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | ASN1_tag2bit | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | ASN1_tag2str | 0 | @@ -10377,22 +14245,60 @@ signatureMatches | taint.cpp:422:7:422:15 | setMember | (int) | | X509_TRUST_get0 | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | X509_TRUST_get_by_id | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __btowc | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __current_locale_name | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __fdopendir | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __get_errlist | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __get_errname | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __math_invalid_i | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __math_invalidf_i | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __p_class | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __p_rcode | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __p_type | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __pkey_get | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __sigdescr_np | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | __strerrordesc_np | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | _tolower | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | _toupper | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | btowc | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | c_tolower | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | c_toupper | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | curlx_sitouz | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | evp_pkey_type2name | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | inet6_option_space | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isalnum | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isalpha | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isblank | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | iscntrl | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isdigit | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isgraph | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | islower | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isprint | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | ispunct | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isspace | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isupper | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | isxdigit | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | ossl_cmp_bodytype_to_string | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | ossl_tolower | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | ossl_toupper | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | sigabbrev_np | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | sqlite3_compileoption_get | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | sqlite3_errstr | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | strerrorname_np | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | support_report_failure | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | svcudp_create | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | tls13_alert_code | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | toascii | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | tolower | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | toupper | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | | uabs | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | uv__accept | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | uv_err_name | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | uv_get_osfhandle | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | uv_strerror | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | uv_translate_sys_error | 0 | | taint.cpp:422:7:422:15 | setMember | (int) | | zError | 0 | +| taint.cpp:422:7:422:15 | setMember | (int) | __pthread_cleanup_class | __setdoit | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | BIO_gethostbyname | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | Curl_copy_header_value | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | Curl_get_scheme_handler | 0 | @@ -10405,16 +14311,36 @@ signatureMatches | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | UI_create_method | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | X509V3_parse_list | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | X509_LOOKUP_meth_new | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __basename | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __gconv_find_shlib | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __gettext | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __hash_string | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __nss_action_parse | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __strdup | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __textdomain | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __tzset_parse_tz | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | __tzstring | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | a2i_IPADDRESS | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | a2i_IPADDRESS_NC | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | a64l | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | charmap_opendir | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | ether_aton | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | getdate | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | inetstr2int | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | last_component | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | opt_path_end | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | opt_progname | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | ossl_lh_strcasehash | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | repertoire_read | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | res_gethostbyname | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | sgetsgent | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | sgetspent | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | strhash | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | uc_script_byname | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | uv__strdup | 0 | | taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| taint.cpp:430:2:430:9 | MyClass3 | (const char *) | | xstrdup | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | BIO_gethostbyname | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | Curl_copy_header_value | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | Curl_get_scheme_handler | 0 | @@ -10427,17 +14353,86 @@ signatureMatches | taint.cpp:431:7:431:15 | setString | (const char *) | | UI_create_method | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | X509V3_parse_list | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | X509_LOOKUP_meth_new | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __basename | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __gconv_find_shlib | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __gettext | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __hash_string | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __nss_action_parse | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __strdup | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __textdomain | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __tzset_parse_tz | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | __tzstring | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | a2i_IPADDRESS | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | a2i_IPADDRESS_NC | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | a64l | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | charmap_opendir | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | ether_aton | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | getdate | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | inetstr2int | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | last_component | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | opt_path_end | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | opt_progname | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | ossl_lh_strcasehash | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | repertoire_read | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | res_gethostbyname | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | sgetsgent | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | sgetspent | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | strhash | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | uc_script_byname | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | uv__strdup | 0 | | taint.cpp:431:7:431:15 | setString | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| taint.cpp:431:7:431:15 | setString | (const char *) | | xstrdup | 0 | | taint.cpp:500:5:500:12 | getdelim | (URLGlob **,char *,curl_off_t *,FILE *) | | glob_url | 3 | +| taint.cpp:500:5:500:12 | getdelim | (char *,size_t,int,FILE *) | | __fgets_chk | 2 | +| taint.cpp:500:5:500:12 | getdelim | (char *,size_t,int,FILE *) | | __fgets_chk | 3 | +| taint.cpp:500:5:500:12 | getdelim | (char *,size_t,int,FILE *) | | __fgets_unlocked_chk | 2 | +| taint.cpp:500:5:500:12 | getdelim | (char *,size_t,int,FILE *) | | __fgets_unlocked_chk | 3 | +| taint.cpp:500:5:500:12 | getdelim | (const void *,size_t,size_t,FILE *) | | _IO_fwrite | 3 | +| taint.cpp:500:5:500:12 | getdelim | (void *,size_t,size_t,FILE *) | | _IO_fread | 3 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_default_uflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_feof | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_ferror | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_file_close_mmap | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_file_underflow_mmap | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_ftell | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_getc | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_getwc | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_new_file_underflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_peekc_locked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_str_count | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_str_underflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_sungetc | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_sungetwc | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_wdefault_uflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_wfile_underflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_wfile_underflow_mmap | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_wstr_count | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | _IO_wstr_underflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __fbufsize | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __feof_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __ferror_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __fileno | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __flbf | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __fopen_maybe_mmap | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __fpending | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __ftello | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __fwriting | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __getc_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __getwc_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __uflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __underflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __wuflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | __wunderflow | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | feof_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | ferror_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | fgetc_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | fgetgrent | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | fgetpwent | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | fgetsgent | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | fgetspent | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | getc_unlocked | 0 | +| taint.cpp:502:6:502:18 | test_getdelim | (FILE *) | | getmntent | 0 | | taint.cpp:512:7:512:12 | strtok | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | | taint.cpp:512:7:512:12 | strtok | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string | 1 | | taint.cpp:512:7:512:12 | strtok | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string_X509 | 1 | @@ -10468,6 +14463,7 @@ signatureMatches | taint.cpp:512:7:512:12 | strtok | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:512:7:512:12 | strtok | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:512:7:512:12 | strtok | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:512:7:512:12 | strtok | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:512:7:512:12 | strtok | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:512:7:512:12 | strtok | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:512:7:512:12 | strtok | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -10524,22 +14520,52 @@ signatureMatches | taint.cpp:512:7:512:12 | strtok | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:512:7:512:12 | strtok | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:512:7:512:12 | strtok | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:512:7:512:12 | strtok | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:512:7:512:12 | strtok | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:512:7:512:12 | strtok | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:512:7:512:12 | strtok | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:512:7:512:12 | strtok | (char **,const char *) | | __strsep | 1 | +| taint.cpp:512:7:512:12 | strtok | (char *,const char *) | | xstrdup | 0 | +| taint.cpp:512:7:512:12 | strtok | (char *,const char *) | | xstrdup | 1 | | taint.cpp:512:7:512:12 | strtok | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:512:7:512:12 | strtok | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | Configcmp | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | Curl_timestrcmp | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | advance | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | gzopen | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | ossl_pem_check_suffix | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | ossl_v3_name_cmp | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | step | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:512:7:512:12 | strtok | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:512:7:512:12 | strtok | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:512:7:512:12 | strtok | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:512:7:512:12 | strtok | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:512:7:512:12 | strtok | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:512:7:512:12 | strtok | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -10549,16 +14575,22 @@ signatureMatches | taint.cpp:512:7:512:12 | strtok | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:512:7:512:12 | strtok | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:512:7:512:12 | strtok | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:512:7:512:12 | strtok | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:512:7:512:12 | strtok | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:512:7:512:12 | strtok | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:512:7:512:12 | strtok | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:512:7:512:12 | strtok | (int,const char *) | | gzdopen | 1 | +| taint.cpp:512:7:512:12 | strtok | (int,const char *) | | setlocale | 1 | +| taint.cpp:512:7:512:12 | strtok | (int,const char *) | | xsetlocale | 1 | | taint.cpp:512:7:512:12 | strtok | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:512:7:512:12 | strtok | (long *,const char *) | | secs2ms | 1 | | taint.cpp:512:7:512:12 | strtok | (long *,const char *) | | str2num | 1 | | taint.cpp:512:7:512:12 | strtok | (long *,const char *) | | str2unum | 1 | +| taint.cpp:512:7:512:12 | strtok | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:512:7:512:12 | strtok | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:512:7:512:12 | strtok | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:512:7:512:12 | strtok | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:512:7:512:12 | strtok | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:512:7:512:12 | strtok | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:512:7:512:12 | strtok | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:512:7:512:12 | strtok | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -10566,14 +14598,28 @@ signatureMatches | taint.cpp:512:7:512:12 | strtok | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:512:7:512:12 | strtok | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:512:7:512:12 | strtok | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:512:7:512:12 | strtok | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:512:7:512:12 | strtok | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:512:7:512:12 | strtok | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:512:7:512:12 | strtok | (unsigned long *,const char *) | | set_name_ex | 1 | | taint.cpp:512:7:512:12 | strtok | (uv_pipe_t *,const char *) | | uv_pipe_bind | 1 | | taint.cpp:514:6:514:16 | test_strtok | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | _IO_gets | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | __mktemp | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | __nis_default_group | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | __nis_default_owner | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | __xpg_basename | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | ctermid | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | cuserid | 0 | | taint.cpp:514:6:514:16 | test_strtok | (char *) | | defossilize | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | des_setparity | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | dirname | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | getwd | 0 | | taint.cpp:514:6:514:16 | test_strtok | (char *) | | make_uppercase | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | mkdtemp | 0 | | taint.cpp:514:6:514:16 | test_strtok | (char *) | | next_item | 0 | +| taint.cpp:514:6:514:16 | test_strtok | (char *) | | strfry | 0 | | taint.cpp:514:6:514:16 | test_strtok | (char *) | CStringT | CStringT | 0 | | taint.cpp:523:7:523:13 | _strset | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:523:7:523:13 | _strset | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -10638,6 +14684,19 @@ signatureMatches | taint.cpp:523:7:523:13 | _strset | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:523:7:523:13 | _strset | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:523:7:523:13 | _strset | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:523:7:523:13 | _strset | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:523:7:523:13 | _strset | (FTS *,int) | | fts_children | 1 | | taint.cpp:523:7:523:13 | _strset | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:523:7:523:13 | _strset | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:523:7:523:13 | _strset | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -10765,7 +14824,15 @@ signatureMatches | taint.cpp:523:7:523:13 | _strset | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:523:7:523:13 | _strset | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:523:7:523:13 | _strset | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:523:7:523:13 | _strset | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:523:7:523:13 | _strset | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:523:7:523:13 | _strset | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:523:7:523:13 | _strset | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:523:7:523:13 | _strset | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:523:7:523:13 | _strset | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:523:7:523:13 | _strset | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:523:7:523:13 | _strset | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:523:7:523:13 | _strset | (char **,int) | | addrsort | 1 | | taint.cpp:523:7:523:13 | _strset | (char *,int) | | Curl_str2addr | 0 | | taint.cpp:523:7:523:13 | _strset | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:523:7:523:13 | _strset | (char *,int) | | PEM_proc_type | 0 | @@ -10832,21 +14899,37 @@ signatureMatches | taint.cpp:523:7:523:13 | _strset | (const char *,int) | | Jim_StrDupLen | 1 | | taint.cpp:523:7:523:13 | _strset | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:523:7:523:13 | _strset | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:523:7:523:13 | _strset | (const char *,int) | | ftok | 1 | +| taint.cpp:523:7:523:13 | _strset | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:523:7:523:13 | _strset | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:523:7:523:13 | _strset | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:523:7:523:13 | _strset | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:523:7:523:13 | _strset | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:523:7:523:13 | _strset | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:523:7:523:13 | _strset | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:523:7:523:13 | _strset | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:523:7:523:13 | _strset | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:523:7:523:13 | _strset | (double,int) | | __ldexp | 1 | +| taint.cpp:523:7:523:13 | _strset | (double,int) | | __scalbn | 1 | +| taint.cpp:523:7:523:13 | _strset | (double[],int) | | getloadavg | 1 | | taint.cpp:523:7:523:13 | _strset | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:523:7:523:13 | _strset | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:523:7:523:13 | _strset | (float,int) | | __ldexpf | 1 | +| taint.cpp:523:7:523:13 | _strset | (float,int) | | __scalbnf | 1 | | taint.cpp:523:7:523:13 | _strset | (gzFile,int) | | gzflush | 1 | | taint.cpp:523:7:523:13 | _strset | (gzFile,int) | | gzputc | 1 | | taint.cpp:523:7:523:13 | _strset | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:523:7:523:13 | _strset | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:523:7:523:13 | _strset | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:523:7:523:13 | _strset | (int,int) | | BN_security_bits | 1 | | taint.cpp:523:7:523:13 | _strset | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:523:7:523:13 | _strset | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:523:7:523:13 | _strset | (int,int) | | __isctype | 1 | | taint.cpp:523:7:523:13 | _strset | (int,int) | | acttab_alloc | 1 | +| taint.cpp:523:7:523:13 | _strset | (int,int) | | div | 1 | +| taint.cpp:523:7:523:13 | _strset | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:523:7:523:13 | _strset | (long double,int) | | __ldexpl | 1 | +| taint.cpp:523:7:523:13 | _strset | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:523:7:523:13 | _strset | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:523:7:523:13 | _strset | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:523:7:523:13 | _strset | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -10854,8 +14937,21 @@ signatureMatches | taint.cpp:523:7:523:13 | _strset | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:523:7:523:13 | _strset | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:523:7:523:13 | _strset | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:523:7:523:13 | _strset | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:523:7:523:13 | _strset | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:523:7:523:13 | _strset | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:523:7:523:13 | _strset | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:523:7:523:13 | _strset | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:523:7:523:13 | _strset | (rule *,int) | | Configlist_add | 1 | | taint.cpp:523:7:523:13 | _strset | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:523:7:523:13 | _strset | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:523:7:523:13 | _strset | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:523:7:523:13 | _strset | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:523:7:523:13 | _strset | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:523:7:523:13 | _strset | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -10883,6 +14979,8 @@ signatureMatches | taint.cpp:523:7:523:13 | _strset | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:523:7:523:13 | _strset | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:523:7:523:13 | _strset | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:523:7:523:13 | _strset | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:523:7:523:13 | _strset | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:523:7:523:13 | _strset | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:523:7:523:13 | _strset | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:523:7:523:13 | _strset | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -10891,13 +14989,29 @@ signatureMatches | taint.cpp:523:7:523:13 | _strset | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:523:7:523:13 | _strset | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:523:7:523:13 | _strset | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:523:7:523:13 | _strset | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:523:7:523:13 | _strset | (wchar_t,int) | CStringT | CStringT | 1 | +| taint.cpp:525:6:525:18 | test_strset_1 | (__printf_buffer *,char) | | __printf_buffer_putc_1 | 1 | | taint.cpp:525:6:525:18 | test_strset_1 | (char **,char) | | Curl_str_single | 1 | +| taint.cpp:525:6:525:18 | test_strset_1 | (char **,char) | | __old_strsep_1c | 1 | | taint.cpp:525:6:525:18 | test_strset_1 | (const CStringT &,char) | | operator+ | 1 | | taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | _IO_gets | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | __mktemp | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | __nis_default_group | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | __nis_default_owner | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | __xpg_basename | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | ctermid | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | cuserid | 0 | | taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | defossilize | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | des_setparity | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | dirname | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | getwd | 0 | | taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | make_uppercase | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | mkdtemp | 0 | | taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | next_item | 0 | +| taint.cpp:531:6:531:18 | test_strset_2 | (char *) | | strfry | 0 | | taint.cpp:531:6:531:18 | test_strset_2 | (char *) | CStringT | CStringT | 0 | | taint.cpp:538:7:538:13 | mempcpy | (BIO *,OCSP_REQUEST *,unsigned long) | | OCSP_REQUEST_print | 2 | | taint.cpp:538:7:538:13 | mempcpy | (BIO *,OCSP_RESPONSE *,unsigned long) | | OCSP_RESPONSE_print | 2 | @@ -10941,6 +15055,23 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (EVP_RAND_CTX *,unsigned char *,size_t) | | EVP_RAND_nonce | 2 | | taint.cpp:538:7:538:13 | mempcpy | (FFC_PARAMS *,const unsigned char *,size_t) | | ossl_ffc_params_set_seed | 2 | | taint.cpp:538:7:538:13 | mempcpy | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const char *,size_t) | | _IO_new_do_write | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_default_xsputn | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_default_xsputn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,void *,size_t) | | _IO_default_xsgetn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,void *,size_t) | | _IO_file_xsgetn | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 2 | | taint.cpp:538:7:538:13 | mempcpy | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_aad | 2 | | taint.cpp:538:7:538:13 | mempcpy | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_setiv | 2 | | taint.cpp:538:7:538:13 | mempcpy | (GCM128_CONTEXT *,unsigned char *,size_t) | | CRYPTO_gcm128_tag | 2 | @@ -11034,6 +15165,7 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (SSL_SESSION *,const unsigned char *,size_t) | | SSL_SESSION_set1_master_key | 2 | | taint.cpp:538:7:538:13 | mempcpy | (SSL_SESSION *,const void *,size_t) | | SSL_SESSION_set1_ticket_appdata | 1 | | taint.cpp:538:7:538:13 | mempcpy | (SSL_SESSION *,const void *,size_t) | | SSL_SESSION_set1_ticket_appdata | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (Strtab *,const char *,size_t) | | strtabadd | 2 | | taint.cpp:538:7:538:13 | mempcpy | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_BitUpdate | 1 | | taint.cpp:538:7:538:13 | mempcpy | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_BitUpdate | 2 | | taint.cpp:538:7:538:13 | mempcpy | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_Update | 1 | @@ -11050,6 +15182,15 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_email | 2 | | taint.cpp:538:7:538:13 | mempcpy | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_host | 2 | | taint.cpp:538:7:538:13 | mempcpy | (X509_VERIFY_PARAM *,const unsigned char *,size_t) | | X509_VERIFY_PARAM_set1_ip | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 2 | | taint.cpp:538:7:538:13 | mempcpy | (bufc_pool *,size_t,size_t) | | Curl_bufcp_init | 2 | | taint.cpp:538:7:538:13 | mempcpy | (bufq *,size_t,size_t) | | Curl_bufq_init | 2 | | taint.cpp:538:7:538:13 | mempcpy | (bufref *,const void *,size_t) | | Curl_bufref_memdup | 1 | @@ -11060,6 +15201,9 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (char *,const char *,size_t) | | OPENSSL_strlcat | 2 | | taint.cpp:538:7:538:13 | mempcpy | (char *,const char *,size_t) | | OPENSSL_strlcpy | 2 | | taint.cpp:538:7:538:13 | mempcpy | (char *,const char *,size_t) | | uv__strscpy | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (char *,size_t,size_t) | | __getcwd_chk | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const CTLOG_STORE *,const uint8_t *,size_t) | | CTLOG_STORE_get0_log_by_id | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const EC_KEY *,unsigned char *,size_t) | | ossl_ec_key_simple_priv2oct | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const EVP_MD *,const OSSL_ITEM *,size_t) | | ossl_digest_md_to_nid | 2 | @@ -11073,20 +15217,33 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (const SSL_SESSION *,unsigned char *,size_t) | | SSL_SESSION_get_master_key | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,char **,size_t) | | OSSL_PARAM_construct_utf8_ptr | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const char *,char *,size_t) | | __libc_ns_makecanon | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const char *,char *,size_t) | | __realpath_chk | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,char *,size_t) | | getpass_r | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const char *,char *,size_t) | | ns_makecanon | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,const char *,size_t) | | c_strncasecmp | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const char *,const char *,unsigned long) | | __ngettext | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,unsigned char *,size_t) | | OSSL_PARAM_construct_BN | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const char *,void *,size_t) | | uv__random_readpath | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const charmap_t *,const char *,size_t) | | charmap_find_value | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const sockaddr *,char *,size_t) | | uv_ip_name | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const unsigned char *,size_t,size_t) | | ossl_rand_pool_attach | 2 | | taint.cpp:538:7:538:13 | mempcpy | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 1 | | taint.cpp:538:7:538:13 | mempcpy | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const void *,size_t,size_t) | | support_blob_repeat_allocate | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const_nis_name,char *,size_t) | | nis_domain_of_r | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const_nis_name,char *,size_t) | | nis_leaf_of_r | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (const_nis_name,char *,size_t) | | nis_name_of_r | 2 | | taint.cpp:538:7:538:13 | mempcpy | (curl_mimepart *,const char *,size_t) | | curl_mime_data | 2 | | taint.cpp:538:7:538:13 | mempcpy | (curve448_scalar_t,const unsigned char *,size_t) | | ossl_curve448_scalar_decode_long | 2 | | taint.cpp:538:7:538:13 | mempcpy | (dynbuf *,const void *,size_t) | | Curl_dyn_addn | 1 | @@ -11099,9 +15256,17 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (int *,const char *,size_t) | | Curl_http_decode_status | 2 | | taint.cpp:538:7:538:13 | mempcpy | (int *,int *,size_t) | | EVP_PBE_get | 2 | | taint.cpp:538:7:538:13 | mempcpy | (int,char *,size_t) | | Curl_strerror | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (int,char *,size_t) | | __strerror_r | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (int,char *,size_t) | | __ttyname_r | 2 | | taint.cpp:538:7:538:13 | mempcpy | (int,char *,size_t) | | uv_err_name_r | 2 | | taint.cpp:538:7:538:13 | mempcpy | (int,char *,size_t) | | uv_strerror_r | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (int,const void *,size_t) | | _nl_intern_locale_data | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (int,const void *,size_t) | | _nl_intern_locale_data | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (int,const void *,size_t) | | writeall | 1 | +| taint.cpp:538:7:538:13 | mempcpy | (int,const void *,size_t) | | writeall | 2 | | taint.cpp:538:7:538:13 | mempcpy | (int,int,size_t) | | BrotliEncoderEstimatePeakMemoryUsage | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (int,void *,size_t) | | __readall | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 2 | | taint.cpp:538:7:538:13 | mempcpy | (nghttp2_buf *,uint8_t *,size_t) | | nghttp2_buf_wrap_init | 2 | | taint.cpp:538:7:538:13 | mempcpy | (nghttp2_extension *,nghttp2_origin_entry *,size_t) | | nghttp2_frame_origin_init | 2 | | taint.cpp:538:7:538:13 | mempcpy | (nghttp2_extpri *,const uint8_t *,size_t) | | nghttp2_extpri_parse_priority | 2 | @@ -11112,6 +15277,9 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (nghttp2_session *,int32_t,size_t) | | nghttp2_session_consume | 2 | | taint.cpp:538:7:538:13 | mempcpy | (nghttp2_session *,nghttp2_settings_entry *,size_t) | | nghttp2_session_update_local_settings | 2 | | taint.cpp:538:7:538:13 | mempcpy | (nghttp2_settings *,nghttp2_settings_entry *,size_t) | | nghttp2_frame_unpack_settings_payload | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 2 | | taint.cpp:538:7:538:13 | mempcpy | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 2 | | taint.cpp:538:7:538:13 | mempcpy | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 2 | | taint.cpp:538:7:538:13 | mempcpy | (stack_st_SCT **,const unsigned char **,size_t) | | o2i_SCT_LIST | 2 | @@ -11125,11 +15293,19 @@ signatureMatches | taint.cpp:538:7:538:13 | mempcpy | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | taint.cpp:538:7:538:13 | mempcpy | (unsigned char *,size_t *,size_t) | | ossl_cipher_padblock | 2 | | taint.cpp:538:7:538:13 | mempcpy | (unsigned char *,size_t *,size_t) | | ossl_cipher_unpadblock | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (unsigned int,char *,size_t) | | __initstate | 2 | | taint.cpp:538:7:538:13 | mempcpy | (uv_thread_t *,char *,size_t) | | uv__thread_getname | 2 | | taint.cpp:538:7:538:13 | mempcpy | (uv_thread_t *,char *,size_t) | | uv_thread_getaffinity | 2 | | taint.cpp:538:7:538:13 | mempcpy | (uv_thread_t *,char *,size_t) | | uv_thread_getname | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (void **,size_t,size_t) | | __posix_memalign | 2 | | taint.cpp:538:7:538:13 | mempcpy | (void *,size_t,size_t) | | Curl_hash_str | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (void *,size_t,size_t) | | __libc_reallocarray | 2 | | taint.cpp:538:7:538:13 | mempcpy | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 2 | +| taint.cpp:538:7:538:13 | mempcpy | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 2 | +| taint.cpp:540:6:540:17 | test_mempcpy | (int *) | | rresvport | 0 | | taint.cpp:548:7:548:13 | memccpy | (BIGNUM **,EVP_PKEY *,const unsigned char *,size_t) | | _libssh2_ecdh_gen_k | 3 | | taint.cpp:548:7:548:13 | memccpy | (BIGNUM *,BIGNUM *,const unsigned char **,size_t) | | ossl_decode_der_dsa_sig | 3 | | taint.cpp:548:7:548:13 | memccpy | (BIO *,X509 *,unsigned long,unsigned long) | | X509_print_ex | 3 | @@ -11186,13 +15362,26 @@ signatureMatches | taint.cpp:548:7:548:13 | memccpy | (WPACKET *,size_t,unsigned char **,size_t) | | WPACKET_sub_reserve_bytes__ | 3 | | taint.cpp:548:7:548:13 | memccpy | (WPACKET *,uint64_t,const unsigned char *,size_t) | | ossl_quic_wire_encode_transport_param_bytes | 3 | | taint.cpp:548:7:548:13 | memccpy | (WPACKET *,unsigned char *,size_t,size_t) | | WPACKET_init_static_len | 3 | +| taint.cpp:548:7:548:13 | memccpy | (alloc_buffer *,size_t,size_t,size_t) | | __libc_alloc_buffer_alloc_array | 3 | +| taint.cpp:548:7:548:13 | memccpy | (char *,const wchar_t *,size_t,size_t) | | __wcstombs_chk | 3 | +| taint.cpp:548:7:548:13 | memccpy | (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcat_chk | 3 | +| taint.cpp:548:7:548:13 | memccpy | (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcpy_chk | 3 | | taint.cpp:548:7:548:13 | memccpy | (const ML_DSA_KEY *,int,const uint8_t *,size_t) | | ossl_ml_dsa_mu_init | 3 | | taint.cpp:548:7:548:13 | memccpy | (const VECTOR *,uint32_t,uint8_t *,size_t) | | ossl_ml_dsa_w1_encode | 3 | +| taint.cpp:548:7:548:13 | memccpy | (const char *,const char *,const char *,unsigned long) | | __dngettext | 3 | +| taint.cpp:548:7:548:13 | memccpy | (const char *,u_char *,unsigned char *,size_t) | | __b64_pton | 3 | +| taint.cpp:548:7:548:13 | memccpy | (const nis_error,const char *,char *,size_t) | | nis_sperror_r | 3 | | taint.cpp:548:7:548:13 | memccpy | (const u128[16],uint8_t *,const uint8_t *,size_t) | | ossl_polyval_ghash_hash | 3 | | taint.cpp:548:7:548:13 | memccpy | (const unsigned char *,size_t,unsigned char *,size_t) | | Curl_hexencode | 3 | +| taint.cpp:548:7:548:13 | memccpy | (const void *,size_t,const void *,size_t) | | __memmem | 3 | +| taint.cpp:548:7:548:13 | memccpy | (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize | 3 | +| taint.cpp:548:7:548:13 | memccpy | (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize_clear | 3 | +| taint.cpp:548:7:548:13 | memccpy | (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 3 | | taint.cpp:548:7:548:13 | memccpy | (int *,X509 *,stack_st_X509 *,unsigned long) | | X509_chain_check_suiteb | 3 | | taint.cpp:548:7:548:13 | memccpy | (int,ENGINE *,const unsigned char *,size_t) | | EVP_PKEY_new_raw_private_key | 3 | | taint.cpp:548:7:548:13 | memccpy | (int,ENGINE *,const unsigned char *,size_t) | | EVP_PKEY_new_raw_public_key | 3 | +| taint.cpp:548:7:548:13 | memccpy | (int,char *,size_t,size_t) | | __ttyname_r_chk | 3 | +| taint.cpp:548:7:548:13 | memccpy | (int,const char *,void *,size_t) | | inet_net_pton | 3 | | taint.cpp:548:7:548:13 | memccpy | (int,const regex_t *,char *,size_t) | | jim_regerror | 3 | | taint.cpp:548:7:548:13 | memccpy | (int,const void *,char *,size_t) | | uv_inet_ntop | 3 | | taint.cpp:548:7:548:13 | memccpy | (int,int,size_t,size_t) | | ossl_rand_pool_new | 3 | @@ -11203,8 +15392,10 @@ signatureMatches | taint.cpp:548:7:548:13 | memccpy | (nghttp2_session *,uint8_t,const nghttp2_settings_entry *,size_t) | | nghttp2_session_add_settings | 3 | | taint.cpp:548:7:548:13 | memccpy | (nghttp2_session *,uint8_t,const nghttp2_settings_entry *,size_t) | | nghttp2_submit_settings | 3 | | taint.cpp:548:7:548:13 | memccpy | (nghttp2_settings *,uint8_t,nghttp2_settings_entry *,size_t) | | nghttp2_frame_settings_init | 3 | +| taint.cpp:548:7:548:13 | memccpy | (resolv_context *,const char *,char *,size_t) | | __res_context_hostalias | 3 | | taint.cpp:548:7:548:13 | memccpy | (size_t,size_t,size_t,size_t) | | Curl_multi_handle | 3 | | taint.cpp:548:7:548:13 | memccpy | (u64[2],const u128[16],const u8 *,size_t) | | ossl_gcm_ghash_4bit | 3 | +| taint.cpp:548:7:548:13 | memccpy | (u_long,unsigned long,char *,size_t) | | ns_format_ttl | 3 | | taint.cpp:548:7:548:13 | memccpy | (uint8_t *,size_t,const nghttp2_settings_entry *,size_t) | | nghttp2_pack_settings_payload | 3 | | taint.cpp:548:7:548:13 | memccpy | (uint8_t *,size_t,const nghttp2_settings_entry *,size_t) | | nghttp2_pack_settings_payload2 | 3 | | taint.cpp:548:7:548:13 | memccpy | (unsigned char *,const unsigned char *,const unsigned char *,size_t) | | _libssh2_xor_data | 3 | @@ -11214,9 +15405,16 @@ signatureMatches | taint.cpp:548:7:548:13 | memccpy | (unsigned long *,const unsigned long *,int,unsigned long) | | bn_mul_words | 2 | | taint.cpp:548:7:548:13 | memccpy | (unsigned long *,const unsigned long *,int,unsigned long) | | bn_mul_words | 3 | | taint.cpp:548:7:548:13 | memccpy | (uv_thread_t *,char *,char *,size_t) | | uv_thread_setaffinity | 3 | +| taint.cpp:548:7:548:13 | memccpy | (void *,const void *,int,size_t) | | __memccpy | 0 | +| taint.cpp:548:7:548:13 | memccpy | (void *,const void *,int,size_t) | | __memccpy | 1 | +| taint.cpp:548:7:548:13 | memccpy | (void *,const void *,int,size_t) | | __memccpy | 2 | +| taint.cpp:548:7:548:13 | memccpy | (void *,const void *,int,size_t) | | __memccpy | 3 | | taint.cpp:548:7:548:13 | memccpy | (void *,unsigned char *,size_t *,size_t) | | ossl_ccm_stream_final | 3 | | taint.cpp:548:7:548:13 | memccpy | (void *,unsigned char *,size_t *,size_t) | | ossl_cipher_generic_block_final | 3 | | taint.cpp:548:7:548:13 | memccpy | (void *,unsigned char *,size_t *,size_t) | | ossl_gcm_stream_final | 3 | +| taint.cpp:548:7:548:13 | memccpy | (wchar_t *,const char *,size_t,size_t) | | __mbstowcs_chk | 3 | +| taint.cpp:548:7:548:13 | memccpy | (wchar_t *,const wchar_t *,size_t,size_t) | | __wmemmove_chk | 3 | +| taint.cpp:550:6:550:17 | test_memccpy | (int *) | | rresvport | 0 | | taint.cpp:558:7:558:12 | strcat | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | | taint.cpp:558:7:558:12 | strcat | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string | 1 | | taint.cpp:558:7:558:12 | strcat | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string_X509 | 1 | @@ -11247,6 +15445,7 @@ signatureMatches | taint.cpp:558:7:558:12 | strcat | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:558:7:558:12 | strcat | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:558:7:558:12 | strcat | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:558:7:558:12 | strcat | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:558:7:558:12 | strcat | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:558:7:558:12 | strcat | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:558:7:558:12 | strcat | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -11303,22 +15502,52 @@ signatureMatches | taint.cpp:558:7:558:12 | strcat | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:558:7:558:12 | strcat | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:558:7:558:12 | strcat | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:558:7:558:12 | strcat | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:558:7:558:12 | strcat | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:558:7:558:12 | strcat | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:558:7:558:12 | strcat | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:558:7:558:12 | strcat | (char **,const char *) | | __strsep | 1 | +| taint.cpp:558:7:558:12 | strcat | (char *,const char *) | | xstrdup | 0 | +| taint.cpp:558:7:558:12 | strcat | (char *,const char *) | | xstrdup | 1 | | taint.cpp:558:7:558:12 | strcat | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:558:7:558:12 | strcat | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | Configcmp | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | Curl_timestrcmp | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | advance | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | gzopen | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | ossl_pem_check_suffix | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | ossl_v3_name_cmp | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | step | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:558:7:558:12 | strcat | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:558:7:558:12 | strcat | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:558:7:558:12 | strcat | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:558:7:558:12 | strcat | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:558:7:558:12 | strcat | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:558:7:558:12 | strcat | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -11328,16 +15557,22 @@ signatureMatches | taint.cpp:558:7:558:12 | strcat | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:558:7:558:12 | strcat | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:558:7:558:12 | strcat | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:558:7:558:12 | strcat | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:558:7:558:12 | strcat | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:558:7:558:12 | strcat | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:558:7:558:12 | strcat | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:558:7:558:12 | strcat | (int,const char *) | | gzdopen | 1 | +| taint.cpp:558:7:558:12 | strcat | (int,const char *) | | setlocale | 1 | +| taint.cpp:558:7:558:12 | strcat | (int,const char *) | | xsetlocale | 1 | | taint.cpp:558:7:558:12 | strcat | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:558:7:558:12 | strcat | (long *,const char *) | | secs2ms | 1 | | taint.cpp:558:7:558:12 | strcat | (long *,const char *) | | str2num | 1 | | taint.cpp:558:7:558:12 | strcat | (long *,const char *) | | str2unum | 1 | +| taint.cpp:558:7:558:12 | strcat | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:558:7:558:12 | strcat | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:558:7:558:12 | strcat | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:558:7:558:12 | strcat | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:558:7:558:12 | strcat | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:558:7:558:12 | strcat | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:558:7:558:12 | strcat | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:558:7:558:12 | strcat | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -11345,6 +15580,7 @@ signatureMatches | taint.cpp:558:7:558:12 | strcat | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:558:7:558:12 | strcat | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:558:7:558:12 | strcat | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:558:7:558:12 | strcat | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:558:7:558:12 | strcat | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:558:7:558:12 | strcat | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:558:7:558:12 | strcat | (unsigned long *,const char *) | | set_name_ex | 1 | @@ -11354,9 +15590,12 @@ signatureMatches | taint.cpp:560:6:560:16 | test_strcat | (SSL_CTX *,srpsrvparm *,char *,char *) | | set_up_srp_verifier_file | 3 | | taint.cpp:560:6:560:16 | test_strcat | (SSL_HMAC *,void *,size_t,char *) | | ssl_hmac_init | 3 | | taint.cpp:560:6:560:16 | test_strcat | (SSL_HMAC *,void *,size_t,char *) | | ssl_hmac_old_init | 3 | +| taint.cpp:560:6:560:16 | test_strcat | (_IO_strfile *,char *,int,char *) | | _IO_str_init_static | 3 | | taint.cpp:560:6:560:16 | test_strcat | (action **,e_action,symbol *,char *) | | Action_add | 3 | | taint.cpp:560:6:560:16 | test_strcat | (const char *,const char *,char *,char *) | | uv__idna_toascii | 2 | | taint.cpp:560:6:560:16 | test_strcat | (const char *,const char *,char *,char *) | | uv__idna_toascii | 3 | +| taint.cpp:560:6:560:16 | test_strcat | (int,const u_char *,const unsigned char *,char *) | | inet_nsap_ntoa | 3 | +| taint.cpp:560:6:560:16 | test_strcat | (int,u_int,u_int,char *) | | svcunix_create | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (..(*)(..),..(*)(..),..(*)(..),void *) | | libssh2_session_init_ex | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (BIO *,CMS_ContentInfo **,pem_password_cb *,void *) | | PEM_read_bio_CMS | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (BIO *,DH **,pem_password_cb *,void *) | | PEM_read_bio_DHparams | 3 | @@ -11452,6 +15691,8 @@ signatureMatches | taint.cpp:570:16:570:25 | _mbsncat_l | (char *,size_t,size_t,void *) | | tool_mime_stdin_read | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (char *,size_t,size_t,void *) | | tool_read_cb | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (const OSSL_NAMEMAP *,int,..(*)(..),void *) | | ossl_namemap_doall_names | 3 | +| taint.cpp:570:16:570:25 | _mbsncat_l | (const char *,int,void *,void *) | | support_readdir_r_check | 3 | +| taint.cpp:570:16:570:25 | _mbsncat_l | (hash_table *,const void *,size_t,void *) | | insert_entry | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (int,unsigned long,..(*)(..),void *) | | RSA_generate_key | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (nghttp2_session *,const uint8_t *,size_t,void *) | | nghttp2_session_upgrade | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (sqlite3 *,const char *,..(*)(..),void *) | | sqlite3_recover_init_sql | 3 | @@ -11461,10 +15702,12 @@ signatureMatches | taint.cpp:570:16:570:25 | _mbsncat_l | (sqlite3 *,const char *,int,void *) | | sqlite3_file_control | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (sqlite3 *,int,..(*)(..),void *) | | sqlite3_progress_handler | 3 | | taint.cpp:570:16:570:25 | _mbsncat_l | (sqlite3 *,unsigned int,..(*)(..),void *) | | sqlite3_trace_v2 | 3 | +| taint.cpp:570:16:570:25 | _mbsncat_l | (void *,const char *,const char *,void *) | | _dl_vsym | 3 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (ENGINE *,const char *,long,void *,..(*)(..),int) | | ENGINE_ctrl_cmd | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (ENGINE_TABLE **,ENGINE_CLEANUP_CB *,ENGINE *,const int *,int,int) | | engine_table_register | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (EVP_CIPHER_CTX **,..(*)(..),int,unsigned char *,size_t,int) | | _libssh2_cipher_crypt | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (EVP_CIPHER_CTX *,const EVP_CIPHER *,ENGINE *,const unsigned char *,const unsigned char *,int) | | EVP_CipherInit_ex | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (FILE *,const char *,int,int,int,int) | | _IO_file_open | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (GENERAL_NAME *,const X509V3_EXT_METHOD *,X509V3_CTX *,int,const char *,int) | | a2i_GENERAL_NAME | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (Jim_Interp *,Jim_Obj *,Jim_Obj *const *,int,Jim_Obj **,int) | | Jim_DictKeysVector | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (Jim_Interp *,Jim_Obj *,Jim_Obj *const *,int,Jim_Obj *,int) | | Jim_SetDictKeysVector | 5 | @@ -11489,6 +15732,11 @@ signatureMatches | taint.cpp:572:6:572:20 | test__mbsncat_l | (const X509_ALGOR *,const ASN1_ITEM *,const char *,int,const ASN1_OCTET_STRING *,int) | | PKCS12_item_decrypt_d2i | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const XTS128_CONTEXT *,const unsigned char[16],const unsigned char *,unsigned char *,size_t,int) | | CRYPTO_xts128_encrypt | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const XTS128_CONTEXT *,const unsigned char[16],const unsigned char *,unsigned char *,size_t,int) | | ossl_crypto_xts128gb_encrypt | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const unsigned char *,unsigned char *,long,DES_key_schedule *,DES_cblock *,int) | | DES_cbc_encrypt | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const unsigned char *,unsigned char *,long,DES_key_schedule *,DES_cblock *,int) | | DES_ncbc_encrypt | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const unsigned char *,unsigned char *,long,IDEA_KEY_SCHEDULE *,unsigned char *,int) | | IDEA_cbc_encrypt | 5 | @@ -11498,11 +15746,15 @@ signatureMatches | taint.cpp:572:6:572:20 | test__mbsncat_l | (const unsigned char *,unsigned char *,size_t,const SEED_KEY_SCHEDULE *,unsigned char[16],int) | | SEED_cbc_encrypt | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const void *,const void *,int,int,..(*)(..),int) | | OBJ_bsearch_ex_ | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (const void *,const void *,int,int,..(*)(..),int) | | ossl_bsearch | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (int,char **,gengetopt_args_info *,int,int,int) | | cmdline_parser2 | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (nghttp2_hd_inflater *,nghttp2_hd_nv *,int *,const uint8_t *,size_t,int) | | nghttp2_hd_inflate_hd_nv | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (nghttp2_hd_inflater *,nghttp2_nv *,int *,const uint8_t *,size_t,int) | | nghttp2_hd_inflate_hd2 | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (nghttp2_hd_inflater *,nghttp2_nv *,int *,const uint8_t *,size_t,int) | | nghttp2_hd_inflate_hd3 | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (nghttp2_hd_inflater *,nghttp2_nv *,int *,uint8_t *,size_t,int) | | nghttp2_hd_inflate_hd | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 5 | +| taint.cpp:572:6:572:20 | test__mbsncat_l | (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 5 | | taint.cpp:572:6:572:20 | test__mbsncat_l | (unsigned char *,int,const unsigned char *,int,const unsigned char *,int) | | RSA_padding_add_PKCS1_OAEP | 5 | | taint.cpp:589:7:589:12 | strsep | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | | taint.cpp:589:7:589:12 | strsep | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string | 1 | @@ -11534,6 +15786,7 @@ signatureMatches | taint.cpp:589:7:589:12 | strsep | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:589:7:589:12 | strsep | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:589:7:589:12 | strsep | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:589:7:589:12 | strsep | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:589:7:589:12 | strsep | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:589:7:589:12 | strsep | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:589:7:589:12 | strsep | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -11590,23 +15843,53 @@ signatureMatches | taint.cpp:589:7:589:12 | strsep | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:589:7:589:12 | strsep | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:589:7:589:12 | strsep | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:589:7:589:12 | strsep | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:589:7:589:12 | strsep | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:589:7:589:12 | strsep | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:589:7:589:12 | strsep | (char **,const char *) | | Curl_setstropt | 0 | | taint.cpp:589:7:589:12 | strsep | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:589:7:589:12 | strsep | (char **,const char *) | | __strsep | 0 | +| taint.cpp:589:7:589:12 | strsep | (char **,const char *) | | __strsep | 1 | +| taint.cpp:589:7:589:12 | strsep | (char *,const char *) | | xstrdup | 1 | | taint.cpp:589:7:589:12 | strsep | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:589:7:589:12 | strsep | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | Configcmp | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | Curl_timestrcmp | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | advance | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | gzopen | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | ossl_pem_check_suffix | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | ossl_v3_name_cmp | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | step | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:589:7:589:12 | strsep | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:589:7:589:12 | strsep | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:589:7:589:12 | strsep | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:589:7:589:12 | strsep | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:589:7:589:12 | strsep | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:589:7:589:12 | strsep | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -11616,16 +15899,22 @@ signatureMatches | taint.cpp:589:7:589:12 | strsep | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:589:7:589:12 | strsep | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:589:7:589:12 | strsep | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:589:7:589:12 | strsep | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:589:7:589:12 | strsep | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:589:7:589:12 | strsep | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:589:7:589:12 | strsep | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:589:7:589:12 | strsep | (int,const char *) | | gzdopen | 1 | +| taint.cpp:589:7:589:12 | strsep | (int,const char *) | | setlocale | 1 | +| taint.cpp:589:7:589:12 | strsep | (int,const char *) | | xsetlocale | 1 | | taint.cpp:589:7:589:12 | strsep | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:589:7:589:12 | strsep | (long *,const char *) | | secs2ms | 1 | | taint.cpp:589:7:589:12 | strsep | (long *,const char *) | | str2num | 1 | | taint.cpp:589:7:589:12 | strsep | (long *,const char *) | | str2unum | 1 | +| taint.cpp:589:7:589:12 | strsep | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:589:7:589:12 | strsep | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:589:7:589:12 | strsep | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:589:7:589:12 | strsep | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:589:7:589:12 | strsep | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:589:7:589:12 | strsep | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:589:7:589:12 | strsep | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:589:7:589:12 | strsep | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -11633,16 +15922,32 @@ signatureMatches | taint.cpp:589:7:589:12 | strsep | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:589:7:589:12 | strsep | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:589:7:589:12 | strsep | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:589:7:589:12 | strsep | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:589:7:589:12 | strsep | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:589:7:589:12 | strsep | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:589:7:589:12 | strsep | (unsigned long *,const char *) | | set_name_ex | 1 | | taint.cpp:589:7:589:12 | strsep | (uv_pipe_t *,const char *) | | uv_pipe_bind | 1 | | taint.cpp:591:6:591:16 | test_strsep | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | _IO_gets | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | __mktemp | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | __nis_default_group | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | __nis_default_owner | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | __xpg_basename | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | ctermid | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | cuserid | 0 | | taint.cpp:591:6:591:16 | test_strsep | (char *) | | defossilize | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | des_setparity | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | dirname | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | getwd | 0 | | taint.cpp:591:6:591:16 | test_strsep | (char *) | | make_uppercase | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | mkdtemp | 0 | | taint.cpp:591:6:591:16 | test_strsep | (char *) | | next_item | 0 | +| taint.cpp:591:6:591:16 | test_strsep | (char *) | | strfry | 0 | | taint.cpp:591:6:591:16 | test_strsep | (char *) | CStringT | CStringT | 0 | | taint.cpp:602:7:602:13 | _strinc | (..(*)(..),void *) | | OSSL_STORE_do_all_loaders | 1 | +| taint.cpp:602:7:602:13 | _strinc | (..(*)(..),void *) | | _dlerror_run | 1 | +| taint.cpp:602:7:602:13 | _strinc | (..(*)(..),void *) | __pthread_cleanup_class | __pthread_cleanup_class | 1 | | taint.cpp:602:7:602:13 | _strinc | (ASN1_SCTX *,void *) | | ASN1_SCTX_set_app_data | 1 | | taint.cpp:602:7:602:13 | _strinc | (BIO *,void *) | | BIO_set_data | 1 | | taint.cpp:602:7:602:13 | _strinc | (CONF_IMODULE *,void *) | | CONF_imodule_set_usr_data | 1 | @@ -11687,18 +15992,28 @@ signatureMatches | taint.cpp:602:7:602:13 | _strinc | (const OSSL_PARAM[],void *) | | ossl_store_handle_load_result | 1 | | taint.cpp:602:7:602:13 | _strinc | (const char *,void *) | | collect_names | 0 | | taint.cpp:602:7:602:13 | _strinc | (const char *,void *) | | collect_names | 1 | +| taint.cpp:602:7:602:13 | _strinc | (const md5_ctx *,void *) | | __md5_read_ctx | 1 | +| taint.cpp:602:7:602:13 | _strinc | (const void *,void *) | | inet6_rth_reverse | 1 | | taint.cpp:602:7:602:13 | _strinc | (int,void *) | | OSSL_STORE_INFO_new | 1 | | taint.cpp:602:7:602:13 | _strinc | (int,void *) | | sqlite3_randomness | 1 | +| taint.cpp:602:7:602:13 | _strinc | (md5_ctx *,void *) | | __md5_finish_ctx | 1 | | taint.cpp:602:7:602:13 | _strinc | (nghttp2_queue *,void *) | | nghttp2_queue_push | 1 | | taint.cpp:602:7:602:13 | _strinc | (nghttp2_session *,void *) | | nghttp2_session_set_user_data | 1 | +| taint.cpp:602:7:602:13 | _strinc | (obstack *,void *) | | _obstack_allocated_p | 1 | +| taint.cpp:602:7:602:13 | _strinc | (obstack *,void *) | | obstack_free | 1 | +| taint.cpp:602:7:602:13 | _strinc | (pthread_attr_t *,void *) | | __pthread_attr_setstackaddr | 1 | +| taint.cpp:602:7:602:13 | _strinc | (tunable_id_t,void *) | | __tunable_get_default | 1 | | taint.cpp:602:7:602:13 | _strinc | (unsigned char *,void *) | | pitem_new | 1 | | taint.cpp:602:7:602:13 | _strinc | (uv_handle_t *,void *) | | uv_handle_set_data | 1 | | taint.cpp:602:7:602:13 | _strinc | (uv_key_t *,void *) | | uv_key_set | 1 | | taint.cpp:602:7:602:13 | _strinc | (uv_loop_t *,void *) | | uv_loop_set_data | 1 | | taint.cpp:602:7:602:13 | _strinc | (uv_req_t *,void *) | | uv_req_set_data | 1 | +| taint.cpp:602:7:602:13 | _strinc | (void *,void *) | | insque | 1 | | taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | Curl_read16_be | 0 | | taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | Curl_read16_le | 0 | | taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | Curl_read32_le | 0 | +| taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | _getlong | 0 | +| taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | _getshort | 0 | | taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | _libssh2_ntohu32 | 0 | | taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | _libssh2_ntohu64 | 0 | | taint.cpp:603:16:603:22 | _mbsinc | (const unsigned char *) | | ossl_quic_vlint_decode_unchecked | 0 | @@ -11708,6 +16023,13 @@ signatureMatches | taint.cpp:604:16:604:22 | _strdec | (RIPEMD160_CTX *,const unsigned char *) | | RIPEMD160_Transform | 1 | | taint.cpp:604:16:604:22 | _strdec | (SM3_CTX *,const unsigned char *) | | ossl_sm3_transform | 1 | | taint.cpp:604:16:604:22 | _strdec | (TLS_RL_RECORD *,const unsigned char *) | | ossl_tls_rl_record_set_seq_num | 1 | +| taint.cpp:604:16:604:22 | _strdec | (const u_char *,const unsigned char *) | | ns_get16 | 1 | +| taint.cpp:604:16:604:22 | _strdec | (const u_char *,const unsigned char *) | | ns_get32 | 1 | +| taint.cpp:604:16:604:22 | _strdec | (const unsigned char **,const unsigned char *) | | ___ns_name_skip | 1 | +| taint.cpp:604:16:604:22 | _strdec | (const unsigned char *,const unsigned char *) | | ___dn_skipname | 0 | +| taint.cpp:604:16:604:22 | _strdec | (const unsigned char *,const unsigned char *) | | ___dn_skipname | 1 | +| taint.cpp:604:16:604:22 | _strdec | (const unsigned char *,const unsigned char *) | | __ns_name_length_uncompressed | 0 | +| taint.cpp:604:16:604:22 | _strdec | (const unsigned char *,const unsigned char *) | | __ns_name_length_uncompressed | 1 | | taint.cpp:606:6:606:17 | test__strinc | (BIO *,const EVP_PKEY *,int,pem_password_cb *,void *) | | i2b_PVK_bio | 4 | | taint.cpp:606:6:606:17 | test__strinc | (BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *) | | BrotliDecoderSetMetadataCallbacks | 4 | | taint.cpp:606:6:606:17 | test__strinc | (EVP_CIPHER_INFO *,unsigned char *,long *,pem_password_cb *,void *) | | PEM_do_header | 4 | @@ -11717,6 +16039,7 @@ signatureMatches | taint.cpp:606:6:606:17 | test__strinc | (char *,size_t,size_t *,const OSSL_PARAM[],void *) | | ossl_pw_passphrase_callback_dec | 4 | | taint.cpp:606:6:606:17 | test__strinc | (char *,size_t,size_t *,const OSSL_PARAM[],void *) | | ossl_pw_passphrase_callback_enc | 4 | | taint.cpp:606:6:606:17 | test__strinc | (const BIGNUM *,int,..(*)(..),BN_CTX *,void *) | | BN_is_prime | 4 | +| taint.cpp:606:6:606:17 | test__strinc | (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 4 | | taint.cpp:606:6:606:17 | test__strinc | (const char *,const UI_METHOD *,void *,OSSL_STORE_post_process_info_fn,void *) | | OSSL_STORE_open | 4 | | taint.cpp:606:6:606:17 | test__strinc | (const char *,int,int,..(*)(..),void *) | | CONF_parse_list | 4 | | taint.cpp:606:6:606:17 | test__strinc | (nghttp2_extension *,uint8_t,uint8_t,int32_t,void *) | | nghttp2_frame_extension_init | 4 | @@ -11727,8 +16050,11 @@ signatureMatches | taint.cpp:616:6:616:17 | test__mbsinc | (SSL_CTX *,srpsrvparm *,char *,char *) | | set_up_srp_verifier_file | 3 | | taint.cpp:616:6:616:17 | test__mbsinc | (SSL_HMAC *,void *,size_t,char *) | | ssl_hmac_init | 3 | | taint.cpp:616:6:616:17 | test__mbsinc | (SSL_HMAC *,void *,size_t,char *) | | ssl_hmac_old_init | 3 | +| taint.cpp:616:6:616:17 | test__mbsinc | (_IO_strfile *,char *,int,char *) | | _IO_str_init_static | 3 | | taint.cpp:616:6:616:17 | test__mbsinc | (action **,e_action,symbol *,char *) | | Action_add | 3 | | taint.cpp:616:6:616:17 | test__mbsinc | (const char *,const char *,char *,char *) | | uv__idna_toascii | 3 | +| taint.cpp:616:6:616:17 | test__mbsinc | (int,const u_char *,const unsigned char *,char *) | | inet_nsap_ntoa | 3 | +| taint.cpp:616:6:616:17 | test__mbsinc | (int,u_int,u_int,char *) | | svcunix_create | 3 | | taint.cpp:626:6:626:17 | test__strdec | (BIO *,const BIGNUM *,const char *,int,unsigned char *) | | print_bignum_var | 4 | | taint.cpp:626:6:626:17 | test__strdec | (OSSL_LIB_CTX *,const char *,const QUIC_PKT_HDR *,const QUIC_CONN_ID *,unsigned char *) | | ossl_quic_calculate_retry_integrity_tag | 4 | | taint.cpp:626:6:626:17 | test__strdec | (QUIC_HDR_PROTECTOR *,const unsigned char *,size_t,unsigned char *,unsigned char *) | | ossl_quic_hdr_protector_decrypt_fields | 3 | @@ -11747,16 +16073,36 @@ signatureMatches | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | UI_create_method | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | X509V3_parse_list | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | X509_LOOKUP_meth_new | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __basename | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __gconv_find_shlib | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __gettext | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __hash_string | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __nss_action_parse | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __strdup | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __textdomain | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __tzset_parse_tz | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | __tzstring | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | a2i_IPADDRESS | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | a2i_IPADDRESS_NC | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | a64l | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | charmap_opendir | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | ether_aton | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | getdate | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | inetstr2int | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | last_component | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | opt_path_end | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | opt_progname | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | ossl_lh_strcasehash | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | repertoire_read | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | res_gethostbyname | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | sgetsgent | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | sgetspent | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | strhash | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | uc_script_byname | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | uv__strdup | 0 | | taint.cpp:645:14:645:22 | _strnextc | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| taint.cpp:645:14:645:22 | _strnextc | (const char *) | | xstrdup | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | BIO_gethostbyname | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | Curl_copy_header_value | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | Curl_get_scheme_handler | 0 | @@ -11769,34 +16115,90 @@ signatureMatches | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | UI_create_method | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | X509V3_parse_list | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | X509_LOOKUP_meth_new | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __basename | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __gconv_find_shlib | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __gettext | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __hash_string | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __nss_action_parse | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __strdup | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __textdomain | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __tzset_parse_tz | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | __tzstring | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | a2i_IPADDRESS | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | a2i_IPADDRESS_NC | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | a64l | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | charmap_opendir | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | ether_aton | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | getdate | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | inetstr2int | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | last_component | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | new_glibc_hwcaps_subdirectory | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | opt_path_end | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | opt_progname | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | ossl_lh_strcasehash | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | repertoire_read | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | res_gethostbyname | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | sgetsgent | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | sgetspent | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | strhash | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | uc_script_byname | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | uv__strdup | 0 | | taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | uv_wtf8_length_as_utf16 | 0 | +| taint.cpp:647:6:647:19 | test__strnextc | (const char *) | | xstrdup | 0 | | taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | _IO_gets | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | __mktemp | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | __nis_default_group | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | __nis_default_owner | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | __xpg_basename | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | ctermid | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | cuserid | 0 | | taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | defossilize | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | des_setparity | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | dirname | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | getwd | 0 | | taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | make_uppercase | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | mkdtemp | 0 | | taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | next_item | 0 | +| taint.cpp:665:6:665:25 | test_no_const_member | (char *) | | strfry | 0 | | taint.cpp:665:6:665:25 | test_no_const_member | (char *) | CStringT | CStringT | 0 | | taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | _IO_gets | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | __mktemp | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | __nis_default_group | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | __nis_default_owner | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | __xpg_basename | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | ctermid | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | cuserid | 0 | | taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | defossilize | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | des_setparity | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | dirname | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | getwd | 0 | | taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | make_uppercase | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | mkdtemp | 0 | | taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | next_item | 0 | +| taint.cpp:677:6:677:27 | test_with_const_member | (char *) | | strfry | 0 | | taint.cpp:677:6:677:27 | test_with_const_member | (char *) | CStringT | CStringT | 0 | | taint.cpp:683:6:683:20 | argument_source | (void *) | | Curl_cpool_upkeep | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | __dlclose | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | __libc_dlclose | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | __libc_free | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | __malloc_usable_size | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | _dl_allocate_tls | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | _dl_close | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | malloc_usable_size | 0 | | taint.cpp:683:6:683:20 | argument_source | (void *) | | ossl_kdf_data_new | 0 | +| taint.cpp:683:6:683:20 | argument_source | (void *) | | support_shared_free | 0 | | taint.cpp:707:8:707:14 | strncpy | (BIO *,OCSP_REQUEST *,unsigned long) | | OCSP_REQUEST_print | 2 | | taint.cpp:707:8:707:14 | strncpy | (BIO *,OCSP_RESPONSE *,unsigned long) | | OCSP_RESPONSE_print | 2 | | taint.cpp:707:8:707:14 | strncpy | (BIO *,X509 *,unsigned long) | | ossl_x509_print_ex_brief | 2 | | taint.cpp:707:8:707:14 | strncpy | (BIO *,X509_CRL *,unsigned long) | | X509_CRL_print_ex | 2 | | taint.cpp:707:8:707:14 | strncpy | (BIO *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex | 2 | | taint.cpp:707:8:707:14 | strncpy | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| taint.cpp:707:8:707:14 | strncpy | (const char *,const char *,unsigned long) | | __ngettext | 1 | +| taint.cpp:707:8:707:14 | strncpy | (const char *,const char *,unsigned long) | | __ngettext | 2 | | taint.cpp:707:8:707:14 | strncpy | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | taint.cpp:709:6:709:17 | test_strncpy | (ARGS *,char *) | | chopup_args | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (BIO *,char *) | | BIO_set_callback_arg | 1 | @@ -11804,8 +16206,19 @@ signatureMatches | taint.cpp:709:6:709:17 | test_strncpy | (SRP_VBASE *,char *) | | SRP_VBASE_get_by_user | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (SSL_CTX *,char *) | | SSL_CTX_set_srp_password | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (SSL_CTX *,char *) | | SSL_CTX_set_srp_username | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (XDR *,char *) | | xdr_char | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (char *,char *) | | passwd2des_internal | 0 | +| taint.cpp:709:6:709:17 | test_strncpy | (char *,char *) | | passwd2des_internal | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (char *,char *) | | xdecrypt | 0 | +| taint.cpp:709:6:709:17 | test_strncpy | (char *,char *) | | xdecrypt | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (char *,char *) | | xencrypt | 0 | +| taint.cpp:709:6:709:17 | test_strncpy | (char *,char *) | | xencrypt | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (const char *,char *) | | __old_realpath | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (const char *,char *) | | __realpath | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (const char *,char *) | | sha1sum_file | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (const char *,char *) | | sha3sum_file | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (const ether_addr *,char *) | | ether_ntoa_r | 1 | +| taint.cpp:709:6:709:17 | test_strncpy | (const tm *,char *) | | __asctime_r | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (curl_slist *,char *) | | Curl_slist_append_nodup | 1 | | taint.cpp:709:6:709:17 | test_strncpy | (unsigned long,char *) | | ERR_error_string | 1 | | taint.cpp:725:10:725:15 | strtol | (ASN1_BIT_STRING *,int,int) | | ASN1_BIT_STRING_set_bit | 2 | @@ -11858,9 +16271,14 @@ signatureMatches | taint.cpp:725:10:725:15 | strtol | (EVP_PKEY_CTX *,const void *,int) | | EVP_PKEY_CTX_set1_id | 2 | | taint.cpp:725:10:725:15 | strtol | (EVP_PKEY_CTX *,int *,int) | | EVP_PKEY_CTX_set0_keygen_info | 2 | | taint.cpp:725:10:725:15 | strtol | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 2 | +| taint.cpp:725:10:725:15 | strtol | (FILE *,_IO_marker *,int) | | _IO_seekmark | 2 | +| taint.cpp:725:10:725:15 | strtol | (FILE *,_IO_marker *,int) | | _IO_seekwmark | 2 | +| taint.cpp:725:10:725:15 | strtol | (FILE *,__FILE *,int) | | fwide | 2 | | taint.cpp:725:10:725:15 | strtol | (FILE *,const DSA *,int) | | DSA_print_fp | 2 | | taint.cpp:725:10:725:15 | strtol | (FILE *,const RSA *,int) | | RSA_print_fp | 2 | +| taint.cpp:725:10:725:15 | strtol | (FILE *,off64_t,int) | | _IO_cookie_seek | 2 | | taint.cpp:725:10:725:15 | strtol | (FILE *,rule *,int) | | RulePrint | 2 | +| taint.cpp:725:10:725:15 | strtol | (FTS *,FTSENT *,int) | | fts_set | 2 | | taint.cpp:725:10:725:15 | strtol | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetCommand | 2 | | taint.cpp:725:10:725:15 | strtol | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetGlobalVariable | 2 | | taint.cpp:725:10:725:15 | strtol | (Jim_Interp *,Jim_Obj *,int) | | Jim_GetVariable | 2 | @@ -11946,8 +16364,12 @@ signatureMatches | taint.cpp:725:10:725:15 | strtol | (X509_STORE_CTX *,X509 *,int) | | ossl_x509_check_cert_time | 2 | | taint.cpp:725:10:725:15 | strtol | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyChars | 2 | | taint.cpp:725:10:725:15 | strtol | (XCHAR *,const XCHAR *,int) | CSimpleStringT | CopyCharsOverlapped | 2 | +| taint.cpp:725:10:725:15 | strtol | (_Float128,_Float128,int) | | __kernel_sinf128 | 2 | +| taint.cpp:725:10:725:15 | strtol | (_Float128,_Float128,int) | | __kernel_tanf128 | 2 | +| taint.cpp:725:10:725:15 | strtol | (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 2 | | taint.cpp:725:10:725:15 | strtol | (action *,FILE *,int) | | PrintAction | 2 | | taint.cpp:725:10:725:15 | strtol | (acttab *,int,int) | | acttab_action | 2 | +| taint.cpp:725:10:725:15 | strtol | (char *,size_t,int) | | __argz_stringify | 2 | | taint.cpp:725:10:725:15 | strtol | (const ASN1_VALUE *,const ASN1_TEMPLATE *,int) | | ossl_asn1_do_adb | 2 | | taint.cpp:725:10:725:15 | strtol | (const BIGNUM *,int[],int) | | BN_GF2m_poly2arr | 2 | | taint.cpp:725:10:725:15 | strtol | (const BIGNUM *,unsigned char *,int) | | BN_bn2binpad | 2 | @@ -11989,14 +16411,26 @@ signatureMatches | taint.cpp:725:10:725:15 | strtol | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_NID | 2 | | taint.cpp:725:10:725:15 | strtol | (const X509_REVOKED *,int,int) | | X509_REVOKED_get_ext_by_critical | 2 | | taint.cpp:725:10:725:15 | strtol | (const X509_SIG *,const char *,int) | | PKCS8_decrypt | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | __strtol | 0 | +| taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | __strtol | 1 | +| taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | __strtol | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | __strtoul | 0 | +| taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | __strtoul | 1 | +| taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | __strtoul | 2 | | taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | idn2_to_ascii_8z | 0 | | taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | idn2_to_ascii_8z | 1 | | taint.cpp:725:10:725:15 | strtol | (const char *,char **,int) | | idn2_to_ascii_8z | 2 | | taint.cpp:725:10:725:15 | strtol | (const char *,const OSSL_PARAM *,int) | | print_param_types | 2 | | taint.cpp:725:10:725:15 | strtol | (const char *,const char *,int) | | CRYPTO_strdup | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,const char *,int) | | __dcgettext | 2 | | taint.cpp:725:10:725:15 | strtol | (const char *,const char *,int) | | sqlite3_strnicmp | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,int,int) | | __old_strpbrk_c2 | 2 | | taint.cpp:725:10:725:15 | strtol | (const char *,long *,int) | | Jim_StringToWide | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 2 | | taint.cpp:725:10:725:15 | strtol | (const char *,sqlite3_filename,int) | | sqlite3_uri_key | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,void *,int) | | support_readdir_check | 2 | +| taint.cpp:725:10:725:15 | strtol | (const char *,wordexp_t *,int) | | wordexp | 2 | +| taint.cpp:725:10:725:15 | strtol | (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 2 | | taint.cpp:725:10:725:15 | strtol | (const stack_st_X509_ATTRIBUTE *,const ASN1_OBJECT *,int) | | X509at_get_attr_by_OBJ | 2 | | taint.cpp:725:10:725:15 | strtol | (const stack_st_X509_ATTRIBUTE *,int,int) | | X509at_get_attr_by_NID | 2 | | taint.cpp:725:10:725:15 | strtol | (const stack_st_X509_EXTENSION *,const ASN1_OBJECT *,int) | | X509v3_get_ext_by_OBJ | 2 | @@ -12006,16 +16440,32 @@ signatureMatches | taint.cpp:725:10:725:15 | strtol | (const unsigned char **,unsigned int,int) | | ossl_b2i_DSA_after_header | 2 | | taint.cpp:725:10:725:15 | strtol | (const unsigned char **,unsigned int,int) | | ossl_b2i_RSA_after_header | 2 | | taint.cpp:725:10:725:15 | strtol | (const void *,const void *,int) | | ossl_is_partially_overlapping | 2 | +| taint.cpp:725:10:725:15 | strtol | (const void *,socklen_t,int) | | res_gethostbyaddr | 2 | +| taint.cpp:725:10:725:15 | strtol | (const wchar_t *,wchar_t **,int) | | __wcstol | 2 | +| taint.cpp:725:10:725:15 | strtol | (const wchar_t *,wchar_t **,int) | | __wcstoul | 2 | | taint.cpp:725:10:725:15 | strtol | (curl_mimepart *,curl_mime *,int) | | Curl_mime_set_subparts | 2 | | taint.cpp:725:10:725:15 | strtol | (curl_mimepart *,curl_slist *,int) | | curl_mime_headers | 2 | +| taint.cpp:725:10:725:15 | strtol | (database_dyn *,size_t,int) | | mempool_alloc | 2 | +| taint.cpp:725:10:725:15 | strtol | (database_dyn *,time_t,int) | | prune_cache | 2 | +| taint.cpp:725:10:725:15 | strtol | (double,double,int) | | __kernel_standard | 2 | +| taint.cpp:725:10:725:15 | strtol | (float,float,int) | | __kernel_standard_f | 2 | +| taint.cpp:725:10:725:15 | strtol | (gconv_spec *,__gconv_t *,int) | | __gconv_open | 2 | | taint.cpp:725:10:725:15 | strtol | (gzFile,char *,int) | | gzgets | 2 | | taint.cpp:725:10:725:15 | strtol | (gzFile,int,int) | | gzsetparams | 2 | | taint.cpp:725:10:725:15 | strtol | (gzFile,off64_t,int) | | gzseek64 | 2 | | taint.cpp:725:10:725:15 | strtol | (gzFile,off_t,int) | | gzseek | 2 | +| taint.cpp:725:10:725:15 | strtol | (int *,short *,int) | | __lll_lock_elision | 2 | | taint.cpp:725:10:725:15 | strtol | (int,BIO_ADDR *,int) | | BIO_accept_ex | 2 | | taint.cpp:725:10:725:15 | strtol | (int,int,int) | | ASN1_object_size | 2 | | taint.cpp:725:10:725:15 | strtol | (int,int,int) | | EVP_CIPHER_meth_new | 2 | +| taint.cpp:725:10:725:15 | strtol | (long double,long double,int) | | __kernel_sinl | 2 | +| taint.cpp:725:10:725:15 | strtol | (long double,long double,int) | | __kernel_standard_l | 2 | +| taint.cpp:725:10:725:15 | strtol | (long double,long double,int) | | __kernel_tanl | 2 | +| taint.cpp:725:10:725:15 | strtol | (mp_srcptr,int,int) | | __mpn_construct_double | 2 | +| taint.cpp:725:10:725:15 | strtol | (mp_srcptr,int,int) | | __mpn_construct_float | 2 | +| taint.cpp:725:10:725:15 | strtol | (mp_srcptr,int,int) | | __mpn_construct_float128 | 2 | | taint.cpp:725:10:725:15 | strtol | (regex_t *,const char *,int) | | jim_regcomp | 2 | +| taint.cpp:725:10:725:15 | strtol | (requestlist *,requestlist *,int) | | __aio_remove_request | 2 | | taint.cpp:725:10:725:15 | strtol | (sqlite3 *,const char *,int) | | sqlite3_overload_function | 2 | | taint.cpp:725:10:725:15 | strtol | (sqlite3 *,int,int) | | sqlite3_limit | 2 | | taint.cpp:725:10:725:15 | strtol | (sqlite3_context *,const char *,int) | | sqlite3_result_error | 2 | @@ -12036,11 +16486,15 @@ signatureMatches | taint.cpp:725:10:725:15 | strtol | (stack_st_X509_ALGOR **,int,int) | | CMS_add_simple_smimecap | 2 | | taint.cpp:725:10:725:15 | strtol | (stack_st_X509_ALGOR *,int,int) | | PKCS7_simple_smimecap | 2 | | taint.cpp:725:10:725:15 | strtol | (stack_st_X509_EXTENSION **,X509_EXTENSION *,int) | | X509v3_add_ext | 2 | +| taint.cpp:725:10:725:15 | strtol | (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 2 | | taint.cpp:725:10:725:15 | strtol | (uint8_t[56],const gf,int) | | gf_serialize | 2 | | taint.cpp:725:10:725:15 | strtol | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 2 | +| taint.cpp:725:10:725:15 | strtol | (unsigned char *,const char *,int) | | data_string | 2 | | taint.cpp:725:10:725:15 | strtol | (unsigned char *,const unsigned char *,int) | | EVP_DecodeBlock | 2 | | taint.cpp:725:10:725:15 | strtol | (unsigned char *,const unsigned char *,int) | | EVP_EncodeBlock | 2 | | taint.cpp:725:10:725:15 | strtol | (unsigned char *,uint64_t,int) | | ossl_i2c_uint64_int | 2 | +| taint.cpp:725:10:725:15 | strtol | (unsigned int,const char *,int) | | _IO_adjust_column | 2 | +| taint.cpp:725:10:725:15 | strtol | (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 2 | | taint.cpp:725:10:725:15 | strtol | (unsigned int,int,int) | | ossl_blob_length | 2 | | taint.cpp:725:10:725:15 | strtol | (unsigned long *,const BIGNUM *,int) | | bn_copy_words | 2 | | taint.cpp:725:10:725:15 | strtol | (unsigned long *,const unsigned long *,int) | | bn_sqr_words | 2 | @@ -12051,27 +16505,51 @@ signatureMatches | taint.cpp:725:10:725:15 | strtol | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start | 2 | | taint.cpp:725:10:725:15 | strtol | (uv_signal_t *,uv_signal_cb,int) | | uv_signal_start_oneshot | 2 | | taint.cpp:725:10:725:15 | strtol | (uv_stream_t *,int,int) | | uv__stream_open | 2 | +| taint.cpp:725:10:725:15 | strtol | (void *,cmsghdr **,int) | | inet6_option_init | 2 | | taint.cpp:725:10:725:15 | strtol | (void *,const char *,int) | | CRYPTO_secure_free | 2 | | taint.cpp:725:10:725:15 | strtol | (void *,curl_off_t,int) | | tool_mime_stdin_seek | 2 | +| taint.cpp:725:10:725:15 | strtol | (void *,socklen_t,int) | | inet6_opt_finish | 2 | | taint.cpp:727:6:727:16 | test_strtol | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | _IO_gets | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | __mktemp | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | __nis_default_group | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | __nis_default_owner | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | __xpg_basename | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | ctermid | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | cuserid | 0 | | taint.cpp:727:6:727:16 | test_strtol | (char *) | | defossilize | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | des_setparity | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | dirname | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | getwd | 0 | | taint.cpp:727:6:727:16 | test_strtol | (char *) | | make_uppercase | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | mkdtemp | 0 | | taint.cpp:727:6:727:16 | test_strtol | (char *) | | next_item | 0 | +| taint.cpp:727:6:727:16 | test_strtol | (char *) | | strfry | 0 | | taint.cpp:727:6:727:16 | test_strtol | (char *) | CStringT | CStringT | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | BrotliEncoderMaxCompressedSize | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | EVP_PKEY_meth_get0 | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | __libc_malloc | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | __libc_valloc | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | _dl_early_allocate | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | curlx_uztosi | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | curlx_uztosz | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | curlx_uztoui | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | curlx_uztoul | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | malloc | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | ossl_get_extension_type | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | ossl_param_bytes_to_blocks | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | ossl_quic_sstream_new | 0 | | taint.cpp:735:7:735:12 | malloc | (size_t) | | ssl_cert_new | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | support_next_to_fault_allocate | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | support_next_to_fault_allocate_before | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | support_stack_alloc | 0 | +| taint.cpp:735:7:735:12 | malloc | (size_t) | | xalloc_sigstack | 0 | | taint.cpp:735:7:735:12 | malloc | (unsigned long) | | BN_num_bits_word | 0 | | taint.cpp:735:7:735:12 | malloc | (unsigned long) | | BUF_MEM_new_ex | 0 | | taint.cpp:735:7:735:12 | malloc | (unsigned long) | | curlx_ultouc | 0 | | taint.cpp:735:7:735:12 | malloc | (unsigned long) | | curlx_ultous | 0 | +| taint.cpp:735:7:735:12 | malloc | (unsigned long) | | next_prime | 0 | | taint.cpp:736:7:736:13 | realloc | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_cert_flags | 1 | | taint.cpp:736:7:736:13 | realloc | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_flags | 1 | | taint.cpp:736:7:736:13 | realloc | (ASN1_PCTX *,unsigned long) | | ASN1_PCTX_set_nm_flags | 1 | @@ -12131,20 +16609,39 @@ signatureMatches | taint.cpp:736:7:736:13 | realloc | (X509_STORE_CTX *,unsigned long) | | X509_STORE_CTX_set_flags | 1 | | taint.cpp:736:7:736:13 | realloc | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_clear_flags | 1 | | taint.cpp:736:7:736:13 | realloc | (X509_VERIFY_PARAM *,unsigned long) | | X509_VERIFY_PARAM_set_flags | 1 | +| taint.cpp:736:7:736:13 | realloc | (__gconv_step *,size_t) | | __gconv_close_transform | 1 | +| taint.cpp:736:7:736:13 | realloc | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_lmargin | 1 | +| taint.cpp:736:7:736:13 | realloc | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_rmargin | 1 | +| taint.cpp:736:7:736:13 | realloc | (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 1 | | taint.cpp:736:7:736:13 | realloc | (bufq *,size_t) | | Curl_bufq_skip | 1 | | taint.cpp:736:7:736:13 | realloc | (bufq *,size_t) | | Curl_bufq_unwrite | 1 | | taint.cpp:736:7:736:13 | realloc | (char *,size_t) | | RAND_file_name | 1 | +| taint.cpp:736:7:736:13 | realloc | (char *,size_t) | | __getcwd | 1 | +| taint.cpp:736:7:736:13 | realloc | (char *,size_t) | | __gets_chk | 1 | +| taint.cpp:736:7:736:13 | realloc | (char *,size_t) | | __getwd_chk | 1 | | taint.cpp:736:7:736:13 | realloc | (char *,size_t) | | plain_method | 1 | | taint.cpp:736:7:736:13 | realloc | (const BIGNUM *,unsigned long) | | BN_mod_word | 1 | | taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | Curl_getn_scheme_handler | 1 | | taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | Curl_memdup0 | 1 | | taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | OPENSSL_strnlen | 1 | +| taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | __nss_module_allocate | 1 | +| taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | __strndup | 1 | +| taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | charmap_hash | 1 | +| taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | locfile_hash | 1 | +| taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | mblen | 1 | | taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | uv__strndup | 1 | +| taint.cpp:736:7:736:13 | realloc | (const char *,size_t) | | xstrndup | 1 | | taint.cpp:736:7:736:13 | realloc | (const uint8_t *,size_t) | | FuzzerTestOneInput | 1 | | taint.cpp:736:7:736:13 | realloc | (const uint8_t *,size_t) | | nghttp2_hd_huff_encode_count | 1 | | taint.cpp:736:7:736:13 | realloc | (const uint8_t *,size_t) | | ossl_ed448_pubkey_verify | 1 | | taint.cpp:736:7:736:13 | realloc | (const void *,size_t) | | Curl_memdup | 1 | +| taint.cpp:736:7:736:13 | realloc | (const void *,size_t) | | __nis_hash | 1 | +| taint.cpp:736:7:736:13 | realloc | (const void *,size_t) | | __nss_hash | 1 | +| taint.cpp:736:7:736:13 | realloc | (const void *,size_t) | | compute_hashval | 1 | +| taint.cpp:736:7:736:13 | realloc | (const wchar_t *,size_t) | | __wcsnlen_generic | 1 | +| taint.cpp:736:7:736:13 | realloc | (const wchar_t *,size_t) | | wcswidth | 1 | | taint.cpp:736:7:736:13 | realloc | (curl_pushheaders *,size_t) | | curl_pushheader_bynum | 1 | +| taint.cpp:736:7:736:13 | realloc | (dl_find_object_internal *,size_t) | | _dlfo_sort_mappings | 1 | | taint.cpp:736:7:736:13 | realloc | (dynbuf *,size_t) | | Curl_dyn_init | 1 | | taint.cpp:736:7:736:13 | realloc | (dynbuf *,size_t) | | Curl_dyn_setlen | 1 | | taint.cpp:736:7:736:13 | realloc | (dynbuf *,size_t) | | Curl_dyn_tail | 1 | @@ -12153,7 +16650,10 @@ signatureMatches | taint.cpp:736:7:736:13 | realloc | (dynbuf *,size_t) | | curlx_dyn_tail | 1 | | taint.cpp:736:7:736:13 | realloc | (dynhds *,size_t) | | Curl_dynhds_getn | 1 | | taint.cpp:736:7:736:13 | realloc | (h1_req_parser *,size_t) | | Curl_h1_req_parse_init | 1 | +| taint.cpp:736:7:736:13 | realloc | (hash_table *,unsigned long) | | init_hash | 1 | | taint.cpp:736:7:736:13 | realloc | (int,size_t) | | ossl_calculate_comp_expansion | 1 | +| taint.cpp:736:7:736:13 | realloc | (link_map *,size_t) | | _dl_make_tlsdesc_dynamic | 1 | +| taint.cpp:736:7:736:13 | realloc | (locale_file *,size_t) | | init_locale_data | 1 | | taint.cpp:736:7:736:13 | realloc | (nghttp2_bufs *,size_t) | | nghttp2_bufs_realloc | 1 | | taint.cpp:736:7:736:13 | realloc | (nghttp2_frame *,size_t) | | nghttp2_frame_trail_padlen | 1 | | taint.cpp:736:7:736:13 | realloc | (nghttp2_hd_context *,size_t) | | nghttp2_hd_table_get | 1 | @@ -12170,17 +16670,35 @@ signatureMatches | taint.cpp:736:7:736:13 | realloc | (nghttp2_session *,size_t) | | nghttp2_session_consume_connection | 1 | | taint.cpp:736:7:736:13 | realloc | (nghttp2_session *,size_t) | | nghttp2_session_update_recv_connection_window_size | 1 | | taint.cpp:736:7:736:13 | realloc | (nghttp2_stream *,size_t) | | nghttp2_http_on_data_chunk | 1 | +| taint.cpp:736:7:736:13 | realloc | (nss_action *,size_t) | | __nss_action_allocate | 1 | +| taint.cpp:736:7:736:13 | realloc | (pthread_attr_t *,size_t) | | __pthread_attr_setguardsize | 1 | +| taint.cpp:736:7:736:13 | realloc | (pthread_attr_t *,size_t) | | __pthread_attr_setstacksize | 1 | +| taint.cpp:736:7:736:13 | realloc | (size_t,size_t) | | __libc_memalign | 1 | +| taint.cpp:736:7:736:13 | realloc | (size_t,size_t) | | aligned_alloc | 1 | +| taint.cpp:736:7:736:13 | realloc | (u_long,unsigned long) | | __p_option | 1 | | taint.cpp:736:7:736:13 | realloc | (uint8_t *,size_t) | | nghttp2_downcase | 1 | | taint.cpp:736:7:736:13 | realloc | (uint8_t *,size_t) | | ossl_fnv1a_hash | 1 | | taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | JimDefaultAllocator | 0 | | taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | JimDefaultAllocator | 1 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | __arc4random_buf | 0 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | __arc4random_buf | 1 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | __libc_realloc | 0 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | __libc_realloc | 1 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | __minimal_realloc | 0 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | __minimal_realloc | 1 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | getentropy | 0 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | getentropy | 1 | | taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | uv__random_devurandom | 0 | | taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | uv__random_devurandom | 1 | | taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | uv__random_getrandom | 0 | | taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | uv__random_getrandom | 1 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | xrealloc | 0 | +| taint.cpp:736:7:736:13 | realloc | (void *,size_t) | | xrealloc | 1 | | taint.cpp:758:5:758:11 | sprintf | (CURLSH *,CURLSHoption,...) | | curl_share_setopt | 2 | | taint.cpp:758:5:758:11 | sprintf | (Jim_Interp *,const char *,...) | | Jim_SetResultFormatted | 1 | | taint.cpp:758:5:758:11 | sprintf | (Jim_Interp *,const char *,...) | | Jim_SetResultFormatted | 2 | +| taint.cpp:758:5:758:11 | sprintf | (char **,const char *,...) | | ___asprintf | 1 | +| taint.cpp:758:5:758:11 | sprintf | (char **,const char *,...) | | ___asprintf | 2 | | taint.cpp:758:5:758:11 | sprintf | (curl_httppost **,curl_httppost **,...) | | curl_formadd | 2 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (ARGS *,char *) | | chopup_args | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (BIO *,char *) | | BIO_set_callback_arg | 1 | @@ -12188,8 +16706,19 @@ signatureMatches | taint.cpp:760:6:760:23 | call_sprintf_twice | (SRP_VBASE *,char *) | | SRP_VBASE_get_by_user | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (SSL_CTX *,char *) | | SSL_CTX_set_srp_password | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (SSL_CTX *,char *) | | SSL_CTX_set_srp_username | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (XDR *,char *) | | xdr_char | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (char *,char *) | | passwd2des_internal | 0 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (char *,char *) | | passwd2des_internal | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (char *,char *) | | xdecrypt | 0 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (char *,char *) | | xdecrypt | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (char *,char *) | | xencrypt | 0 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (char *,char *) | | xencrypt | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (const char *,char *) | | __old_realpath | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (const char *,char *) | | __realpath | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (const char *,char *) | | sha1sum_file | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (const char *,char *) | | sha3sum_file | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (const ether_addr *,char *) | | ether_ntoa_r | 1 | +| taint.cpp:760:6:760:23 | call_sprintf_twice | (const tm *,char *) | | __asctime_r | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (curl_slist *,char *) | | Curl_slist_append_nodup | 1 | | taint.cpp:760:6:760:23 | call_sprintf_twice | (unsigned long,char *) | | ERR_error_string | 1 | | taint.cpp:782:7:782:11 | fopen | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | @@ -12222,6 +16751,7 @@ signatureMatches | taint.cpp:782:7:782:11 | fopen | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:782:7:782:11 | fopen | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:782:7:782:11 | fopen | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:782:7:782:11 | fopen | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:782:7:782:11 | fopen | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:782:7:782:11 | fopen | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:782:7:782:11 | fopen | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -12278,7 +16808,12 @@ signatureMatches | taint.cpp:782:7:782:11 | fopen | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:782:7:782:11 | fopen | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:782:7:782:11 | fopen | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:782:7:782:11 | fopen | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:782:7:782:11 | fopen | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:782:7:782:11 | fopen | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:782:7:782:11 | fopen | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:782:7:782:11 | fopen | (char **,const char *) | | __strsep | 1 | +| taint.cpp:782:7:782:11 | fopen | (char *,const char *) | | xstrdup | 1 | | taint.cpp:782:7:782:11 | fopen | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:782:7:782:11 | fopen | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | Configcmp | 0 | @@ -12289,14 +16824,52 @@ signatureMatches | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | OPENSSL_strcasecmp | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __bind_textdomain_codeset | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __bindtextdomain | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __dgettext | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __gconv_compare_alias | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strcasestr | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strcspn_generic | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strcspn_sse42 | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strpbrk_generic | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strpbrk_sse42 | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strspn_generic | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strspn_sse42 | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strstr_generic | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strverscmp | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | _dl_cache_libcmp | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | advance | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | advance | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | c_strcasecmp | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | charmap_aliases | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | charmap_open | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | chroot_canon | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | get_passwd | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | gzopen | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | gzopen | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | gzopen64 | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | iconv_open | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | openssl_fopen | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | ossl_pem_check_suffix | 0 | @@ -12307,6 +16880,14 @@ signatureMatches | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | sqlite3_stricmp | 0 | | taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | step | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | step | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | tempnam | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | xfopen | 0 | +| taint.cpp:782:7:782:11 | fopen | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:782:7:782:11 | fopen | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:782:7:782:11 | fopen | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:782:7:782:11 | fopen | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:782:7:782:11 | fopen | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:782:7:782:11 | fopen | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -12316,16 +16897,22 @@ signatureMatches | taint.cpp:782:7:782:11 | fopen | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:782:7:782:11 | fopen | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:782:7:782:11 | fopen | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:782:7:782:11 | fopen | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:782:7:782:11 | fopen | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:782:7:782:11 | fopen | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:782:7:782:11 | fopen | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:782:7:782:11 | fopen | (int,const char *) | | gzdopen | 1 | +| taint.cpp:782:7:782:11 | fopen | (int,const char *) | | setlocale | 1 | +| taint.cpp:782:7:782:11 | fopen | (int,const char *) | | xsetlocale | 1 | | taint.cpp:782:7:782:11 | fopen | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:782:7:782:11 | fopen | (long *,const char *) | | secs2ms | 1 | | taint.cpp:782:7:782:11 | fopen | (long *,const char *) | | str2num | 1 | | taint.cpp:782:7:782:11 | fopen | (long *,const char *) | | str2unum | 1 | +| taint.cpp:782:7:782:11 | fopen | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:782:7:782:11 | fopen | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:782:7:782:11 | fopen | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:782:7:782:11 | fopen | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:782:7:782:11 | fopen | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:782:7:782:11 | fopen | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:782:7:782:11 | fopen | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:782:7:782:11 | fopen | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -12333,6 +16920,7 @@ signatureMatches | taint.cpp:782:7:782:11 | fopen | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:782:7:782:11 | fopen | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:782:7:782:11 | fopen | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:782:7:782:11 | fopen | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:782:7:782:11 | fopen | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:782:7:782:11 | fopen | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:782:7:782:11 | fopen | (unsigned long *,const char *) | | set_name_ex | 1 | @@ -12346,6 +16934,8 @@ signatureMatches | taint.cpp:783:5:783:11 | fopen_s | (EVP_PKEY_CTX *,const char *,const char *) | | EVP_PKEY_CTX_ctrl_str | 2 | | taint.cpp:783:5:783:11 | fopen_s | (FFC_PARAMS *,const char *,const char *) | | ossl_ffc_set_digest | 1 | | taint.cpp:783:5:783:11 | fopen_s | (FFC_PARAMS *,const char *,const char *) | | ossl_ffc_set_digest | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (FILE *,const char *,const char *) | | _IO_new_proc_open | 1 | +| taint.cpp:783:5:783:11 | fopen_s | (FILE *,const char *,const char *) | | _IO_new_proc_open | 2 | | taint.cpp:783:5:783:11 | fopen_s | (GlobalConfig *,char **,const char *) | | get_url_file_name | 2 | | taint.cpp:783:5:783:11 | fopen_s | (Jim_Interp *,Jim_Obj *,const char *) | | Jim_CompareStringImmediate | 2 | | taint.cpp:783:5:783:11 | fopen_s | (Jim_Interp *,const char *,const char *) | | Jim_SetVariableStrWithStr | 1 | @@ -12374,6 +16964,10 @@ signatureMatches | taint.cpp:783:5:783:11 | fopen_s | (X509V3_EXT_METHOD *,X509V3_CTX *,const char *) | | s2i_ASN1_UTF8STRING | 2 | | taint.cpp:783:5:783:11 | fopen_s | (X509_CRL *,OSSL_LIB_CTX *,const char *) | | ossl_x509_crl_set0_libctx | 2 | | taint.cpp:783:5:783:11 | fopen_s | (X509_REQ *,OSSL_LIB_CTX *,const char *) | | ossl_x509_req_set0_libctx | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (char **,size_t *,const char *) | | envz_remove | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (char[256],const char *,const char *) | | host2netname | 1 | +| taint.cpp:783:5:783:11 | fopen_s | (char[256],const char *,const char *) | | host2netname | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (char[256],const uid_t,const char *) | | user2netname | 2 | | taint.cpp:783:5:783:11 | fopen_s | (const ASN1_ITEM *,OSSL_LIB_CTX *,const char *) | | ASN1_item_new_ex | 2 | | taint.cpp:783:5:783:11 | fopen_s | (const EVP_CIPHER *,OSSL_LIB_CTX *,const char *) | | CMS_AuthEnvelopedData_create_ex | 2 | | taint.cpp:783:5:783:11 | fopen_s | (const EVP_CIPHER *,OSSL_LIB_CTX *,const char *) | | CMS_EnvelopedData_create_ex | 2 | @@ -12391,21 +16985,48 @@ signatureMatches | taint.cpp:783:5:783:11 | fopen_s | (const X509_ALGOR *,OSSL_LIB_CTX *,const char *) | | ossl_ec_key_param_from_x509_algor | 2 | | taint.cpp:783:5:783:11 | fopen_s | (const char **,char **,const char *) | | Curl_get_pathname | 2 | | taint.cpp:783:5:783:11 | fopen_s | (const char *,OSSL_LIB_CTX *,const char *) | | OSSL_CMP_MSG_read | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (const char *,size_t,const char *) | | __argz_next | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (const char *,size_t,const char *) | | argz_next | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (const char *,size_t,const char *) | | envz_entry | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (const char *,size_t,const char *) | | envz_get | 2 | | taint.cpp:783:5:783:11 | fopen_s | (const char *,sqlite3_filename,const char *) | | sqlite3_uri_parameter | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (dl_exception *,const char *,const char *) | | _dl_exception_create | 1 | +| taint.cpp:783:5:783:11 | fopen_s | (dl_exception *,const char *,const char *) | | _dl_exception_create | 2 | | taint.cpp:783:5:783:11 | fopen_s | (dynhds *,const char *,const char *) | | Curl_dynhds_cadd | 1 | | taint.cpp:783:5:783:11 | fopen_s | (dynhds *,const char *,const char *) | | Curl_dynhds_cadd | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (gconv_spec *,const char *,const char *) | | __gconv_create_spec | 1 | +| taint.cpp:783:5:783:11 | fopen_s | (gconv_spec *,const char *,const char *) | | __gconv_create_spec | 2 | | taint.cpp:783:5:783:11 | fopen_s | (gz_statep,int,const char *) | | gz_error | 2 | | taint.cpp:783:5:783:11 | fopen_s | (http_resp **,int,const char *) | | Curl_http_resp_make | 2 | | taint.cpp:783:5:783:11 | fopen_s | (int,OSSL_LIB_CTX *,const char *) | | PKCS12_init_ex | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (int,char *const *,const char *) | | __posix_getopt | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (int,char *const *,const char *) | | getopt | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (int,dl_exception *,const char *) | | _dl_signal_cexception | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (int,dl_exception *,const char *) | | _dl_signal_exception | 2 | | taint.cpp:783:5:783:11 | fopen_s | (int,int,const char *) | | OSSL_CMP_STATUSINFO_new | 2 | | taint.cpp:783:5:783:11 | fopen_s | (lemon *,const char *,const char *) | | file_open | 1 | | taint.cpp:783:5:783:11 | fopen_s | (lemon *,const char *,const char *) | | file_open | 2 | +| taint.cpp:783:5:783:11 | fopen_s | (locale_t,const char *,const char *) | | __translated_number_width | 1 | +| taint.cpp:783:5:783:11 | fopen_s | (locale_t,const char *,const char *) | | __translated_number_width | 2 | | taint.cpp:783:5:783:11 | fopen_s | (sqlite3 *,const char *,const char *) | | sqlite3_recover_init | 1 | | taint.cpp:783:5:783:11 | fopen_s | (sqlite3 *,const char *,const char *) | | sqlite3_recover_init | 2 | | taint.cpp:785:6:785:15 | fopen_test | (char *) | | SRP_VBASE_new | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | _IO_gets | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | __mktemp | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | __nis_default_group | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | __nis_default_owner | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | __nis_default_ttl | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | __xpg_basename | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | ctermid | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | cuserid | 0 | | taint.cpp:785:6:785:15 | fopen_test | (char *) | | defossilize | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | des_setparity | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | dirname | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | getwd | 0 | | taint.cpp:785:6:785:15 | fopen_test | (char *) | | make_uppercase | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | mkdtemp | 0 | | taint.cpp:785:6:785:15 | fopen_test | (char *) | | next_item | 0 | +| taint.cpp:785:6:785:15 | fopen_test | (char *) | | strfry | 0 | | taint.cpp:785:6:785:15 | fopen_test | (char *) | CStringT | CStringT | 0 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (ASN1_STRING *,unsigned int) | | ossl_asn1_string_set_bits_left | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (Curl_easy *,unsigned int) | | Curl_ssl_supports | 1 | @@ -12423,11 +17044,17 @@ signatureMatches | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (WPACKET *,unsigned int) | | WPACKET_set_flags | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (X509_STORE_CTX *,unsigned int) | | X509_STORE_CTX_set_current_reasons | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (X509_VERIFY_PARAM *,unsigned int) | | X509_VERIFY_PARAM_set_hostflags | 1 | +| taint.cpp:801:6:801:26 | SysAllocStringByteLen | (char *,unsigned int) | | __nis_default_access | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (char *,unsigned int) | | utf8_fromunicode | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (char *,unsigned int) | | uv_buf_init | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (const uv__io_t *,unsigned int) | | uv__io_active | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (const uv_buf_t[],unsigned int) | | uv__count_bufs | 1 | +| taint.cpp:801:6:801:26 | SysAllocStringByteLen | (const_nis_name,unsigned int) | | __create_ib_request | 1 | +| taint.cpp:801:6:801:26 | SysAllocStringByteLen | (grouping_iterator *,unsigned int) | | __grouping_iterator_init_none | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (gzFile,unsigned int) | | gzbuffer | 1 | +| taint.cpp:801:6:801:26 | SysAllocStringByteLen | (res_state,unsigned int) | | __res_get_nsaddr | 1 | +| taint.cpp:801:6:801:26 | SysAllocStringByteLen | (unsigned int,unsigned int) | | __gnu_dev_makedev | 1 | +| taint.cpp:801:6:801:26 | SysAllocStringByteLen | (unsigned int,unsigned int) | | gnu_dev_makedev | 1 | | taint.cpp:801:6:801:26 | SysAllocStringByteLen | (z_streamp,unsigned int) | | inflate_fast | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (ASN1_STRING *,unsigned int) | | ossl_asn1_string_set_bits_left | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (Curl_easy *,unsigned int) | | Curl_ssl_supports | 1 | @@ -12445,11 +17072,17 @@ signatureMatches | taint.cpp:802:6:802:22 | SysAllocStringLen | (WPACKET *,unsigned int) | | WPACKET_set_flags | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (X509_STORE_CTX *,unsigned int) | | X509_STORE_CTX_set_current_reasons | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (X509_VERIFY_PARAM *,unsigned int) | | X509_VERIFY_PARAM_set_hostflags | 1 | +| taint.cpp:802:6:802:22 | SysAllocStringLen | (char *,unsigned int) | | __nis_default_access | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (char *,unsigned int) | | utf8_fromunicode | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (char *,unsigned int) | | uv_buf_init | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (const uv__io_t *,unsigned int) | | uv__io_active | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (const uv_buf_t[],unsigned int) | | uv__count_bufs | 1 | +| taint.cpp:802:6:802:22 | SysAllocStringLen | (const_nis_name,unsigned int) | | __create_ib_request | 1 | +| taint.cpp:802:6:802:22 | SysAllocStringLen | (grouping_iterator *,unsigned int) | | __grouping_iterator_init_none | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (gzFile,unsigned int) | | gzbuffer | 1 | +| taint.cpp:802:6:802:22 | SysAllocStringLen | (res_state,unsigned int) | | __res_get_nsaddr | 1 | +| taint.cpp:802:6:802:22 | SysAllocStringLen | (unsigned int,unsigned int) | | __gnu_dev_makedev | 1 | +| taint.cpp:802:6:802:22 | SysAllocStringLen | (unsigned int,unsigned int) | | gnu_dev_makedev | 1 | | taint.cpp:802:6:802:22 | SysAllocStringLen | (z_streamp,unsigned int) | | inflate_fast | 1 | | taint.cpp:815:7:815:12 | strchr | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | taint.cpp:815:7:815:12 | strchr | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | @@ -12514,6 +17147,19 @@ signatureMatches | taint.cpp:815:7:815:12 | strchr | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | taint.cpp:815:7:815:12 | strchr | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | taint.cpp:815:7:815:12 | strchr | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_default_pbackfail | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_fwide | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_init | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_init_internal | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_new_file_attach | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_new_file_overflow | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_old_init | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_sputbackc | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_str_overflow | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | _IO_str_pbackfail | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| taint.cpp:815:7:815:12 | strchr | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| taint.cpp:815:7:815:12 | strchr | (FTS *,int) | | fts_children | 1 | | taint.cpp:815:7:815:12 | strchr | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | taint.cpp:815:7:815:12 | strchr | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | taint.cpp:815:7:815:12 | strchr | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -12641,7 +17287,15 @@ signatureMatches | taint.cpp:815:7:815:12 | strchr | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | taint.cpp:815:7:815:12 | strchr | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | taint.cpp:815:7:815:12 | strchr | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| taint.cpp:815:7:815:12 | strchr | (_Float128,int) | | __ldexpf128 | 1 | +| taint.cpp:815:7:815:12 | strchr | (_Float128,int) | | __scalbnf128 | 1 | +| taint.cpp:815:7:815:12 | strchr | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| taint.cpp:815:7:815:12 | strchr | (__sigset_t *,int) | | __sigdelset_compat | 1 | | taint.cpp:815:7:815:12 | strchr | (acttab *,int) | | acttab_insert | 1 | +| taint.cpp:815:7:815:12 | strchr | (addrinfo *,int) | | support_format_addrinfo | 1 | +| taint.cpp:815:7:815:12 | strchr | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| taint.cpp:815:7:815:12 | strchr | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| taint.cpp:815:7:815:12 | strchr | (char **,int) | | addrsort | 1 | | taint.cpp:815:7:815:12 | strchr | (char *,int) | | Curl_str2addr | 1 | | taint.cpp:815:7:815:12 | strchr | (char *,int) | | PEM_proc_type | 1 | | taint.cpp:815:7:815:12 | strchr | (char,int) | CStringT | CStringT | 1 | @@ -12711,22 +17365,41 @@ signatureMatches | taint.cpp:815:7:815:12 | strchr | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | taint.cpp:815:7:815:12 | strchr | (const char *,int) | | RSA_meth_new | 0 | | taint.cpp:815:7:815:12 | strchr | (const char *,int) | | RSA_meth_new | 1 | +| taint.cpp:815:7:815:12 | strchr | (const char *,int) | | ftok | 0 | +| taint.cpp:815:7:815:12 | strchr | (const char *,int) | | ftok | 1 | +| taint.cpp:815:7:815:12 | strchr | (const char *,int) | | gethostbyname2 | 0 | +| taint.cpp:815:7:815:12 | strchr | (const char *,int) | | gethostbyname2 | 1 | | taint.cpp:815:7:815:12 | strchr | (const char *,int) | | parse_yesno | 0 | | taint.cpp:815:7:815:12 | strchr | (const char *,int) | | parse_yesno | 1 | +| taint.cpp:815:7:815:12 | strchr | (const char *,int) | | res_gethostbyname2 | 0 | +| taint.cpp:815:7:815:12 | strchr | (const char *,int) | | res_gethostbyname2 | 1 | | taint.cpp:815:7:815:12 | strchr | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | taint.cpp:815:7:815:12 | strchr | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | taint.cpp:815:7:815:12 | strchr | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | taint.cpp:815:7:815:12 | strchr | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | taint.cpp:815:7:815:12 | strchr | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| taint.cpp:815:7:815:12 | strchr | (const void *,int) | | inet6_rth_getaddr | 1 | +| taint.cpp:815:7:815:12 | strchr | (double,int) | | __ldexp | 1 | +| taint.cpp:815:7:815:12 | strchr | (double,int) | | __scalbn | 1 | +| taint.cpp:815:7:815:12 | strchr | (double[],int) | | getloadavg | 1 | | taint.cpp:815:7:815:12 | strchr | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| taint.cpp:815:7:815:12 | strchr | (fexcept_t *,int) | | fegetexceptflag | 1 | +| taint.cpp:815:7:815:12 | strchr | (float,int) | | __ldexpf | 1 | +| taint.cpp:815:7:815:12 | strchr | (float,int) | | __scalbnf | 1 | | taint.cpp:815:7:815:12 | strchr | (gzFile,int) | | gzflush | 1 | | taint.cpp:815:7:815:12 | strchr | (gzFile,int) | | gzputc | 1 | | taint.cpp:815:7:815:12 | strchr | (int *,int) | | X509_PURPOSE_set | 1 | | taint.cpp:815:7:815:12 | strchr | (int *,int) | | X509_TRUST_set | 1 | +| taint.cpp:815:7:815:12 | strchr | (int *,int) | | __lll_unlock_elision | 1 | | taint.cpp:815:7:815:12 | strchr | (int,int) | | BN_security_bits | 1 | | taint.cpp:815:7:815:12 | strchr | (int,int) | | EVP_MD_meth_new | 1 | | taint.cpp:815:7:815:12 | strchr | (int,int) | | EVP_PKEY_meth_new | 1 | +| taint.cpp:815:7:815:12 | strchr | (int,int) | | __isctype | 1 | | taint.cpp:815:7:815:12 | strchr | (int,int) | | acttab_alloc | 1 | +| taint.cpp:815:7:815:12 | strchr | (int,int) | | div | 1 | +| taint.cpp:815:7:815:12 | strchr | (int,int) | | inet6_rth_space | 1 | +| taint.cpp:815:7:815:12 | strchr | (long double,int) | | __ldexpl | 1 | +| taint.cpp:815:7:815:12 | strchr | (netlink_handle *,int) | | __netlink_request | 1 | | taint.cpp:815:7:815:12 | strchr | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | taint.cpp:815:7:815:12 | strchr | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | taint.cpp:815:7:815:12 | strchr | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -12734,8 +17407,21 @@ signatureMatches | taint.cpp:815:7:815:12 | strchr | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | taint.cpp:815:7:815:12 | strchr | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | taint.cpp:815:7:815:12 | strchr | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| taint.cpp:815:7:815:12 | strchr | (ns_msg,int) | | ns_msg_getflag | 1 | +| taint.cpp:815:7:815:12 | strchr | (obstack *,int) | | _obstack_newchunk | 1 | +| taint.cpp:815:7:815:12 | strchr | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| taint.cpp:815:7:815:12 | strchr | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| taint.cpp:815:7:815:12 | strchr | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | taint.cpp:815:7:815:12 | strchr | (rule *,int) | | Configlist_add | 1 | | taint.cpp:815:7:815:12 | strchr | (rule *,int) | | Configlist_addbasis | 1 | +| taint.cpp:815:7:815:12 | strchr | (sigset_t *,int) | | sigaddset | 1 | +| taint.cpp:815:7:815:12 | strchr | (sigset_t *,int) | | sigdelset | 1 | | taint.cpp:815:7:815:12 | strchr | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | taint.cpp:815:7:815:12 | strchr | (sqlite3 *,int) | | sqlite3_db_name | 1 | | taint.cpp:815:7:815:12 | strchr | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -12763,6 +17449,8 @@ signatureMatches | taint.cpp:815:7:815:12 | strchr | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | taint.cpp:815:7:815:12 | strchr | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | taint.cpp:815:7:815:12 | strchr | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| taint.cpp:815:7:815:12 | strchr | (timespec *,int) | | __timespec_get | 1 | +| taint.cpp:815:7:815:12 | strchr | (timespec *,int) | | __timespec_getres | 1 | | taint.cpp:815:7:815:12 | strchr | (uint16_t,int) | | tls1_group_id2nid | 1 | | taint.cpp:815:7:815:12 | strchr | (unsigned char *,int) | | RAND_bytes | 1 | | taint.cpp:815:7:815:12 | strchr | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -12771,10 +17459,12 @@ signatureMatches | taint.cpp:815:7:815:12 | strchr | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | taint.cpp:815:7:815:12 | strchr | (void *,int) | | DSO_dsobyaddr | 1 | | taint.cpp:815:7:815:12 | strchr | (void *,int) | | sqlite3_realloc | 1 | +| taint.cpp:815:7:815:12 | strchr | (void *const *,int) | | __backtrace_symbols | 1 | | taint.cpp:815:7:815:12 | strchr | (wchar_t,int) | CStringT | CStringT | 1 | | taint.cpp:817:6:817:27 | write_to_const_ptr_ptr | (const OSSL_PARAM *,const char **) | | OSSL_PARAM_get_utf8_ptr | 1 | | taint.cpp:817:6:817:27 | write_to_const_ptr_ptr | (const OSSL_PARAM *,const char **) | | OSSL_PARAM_get_utf8_string_ptr | 1 | | taint.cpp:817:6:817:27 | write_to_const_ptr_ptr | (const X509_NAME *,const char **) | | OCSP_url_svcloc_new | 1 | +| taint.cpp:817:6:817:27 | write_to_const_ptr_ptr | (int,const char **) | | _nl_load_locale_from_archive | 1 | | taint.cpp:817:6:817:27 | write_to_const_ptr_ptr | (sqlite3_intck *,const char **) | | sqlite3_intck_error | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (ASN1_GENERALIZEDTIME *,const char *) | | ASN1_GENERALIZEDTIME_set_string | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (ASN1_TIME *,const char *) | | ASN1_TIME_set_string | 1 | @@ -12806,6 +17496,7 @@ signatureMatches | taint.cpp:822:6:822:19 | take_const_ptr | (LIBSSH2_AGENT *,const char *) | | libssh2_agent_set_identity_path | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (LIBSSH2_SESSION *,const char *) | | libssh2_banner_set | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (LIBSSH2_SESSION *,const char *) | | libssh2_session_banner_set | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (Lmid_t,const char *) | | _dl_lookup_map | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (OPENSSL_DIR_CTX **,const char *) | | OPENSSL_DIR_read | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_appname | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (OPENSSL_INIT_SETTINGS *,const char *) | | OPENSSL_INIT_set_config_filename | 1 | @@ -12862,7 +17553,12 @@ signatureMatches | taint.cpp:822:6:822:19 | take_const_ptr | (X509_REQ *,const char *) | | x509_req_ctrl_string | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_ip_asc | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (X509_VERIFY_PARAM *,const char *) | | X509_VERIFY_PARAM_set1_name | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (char **,const char *) | | Curl_setstropt | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (char **,const char *) | | __strsep | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (char *,const char *) | | xstrdup | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const OSSL_PARAM *,const char *) | | OSSL_PARAM_locate_const | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char **,const char *) | | uv__utf8_decode1 | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | Configcmp | 0 | @@ -12873,14 +17569,52 @@ signatureMatches | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | DES_crypt | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | OPENSSL_strcasecmp | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __bind_textdomain_codeset | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __bind_textdomain_codeset | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __bindtextdomain | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __bindtextdomain | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __dgettext | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __dgettext | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __gconv_compare_alias | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __gconv_compare_alias | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strcasestr | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strcasestr | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strcspn_generic | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strcspn_generic | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strcspn_sse42 | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strcspn_sse42 | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strpbrk_generic | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strpbrk_generic | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strpbrk_sse42 | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strpbrk_sse42 | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strspn_generic | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strspn_generic | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strspn_sse42 | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strspn_sse42 | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strstr_generic | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strstr_generic | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strverscmp | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | __strverscmp | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | _dl_cache_libcmp | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | _dl_cache_libcmp | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | advance | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | advance | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | c_strcasecmp | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | c_strcasecmp | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | charmap_aliases | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | charmap_aliases | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | charmap_open | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | charmap_open | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | chroot_canon | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | chroot_canon | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | get_passwd | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | get_passwd | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | gzopen | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | gzopen | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | gzopen64 | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | gzopen64 | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | iconv_open | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | iconv_open | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | openssl_fopen | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | openssl_fopen | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | ossl_pem_check_suffix | 0 | @@ -12891,6 +17625,14 @@ signatureMatches | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | sqlite3_strglob | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | sqlite3_stricmp | 0 | | taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | sqlite3_stricmp | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | step | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | step | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | tempnam | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | tempnam | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | xfopen | 0 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const char *,const char *) | | xfopen | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const mntent *,const char *) | | __hasmntopt | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (const nis_error,const char *) | | nis_sperror | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (curl_mimepart *,const char *) | | curl_mime_filedata | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (curl_off_t *,const char *) | | str2offset | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (curl_pushheaders *,const char *) | | curl_pushheader_byname | 1 | @@ -12900,16 +17642,22 @@ signatureMatches | taint.cpp:822:6:822:19 | take_const_ptr | (dynbuf *,const char *) | | curlx_dyn_add | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (dynhds *,const char *) | | Curl_dynhds_cget | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (dynhds *,const char *) | | Curl_dynhds_h1_cadd_line | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (gzFile,const char *) | | gzputs | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (int,const char *) | | BIO_meth_new | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (int,const char *) | | _IO_new_fdopen | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (int,const char *) | | gzdopen | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (int,const char *) | | setlocale | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (int,const char *) | | xsetlocale | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (lemon *,const char *) | | file_makename | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (long *,const char *) | | secs2ms | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (long *,const char *) | | str2num | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (long *,const char *) | | str2unum | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (nss_module *,const char *) | | __nss_module_get_function | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (size_t *,const char *) | | next_protos_parse | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (slist_wc **,const char *) | | easysrc_add | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (slist_wc *,const char *) | | slist_wc_append | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (sqlite3 *,const char *) | | sqlite3_declare_vtab | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (sqlite3 *,const char *) | | sqlite3_get_clientdata | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (sqlite3 *,const char *) | | sqlite3_wal_checkpoint | 1 | @@ -12917,10 +17665,451 @@ signatureMatches | taint.cpp:822:6:822:19 | take_const_ptr | (sqlite3_stmt *,const char *) | | sqlite3_bind_parameter_index | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (sqlite3_str *,const char *) | | sqlite3_str_appendall | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (sqlite3_value *,const char *) | | sqlite3_value_pointer | 1 | +| taint.cpp:822:6:822:19 | take_const_ptr | (stringtable *,const char *) | | stringtable_add | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (unsigned long *,const char *) | | set_cert_ex | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (unsigned long *,const char *) | | set_name_ex | 1 | | taint.cpp:822:6:822:19 | take_const_ptr | (uv_pipe_t *,const char *) | | uv_pipe_bind | 1 | +| thread.cpp:4:6:4:9 | sink | (int) | | ASN1_STRING_type_new | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | ASN1_tag2bit | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | ASN1_tag2str | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | EVP_PKEY_asn1_get0 | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | Jim_ReturnCode | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | Jim_SignalId | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | OBJ_nid2ln | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | OBJ_nid2obj | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | OBJ_nid2sn | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | OSSL_STORE_INFO_type_string | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | OSSL_trace_get_category_name | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | PKCS12_init | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | Symbol_Nth | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | X509_PURPOSE_get0 | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | X509_PURPOSE_get_by_id | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | X509_TRUST_get0 | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | X509_TRUST_get_by_id | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __btowc | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __current_locale_name | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __fdopendir | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __get_errlist | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __get_errname | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __math_invalid_i | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __math_invalidf_i | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __p_class | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __p_rcode | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __p_type | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __pkey_get | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __sigdescr_np | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | __strerrordesc_np | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | _tolower | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | _toupper | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | btowc | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | c_tolower | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | c_toupper | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | curlx_sitouz | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | evp_pkey_type2name | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | inet6_option_space | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isalnum | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isalpha | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isblank | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | iscntrl | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isdigit | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isgraph | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | islower | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isprint | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | ispunct | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isspace | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isupper | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | isxdigit | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | ossl_cmp_bodytype_to_string | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | ossl_tolower | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | ossl_toupper | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | sigabbrev_np | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | sqlite3_compileoption_get | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | sqlite3_errstr | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | strerrorname_np | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | support_report_failure | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | svcudp_create | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | tls13_alert_code | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | toascii | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | tolower | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | toupper | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | uabs | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | uv__accept | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | uv_err_name | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | uv_get_osfhandle | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | uv_strerror | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | uv_translate_sys_error | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | | zError | 0 | +| thread.cpp:4:6:4:9 | sink | (int) | __pthread_cleanup_class | __setdoit | 0 | +| thread.cpp:18:6:18:22 | thread_function_3 | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | BN_clear_bit | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | BN_mask_bits | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | BN_set_bit | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | BN_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | bn_expand2 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | bn_wexpand | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIGNUM *,int) | | ossl_bn_mask_bits_fixed_top | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | BIO_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | BIO_find_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | BIO_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | BIO_set_init | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | BIO_set_retry_reason | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | BIO_set_shutdown | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (BIO *,int) | | TXT_DB_read | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (CMS_SignerInfo *,int) | | CMS_signed_delete_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (CMS_SignerInfo *,int) | | CMS_unsigned_delete_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (CURL *,int) | | curl_easy_pause | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (Curl_easy *,int) | | Curl_conn_get_socket | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (DH *,int) | | DH_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (DH *,int) | | DH_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (DH_METHOD *,int) | | DH_meth_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (DSA *,int) | | DSA_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (DSA *,int) | | DSA_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (DSA_METHOD *,int) | | DSA_meth_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EC_GROUP *,int) | | EC_GROUP_set_asn1_flag | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EC_GROUP *,int) | | EC_GROUP_set_curve_name | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EC_KEY *,int) | | EC_KEY_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EC_KEY *,int) | | EC_KEY_set_asn1_flag | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EC_KEY *,int) | | EC_KEY_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (ENGINE *,int) | | ENGINE_cmd_is_executable | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (ENGINE *,int) | | ENGINE_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_CIPHER *,int) | | EVP_CIPHER_meth_set_impl_ctx_size | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_CIPHER *,int) | | EVP_CIPHER_meth_set_iv_length | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_CIPHER_CTX *,int) | | EVP_CIPHER_CTX_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_CIPHER_CTX *,int) | | EVP_CIPHER_CTX_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_CIPHER_CTX *,int) | | EVP_CIPHER_CTX_set_key_length | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_CIPHER_CTX *,int) | | EVP_CIPHER_CTX_set_num | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_KEYMGMT *,int) | | evp_keymgmt_util_query_operation_name | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_MD *,int) | | EVP_MD_meth_set_app_datasize | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_MD *,int) | | EVP_MD_meth_set_input_blocksize | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_MD *,int) | | EVP_MD_meth_set_result_size | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_MD_CTX *,int) | | EVP_MD_CTX_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_MD_CTX *,int) | | EVP_MD_CTX_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY *,int) | | EVP_PKEY_delete_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY *,int) | | EVP_PKEY_save_parameters | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY *,int) | | EVP_PKEY_set_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_get_keygen_info | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_dh_kdf_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_dh_nid | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_dh_paramgen_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_dh_rfc5114 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_dhx_rfc5114 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_ec_param_enc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_ec_paramgen_curve_nid | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_ecdh_kdf_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_hkdf_mode | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_rsa_padding | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (EVP_PKEY_CTX *,int) | | EVP_PKEY_CTX_set_rsa_pss_saltlen | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_default_pbackfail | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_fwide | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_init | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_init_internal | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_new_file_attach | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_new_file_overflow | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_old_init | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_sputbackc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_str_overflow | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | _IO_str_pbackfail | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (FTS *,int) | | fts_children | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_handle_extended_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_handle_extended_data2 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_set_blocking | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_SESSION *,int) | | _libssh2_session_set_blocking | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_SESSION *,int) | | libssh2_hostkey_hash | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_SESSION *,int) | | libssh2_session_methods | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_SESSION *,int) | | libssh2_session_set_blocking | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LIBSSH2_SESSION *,int) | | libssh2_session_startup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (LPCOLESTR,int) | CComBSTR | Append | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_BASICRESP *,int) | | OCSP_BASICRESP_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_BASICRESP *,int) | | OCSP_BASICRESP_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_BASICRESP *,int) | | OCSP_resp_get0 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_ONEREQ *,int) | | OCSP_ONEREQ_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_ONEREQ *,int) | | OCSP_ONEREQ_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_REQUEST *,int) | | OCSP_REQUEST_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_REQUEST *,int) | | OCSP_REQUEST_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_REQUEST *,int) | | OCSP_request_onereq_get0 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_SINGLERESP *,int) | | OCSP_SINGLERESP_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OCSP_SINGLERESP *,int) | | OCSP_SINGLERESP_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OPENSSL_STACK *,int) | | OPENSSL_sk_delete | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OPENSSL_STACK *,int) | | OPENSSL_sk_reserve | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OPENSSL_sk_compfunc,int) | | OPENSSL_sk_new_reserve | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_ACKM *,int) | | ossl_ackm_get_ack_deadline | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_ACKM *,int) | | ossl_ackm_get_ack_frame | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_ACKM *,int) | | ossl_ackm_get_largest_acked | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_ACKM *,int) | | ossl_ackm_on_pkt_space_discarded | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_CTX *,int) | | OSSL_CMP_CTX_set_serverPort | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_CTX *,int) | | ossl_cmp_ctx_set_failInfoCode | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_CTX *,int) | | ossl_cmp_ctx_set_status | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_CTX *,int) | | ossl_cmp_msg_create | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_CTX *,int) | | ossl_cmp_pollReq_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_MSG *,int) | | ossl_cmp_msg_set_bodytype | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_PKIHEADER *,int) | | ossl_cmp_hdr_set_pvno | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_REVREPCONTENT *,int) | | ossl_cmp_revrepcontent_get_CertId | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_REVREPCONTENT *,int) | | ossl_cmp_revrepcontent_get_pkisi | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_SRV_CTX *,int) | | OSSL_CMP_SRV_CTX_set_accept_raverified | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_SRV_CTX *,int) | | OSSL_CMP_SRV_CTX_set_accept_unprotected | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_SRV_CTX *,int) | | OSSL_CMP_SRV_CTX_set_grant_implicit_confirm | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CMP_SRV_CTX *,int) | | OSSL_CMP_SRV_CTX_set_send_unprotected_errors | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_CRMF_PKIPUBLICATIONINFO *,int) | | OSSL_CRMF_MSG_set_PKIPublicationInfo_action | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_DECODER_CTX *,int) | | OSSL_DECODER_CTX_set_selection | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_ENCODER_CTX *,int) | | OSSL_ENCODER_CTX_set_selection | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_LIB_CTX *,int) | | OSSL_LIB_CTX_get_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_LIB_CTX *,int) | | OSSL_LIB_CTX_set_conf_diagnostics | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_LIB_CTX *,int) | | ossl_ctx_global_properties | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_LIB_CTX *,int) | | ossl_dh_new_by_nid_ex | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_LIB_CTX *,int) | | ossl_lib_ctx_get_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_LIB_CTX *,int) | | ossl_mac_key_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_PARAM *,int) | | OSSL_PARAM_set_int | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_QRX *,int) | | ossl_qrx_get_bytes_received | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_RECORD_LAYER *,int) | | tls_set_first_handshake | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_RECORD_LAYER *,int) | | tls_set_plain_alerts | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (OSSL_STORE_CTX *,int) | | OSSL_STORE_expect | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (PKCS7 *,int) | | PKCS7_set_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_CHANNEL *,int) | | ossl_quic_channel_new_stream_local | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_ENGINE *,int) | | ossl_quic_engine_set_inhibit_tick | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_PORT *,int) | | ossl_quic_port_set_allow_incoming | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_RCIDM *,int) | | ossl_quic_rcidm_get_preferred_tx_dcid_changed | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_RSTREAM *,int) | | ossl_quic_rstream_set_cleanse | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_RXFC *,int) | | ossl_quic_rxfc_get_error | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_RXFC *,int) | | ossl_quic_rxfc_has_cwm_changed | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_SSTREAM *,int) | | ossl_quic_sstream_set_cleanse | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_STREAM_MAP *,int) | | ossl_quic_stream_map_get_accept_queue_len | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (QUIC_TXFC *,int) | | ossl_quic_txfc_has_become_blocked | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA *,int) | | RSA_clear_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA *,int) | | RSA_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA_METHOD *,int) | | RSA_meth_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA_PSS_PARAMS_30 *,int) | | ossl_rsa_pss_params_30_set_hashalg | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA_PSS_PARAMS_30 *,int) | | ossl_rsa_pss_params_30_set_maskgenhashalg | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA_PSS_PARAMS_30 *,int) | | ossl_rsa_pss_params_30_set_saltlen | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (RSA_PSS_PARAMS_30 *,int) | | ossl_rsa_pss_params_30_set_trailerfield | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_key_update | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_post_handshake_auth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_purpose | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_quic_tls_early_data_enabled | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_quiet_shutdown | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_read_ahead | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_security_level | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_shutdown | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_trust | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL *,int) | | SSL_set_verify_depth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CONNECTION *,int) | | dtls1_read_failed | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CONNECTION *,int) | | ossl_statem_send_fatal | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CONNECTION *,int) | | ossl_statem_set_in_init | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CONNECTION *,int) | | tls1_shared_group | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_post_handshake_auth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_purpose | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_quiet_shutdown | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_security_level | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_srp_strength | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_trust | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | SSL_CTX_set_verify_depth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_CTX *,int) | | ssl_md | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (SSL_SESSION *,int) | | SSL_SESSION_set_protocol_version | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_REQ *,int) | | TS_REQ_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_REQ *,int) | | TS_REQ_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_RESP_CTX *,int) | | TS_RESP_CTX_add_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_STATUS_INFO *,int) | | TS_STATUS_INFO_set_status | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_TST_INFO *,int) | | TS_TST_INFO_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_TST_INFO *,int) | | TS_TST_INFO_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_VERIFY_CTX *,int) | | TS_VERIFY_CTX_add_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (TS_VERIFY_CTX *,int) | | TS_VERIFY_CTX_set_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (WPACKET *,int) | | ossl_DER_w_begin_sequence | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509 *,int) | | X509_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509 *,int) | | X509_self_signed | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_ACERT *,int) | | X509_ACERT_delete_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_ATTRIBUTE *,int) | | X509_ATTRIBUTE_get0_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_CRL *,int) | | X509_CRL_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_NAME *,int) | | X509_NAME_delete_entry | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_REQ *,int) | | X509_REQ_delete_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_REVOKED *,int) | | X509_REVOKED_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE *,int) | | X509_STORE_set_depth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE *,int) | | X509_STORE_set_purpose | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE *,int) | | X509_STORE_set_trust | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE_CTX *,int) | | X509_STORE_CTX_set_depth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE_CTX *,int) | | X509_STORE_CTX_set_error | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE_CTX *,int) | | X509_STORE_CTX_set_error_depth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE_CTX *,int) | | X509_STORE_CTX_set_purpose | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_STORE_CTX *,int) | | X509_STORE_CTX_set_trust | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_get0_host | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_auth_level | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (_Float128,int) | | __ldexpf128 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (_Float128,int) | | __scalbnf128 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (__sigset_t *,int) | | __sigdelset_compat | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (acttab *,int) | | acttab_insert | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (addrinfo *,int) | | support_format_addrinfo | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (char **,int) | | addrsort | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (char *,int) | | Curl_str2addr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (char *,int) | | PEM_proc_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (char,int) | CStringT | CStringT | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (connectdata *,int) | | Curl_conn_is_ssl | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const ASN1_BIT_STRING *,int) | | ASN1_BIT_STRING_get_bit | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const BIGNUM *,int) | | BN_get_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const BIGNUM *,int) | | BN_is_bit_set | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const BIO *,int) | | BIO_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const BIO *,int) | | BIO_test_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const CMS_SignerInfo *,int) | | CMS_signed_get_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const CMS_SignerInfo *,int) | | CMS_unsigned_get_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const CRYPTO_EX_DATA *,int) | | CRYPTO_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const DH *,int) | | DH_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const DH *,int) | | DH_test_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const DH *,int) | | ossl_dh_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const DSA *,int) | | DSA_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const DSA *,int) | | DSA_test_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const DSA *,int) | | ossl_dsa_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const ECX_KEY *,int) | | ossl_ecx_key_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const EC_KEY *,int) | | EC_KEY_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const EC_KEY *,int) | | ossl_ec_key_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const ENGINE *,int) | | ENGINE_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const EVP_CIPHER_CTX *,int) | | EVP_CIPHER_CTX_test_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const EVP_MD_CTX *,int) | | EVP_MD_CTX_test_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const EVP_PKEY *,int) | | EVP_PKEY_get_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const EVP_PKEY *,int) | | EVP_PKEY_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const ML_DSA_KEY *,int) | | ossl_ml_dsa_key_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const ML_KEM_KEY *,int) | | ossl_ml_kem_key_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const OPENSSL_STACK *,int) | | OPENSSL_sk_value | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const OSSL_CMP_CERTREPMESSAGE *,int) | | ossl_cmp_certrepmessage_get0_certresponse | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const OSSL_CMP_CTX *,int) | | OSSL_CMP_CTX_get0_newPkey | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const OSSL_CMP_CTX *,int) | | OSSL_CMP_CTX_get_option | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const OSSL_CMP_PKISI *,int) | | ossl_cmp_pkisi_check_pkifailureinfo | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const OSSL_CMP_POLLREPCONTENT *,int) | | ossl_cmp_pollrepcontent_get0_pollrep | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const QUIC_CHANNEL *,int) | | ossl_quic_channel_get_local_stream_count_avail | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const QUIC_CHANNEL *,int) | | ossl_quic_channel_get_remote_stream_count_avail | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const RSA *,int) | | RSA_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const RSA *,int) | | RSA_test_flags | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const RSA *,int) | | ossl_rsa_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const SLH_DSA_KEY *,int) | | ossl_slh_dsa_key_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const SSL *,int) | | SSL_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const SSL_CTX *,int) | | SSL_CTX_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const SSL_SESSION *,int) | | SSL_SESSION_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const SSL_SESSION *,int) | | ssl_session_dup | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const UI *,int) | | UI_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const UI_METHOD *,int) | | UI_method_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509 *,int) | | X509_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509 *,int) | | X509_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_ACERT *,int) | | X509_ACERT_get_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_CRL *,int) | | X509_CRL_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_NAME *,int) | | X509_NAME_get_entry | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_POLICY_LEVEL *,int) | | X509_policy_level_get0_node | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_POLICY_TREE *,int) | | X509_policy_tree_get0_level | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_REQ *,int) | | X509_REQ_get_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_REVOKED *,int) | | X509_REVOKED_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_STORE *,int) | | X509_STORE_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const X509_STORE_CTX *,int) | | X509_STORE_CTX_get_ex_data | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const XCHAR *,int) | CStringT | CStringT | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const YCHAR *,int) | CStringT | CStringT | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | DH_meth_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | DSA_meth_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | Jim_StrDupLen | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | RSA_meth_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | ftok | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | gethostbyname2 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | parse_yesno | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const char *,int) | | res_gethostbyname2 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (const void *,int) | | inet6_rth_getaddr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (double,int) | | __ldexp | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (double,int) | | __scalbn | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (double[],int) | | getloadavg | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (fexcept_t *,int) | | fegetexceptflag | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (float,int) | | __ldexpf | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (float,int) | | __scalbnf | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (gzFile,int) | | gzflush | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (gzFile,int) | | gzputc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int *,int) | | X509_PURPOSE_set | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int *,int) | | X509_TRUST_set | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int *,int) | | __lll_unlock_elision | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | BN_security_bits | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | EVP_MD_meth_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | EVP_PKEY_meth_new | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | __isctype | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | acttab_alloc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | div | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (int,int) | | inet6_rth_space | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (long double,int) | | __ldexpl | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (netlink_handle *,int) | | __netlink_request | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_no_http_messaging | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (ns_msg,int) | | ns_msg_getflag | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (obstack *,int) | | _obstack_newchunk | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (rule *,int) | | Configlist_add | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (rule *,int) | | Configlist_addbasis | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sigset_t *,int) | | sigaddset | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sigset_t *,int) | | sigdelset | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3 *,int) | | sqlite3_db_name | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_backup *,int) | | sqlite3_backup_step | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_context *,int) | | sqlite3_aggregate_context | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_context *,int) | | sqlite3_result_error_code | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_index_info *,int) | | sqlite3_vtab_collation | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_bind_parameter_name | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_blob | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_bytes | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_bytes16 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_decltype | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_decltype16 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_double | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_int | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_int64 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_name | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_name16 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_text | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_text16 | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_type | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_column_value | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (sqlite3_stmt *,int) | | sqlite3_stmt_explain | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (stack_st_PKCS7 *,int) | | PKCS12_add_safes | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (timespec *,int) | | __timespec_get | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (timespec *,int) | | __timespec_getres | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (uint16_t,int) | | tls1_group_id2nid | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (unsigned char *,int) | | RAND_bytes | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (unsigned char *,int) | | RAND_priv_bytes | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (unsigned char *,int) | | ossl_ipaddr_to_asc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (unsigned short,int) | | dtls1_get_queue_priority | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (void *,int) | | DSO_dsobyaddr | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (void *,int) | | sqlite3_realloc | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (void *const *,int) | | __backtrace_symbols | 1 | +| thread.cpp:18:6:18:22 | thread_function_3 | (wchar_t,int) | CStringT | CStringT | 1 | | vector.cpp:13:6:13:9 | sink | (int) | | ASN1_STRING_type_new | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | ASN1_tag2bit | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | ASN1_tag2str | 0 | @@ -12939,22 +18128,60 @@ signatureMatches | vector.cpp:13:6:13:9 | sink | (int) | | X509_TRUST_get0 | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | X509_TRUST_get_by_id | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __btowc | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __current_locale_name | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __fdopendir | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __get_errlist | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __get_errname | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __math_invalid_i | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __math_invalidf_i | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __p_class | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __p_rcode | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __p_type | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __pkey_get | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __sigdescr_np | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | __strerrordesc_np | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | _tolower | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | _toupper | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | btowc | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | c_tolower | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | c_toupper | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | curlx_sitouz | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | evp_pkey_type2name | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | inet6_option_space | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isalnum | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isalpha | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isblank | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | iscntrl | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isdigit | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isgraph | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | islower | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isprint | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | ispunct | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isspace | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isupper | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | isxdigit | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | ossl_cmp_bodytype_to_string | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | ossl_tolower | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | ossl_toupper | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | sigabbrev_np | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | sqlite3_compileoption_get | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | sqlite3_errstr | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | strerrorname_np | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | support_report_failure | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | svcudp_create | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | tls13_alert_code | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | toascii | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | tolower | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | toupper | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | | uabs | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | uv__accept | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | uv_err_name | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | uv_get_osfhandle | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | uv_strerror | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | uv_translate_sys_error | 0 | | vector.cpp:13:6:13:9 | sink | (int) | | zError | 0 | +| vector.cpp:13:6:13:9 | sink | (int) | __pthread_cleanup_class | __setdoit | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ASN1_STRING_type_new | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ASN1_tag2bit | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ASN1_tag2str | 0 | @@ -12973,22 +18200,60 @@ signatureMatches | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | X509_TRUST_get0 | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | X509_TRUST_get_by_id | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __btowc | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __current_locale_name | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __fdopendir | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __get_errlist | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __get_errname | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __math_invalid_i | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __math_invalidf_i | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __p_class | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __p_rcode | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __p_type | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __pkey_get | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __sigdescr_np | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | __strerrordesc_np | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | _tolower | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | _toupper | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | btowc | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | c_tolower | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | c_toupper | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | curlx_sitouz | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | evp_pkey_type2name | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | inet6_option_space | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isalnum | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isalpha | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isblank | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | iscntrl | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isdigit | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isgraph | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | islower | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isprint | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ispunct | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isspace | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isupper | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | isxdigit | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ossl_cmp_bodytype_to_string | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ossl_tolower | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | ossl_toupper | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | sigabbrev_np | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | sqlite3_compileoption_get | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | sqlite3_errstr | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | strerrorname_np | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | support_report_failure | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | svcudp_create | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | tls13_alert_code | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | toascii | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | tolower | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | toupper | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | uabs | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | uv__accept | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | uv_err_name | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | uv_get_osfhandle | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | uv_strerror | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | uv_translate_sys_error | 0 | | vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | | zError | 0 | +| vector.cpp:16:6:16:37 | test_range_based_for_loop_vector | (int) | __pthread_cleanup_class | __setdoit | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | ASN1_STRING_type_new | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | ASN1_tag2bit | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | ASN1_tag2str | 0 | @@ -13007,22 +18272,61 @@ signatureMatches | vector.cpp:37:6:37:23 | test_element_taint | (int) | | X509_TRUST_get0 | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | X509_TRUST_get_by_id | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __btowc | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __current_locale_name | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __fdopendir | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __get_errlist | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __get_errname | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __math_invalid_i | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __math_invalidf_i | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __p_class | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __p_rcode | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __p_type | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __pkey_get | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __sigdescr_np | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | __strerrordesc_np | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | _tolower | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | _toupper | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | btowc | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | c_tolower | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | c_toupper | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | curlx_sitouz | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | evp_pkey_type2name | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | inet6_option_space | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isalnum | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isalpha | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isblank | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | iscntrl | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isdigit | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isgraph | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | islower | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isprint | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | ispunct | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isspace | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isupper | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | isxdigit | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | ossl_cmp_bodytype_to_string | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | ossl_tolower | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | ossl_toupper | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | sigabbrev_np | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | sqlite3_compileoption_get | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | sqlite3_errstr | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | strerrorname_np | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | support_report_failure | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | svcudp_create | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | tls13_alert_code | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | toascii | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | tolower | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | toupper | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | | uabs | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | uv__accept | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | uv_err_name | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | uv_get_osfhandle | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | uv_strerror | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | uv_translate_sys_error | 0 | | vector.cpp:37:6:37:23 | test_element_taint | (int) | | zError | 0 | +| vector.cpp:37:6:37:23 | test_element_taint | (int) | __pthread_cleanup_class | __setdoit | 0 | +| vector.cpp:279:6:279:9 | sink | (int *) | | rresvport | 0 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (ASN1_STRING *,int) | | ASN1_STRING_length_set | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (ASYNC_WAIT_CTX *,int) | | ASYNC_WAIT_CTX_set_status | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (BIGNUM *,int) | | BN_clear_bit | 1 | @@ -13086,6 +18390,19 @@ signatureMatches | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FFC_PARAMS *,int) | | ossl_ffc_params_set_gindex | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FFC_PARAMS *,int) | | ossl_ffc_params_set_h | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FFC_PARAMS *,int) | | ossl_ffc_params_set_pcounter | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_default_pbackfail | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_fwide | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_init | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_init_internal | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_new_file_attach | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_new_file_overflow | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_old_init | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_sputbackc | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_str_overflow | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | _IO_str_pbackfail | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (FTS *,int) | | fts_children | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_extended_data | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (LIBSSH2_CHANNEL *,int) | | _libssh2_channel_flush | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (LIBSSH2_CHANNEL *,int) | | libssh2_channel_flush_ex | 1 | @@ -13213,7 +18530,15 @@ signatureMatches | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_depth | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_purpose | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (X509_VERIFY_PARAM *,int) | | X509_VERIFY_PARAM_set_trust | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (_Float128,int) | | __ldexpf128 | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (_Float128,int) | | __scalbnf128 | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (__sigset_t *,int) | | __sigaddset_compat | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (__sigset_t *,int) | | __sigdelset_compat | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (acttab *,int) | | acttab_insert | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (addrinfo *,int) | | support_format_addrinfo | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (aiocb_union *,int) | | __aio_enqueue_request | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (char **,int) | | addrsort | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (char *,int) | | Curl_str2addr | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (char *,int) | | PEM_proc_type | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (char,int) | CStringT | CStringT | 1 | @@ -13278,21 +18603,37 @@ signatureMatches | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | Jim_StrDupLen | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | RSA_meth_new | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | ftok | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | gethostbyname2 | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | parse_yesno | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const char *,int) | | res_gethostbyname2 | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const stack_st_X509_ATTRIBUTE *,int) | | X509at_get_attr | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const stack_st_X509_EXTENSION *,int) | | X509v3_get_ext | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const unsigned char *,int) | | Jim_GenHashFunction | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const unsigned char *,int) | | OPENSSL_uni2asc | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const unsigned char *,int) | | OPENSSL_uni2utf8 | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (const void *,int) | | inet6_rth_getaddr | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (double,int) | | __ldexp | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (double,int) | | __scalbn | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (double[],int) | | getloadavg | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (dynhds *,int) | | Curl_dynhds_set_opts | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (fexcept_t *,int) | | fegetexceptflag | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (float,int) | | __ldexpf | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (float,int) | | __scalbnf | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (gzFile,int) | | gzflush | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (gzFile,int) | | gzputc | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int *,int) | | X509_PURPOSE_set | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int *,int) | | X509_TRUST_set | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int *,int) | | __lll_unlock_elision | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | BN_security_bits | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | EVP_MD_meth_new | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | EVP_PKEY_meth_new | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | __isctype | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | acttab_alloc | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | div | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (int,int) | | inet6_rth_space | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (long double,int) | | __ldexpl | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (netlink_handle *,int) | | __netlink_request | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_ping_ack | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (nghttp2_option *,int) | | nghttp2_option_set_no_auto_window_update | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (nghttp2_option *,int) | | nghttp2_option_set_no_closed_streams | 1 | @@ -13300,8 +18641,21 @@ signatureMatches | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (nghttp2_option *,int) | | nghttp2_option_set_no_recv_client_magic | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (nghttp2_option *,int) | | nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (nghttp2_option *,int) | | nghttp2_option_set_server_fallback_rfc7540_priorities | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (ns_msg,int) | | ns_msg_getflag | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (obstack *,int) | | _obstack_newchunk | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (rule *,int) | | Configlist_add | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (rule *,int) | | Configlist_addbasis | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (sigset_t *,int) | | sigaddset | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (sigset_t *,int) | | sigdelset | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (sqlite3 *,int) | | sqlite3_busy_timeout | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (sqlite3 *,int) | | sqlite3_db_name | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (sqlite3 *,int) | | sqlite3_wal_autocheckpoint | 1 | @@ -13329,6 +18683,8 @@ signatureMatches | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (stack_st_SSL_COMP *,int) | | ssl3_comp_find | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (stack_st_X509_ATTRIBUTE *,int) | | X509at_delete_attr | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (stack_st_X509_EXTENSION *,int) | | X509v3_delete_ext | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (timespec *,int) | | __timespec_get | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (timespec *,int) | | __timespec_getres | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (uint16_t,int) | | tls1_group_id2nid | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (unsigned char *,int) | | RAND_bytes | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (unsigned char *,int) | | RAND_priv_bytes | 1 | @@ -13337,6 +18693,7 @@ signatureMatches | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (uv_env_item_t *,int) | | uv_os_free_environ | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (void *,int) | | DSO_dsobyaddr | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (void *,int) | | sqlite3_realloc | 1 | +| vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (void *const *,int) | | __backtrace_symbols | 1 | | vector.cpp:333:6:333:35 | vector_iterator_assign_wrapper | (wchar_t,int) | CStringT | CStringT | 1 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | ASN1_STRING_type_new | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | ASN1_tag2bit | 0 | @@ -13356,26 +18713,77 @@ signatureMatches | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | X509_TRUST_get0 | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | X509_TRUST_get_by_id | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | X509_VERIFY_PARAM_get0 | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __btowc | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __current_locale_name | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __fdopendir | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __get_errlist | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __get_errname | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __math_invalid_i | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __math_invalidf_i | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __p_class | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __p_rcode | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __p_type | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __pkey_get | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __sigdescr_np | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | __strerrordesc_np | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | _tolower | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | _toupper | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | btowc | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | c_tolower | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | c_toupper | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | curlx_sitouz | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | evp_pkey_type2name | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | inet6_option_space | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isalnum | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isalpha | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isblank | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | iscntrl | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isdigit | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isgraph | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | islower | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isprint | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | ispunct | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isspace | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isupper | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | isxdigit | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | ossl_cmp_bodytype_to_string | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | ossl_tolower | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | ossl_toupper | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | sigabbrev_np | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | sqlite3_compileoption_get | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | sqlite3_errstr | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | strerrorname_np | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | support_report_failure | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | svcudp_create | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | tls13_alert_code | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | toascii | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | tolower | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | toupper | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | uabs | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | uv__accept | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | uv_err_name | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | uv_get_osfhandle | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | uv_strerror | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | uv_translate_sys_error | 0 | | vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | | zError | 0 | +| vector.cpp:337:6:337:32 | test_vector_output_iterator | (int) | __pthread_cleanup_class | __setdoit | 0 | | vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | SRP_VBASE_new | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | _IO_gets | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | __mktemp | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | __nis_default_group | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | __nis_default_owner | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | __nis_default_ttl | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | __xpg_basename | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | ctermid | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | cuserid | 0 | | vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | defossilize | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | des_setparity | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | dirname | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | getwd | 0 | | vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | make_uppercase | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | mkdtemp | 0 | | vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | next_item | 0 | +| vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | | strfry | 0 | | vector.cpp:417:6:417:25 | test_vector_inserter | (char *) | CStringT | CStringT | 0 | | vector.cpp:454:7:454:12 | memcpy | (BIO *,OCSP_REQUEST *,unsigned long) | | OCSP_REQUEST_print | 2 | | vector.cpp:454:7:454:12 | memcpy | (BIO *,OCSP_RESPONSE *,unsigned long) | | OCSP_RESPONSE_print | 2 | @@ -13419,6 +18827,23 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (EVP_RAND_CTX *,unsigned char *,size_t) | | EVP_RAND_nonce | 2 | | vector.cpp:454:7:454:12 | memcpy | (FFC_PARAMS *,const unsigned char *,size_t) | | ossl_ffc_params_set_seed | 2 | | vector.cpp:454:7:454:12 | memcpy | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const char *,size_t) | | _IO_new_do_write | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_default_xsputn | 1 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_default_xsputn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 1 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 1 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 1 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 1 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 1 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,void *,size_t) | | _IO_default_xsgetn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,void *,size_t) | | _IO_file_xsgetn | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 2 | +| vector.cpp:454:7:454:12 | memcpy | (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 2 | | vector.cpp:454:7:454:12 | memcpy | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_aad | 2 | | vector.cpp:454:7:454:12 | memcpy | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_setiv | 2 | | vector.cpp:454:7:454:12 | memcpy | (GCM128_CONTEXT *,unsigned char *,size_t) | | CRYPTO_gcm128_tag | 2 | @@ -13512,6 +18937,7 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (SSL_SESSION *,const unsigned char *,size_t) | | SSL_SESSION_set1_master_key | 2 | | vector.cpp:454:7:454:12 | memcpy | (SSL_SESSION *,const void *,size_t) | | SSL_SESSION_set1_ticket_appdata | 1 | | vector.cpp:454:7:454:12 | memcpy | (SSL_SESSION *,const void *,size_t) | | SSL_SESSION_set1_ticket_appdata | 2 | +| vector.cpp:454:7:454:12 | memcpy | (Strtab *,const char *,size_t) | | strtabadd | 2 | | vector.cpp:454:7:454:12 | memcpy | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_BitUpdate | 1 | | vector.cpp:454:7:454:12 | memcpy | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_BitUpdate | 2 | | vector.cpp:454:7:454:12 | memcpy | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_Update | 1 | @@ -13528,6 +18954,15 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_email | 2 | | vector.cpp:454:7:454:12 | memcpy | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_host | 2 | | vector.cpp:454:7:454:12 | memcpy | (X509_VERIFY_PARAM *,const unsigned char *,size_t) | | X509_VERIFY_PARAM_set1_ip | 2 | +| vector.cpp:454:7:454:12 | memcpy | (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 2 | +| vector.cpp:454:7:454:12 | memcpy | (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 2 | +| vector.cpp:454:7:454:12 | memcpy | (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 2 | +| vector.cpp:454:7:454:12 | memcpy | (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 2 | +| vector.cpp:454:7:454:12 | memcpy | (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 2 | +| vector.cpp:454:7:454:12 | memcpy | (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 1 | +| vector.cpp:454:7:454:12 | memcpy | (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 2 | +| vector.cpp:454:7:454:12 | memcpy | (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 2 | +| vector.cpp:454:7:454:12 | memcpy | (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 2 | | vector.cpp:454:7:454:12 | memcpy | (bufc_pool *,size_t,size_t) | | Curl_bufcp_init | 2 | | vector.cpp:454:7:454:12 | memcpy | (bufq *,size_t,size_t) | | Curl_bufq_init | 2 | | vector.cpp:454:7:454:12 | memcpy | (bufref *,const void *,size_t) | | Curl_bufref_memdup | 1 | @@ -13538,6 +18973,9 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (char *,const char *,size_t) | | OPENSSL_strlcat | 2 | | vector.cpp:454:7:454:12 | memcpy | (char *,const char *,size_t) | | OPENSSL_strlcpy | 2 | | vector.cpp:454:7:454:12 | memcpy | (char *,const char *,size_t) | | uv__strscpy | 2 | +| vector.cpp:454:7:454:12 | memcpy | (char *,size_t,size_t) | | __getcwd_chk | 2 | +| vector.cpp:454:7:454:12 | memcpy | (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 2 | +| vector.cpp:454:7:454:12 | memcpy | (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 2 | | vector.cpp:454:7:454:12 | memcpy | (const CTLOG_STORE *,const uint8_t *,size_t) | | CTLOG_STORE_get0_log_by_id | 2 | | vector.cpp:454:7:454:12 | memcpy | (const EC_KEY *,unsigned char *,size_t) | | ossl_ec_key_simple_priv2oct | 2 | | vector.cpp:454:7:454:12 | memcpy | (const EVP_MD *,const OSSL_ITEM *,size_t) | | ossl_digest_md_to_nid | 2 | @@ -13551,20 +18989,33 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (const SSL_SESSION *,unsigned char *,size_t) | | SSL_SESSION_get_master_key | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,char **,size_t) | | OSSL_PARAM_construct_utf8_ptr | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const char *,char *,size_t) | | __libc_ns_makecanon | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const char *,char *,size_t) | | __realpath_chk | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,char *,size_t) | | getpass_r | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const char *,char *,size_t) | | ns_makecanon | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,const char *,size_t) | | c_strncasecmp | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const char *,const char *,unsigned long) | | __ngettext | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,unsigned char *,size_t) | | OSSL_PARAM_construct_BN | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 2 | | vector.cpp:454:7:454:12 | memcpy | (const char *,void *,size_t) | | uv__random_readpath | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const charmap_t *,const char *,size_t) | | charmap_find_value | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 2 | | vector.cpp:454:7:454:12 | memcpy | (const sockaddr *,char *,size_t) | | uv_ip_name | 2 | | vector.cpp:454:7:454:12 | memcpy | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 2 | | vector.cpp:454:7:454:12 | memcpy | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 2 | | vector.cpp:454:7:454:12 | memcpy | (const unsigned char *,size_t,size_t) | | ossl_rand_pool_attach | 2 | | vector.cpp:454:7:454:12 | memcpy | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 1 | | vector.cpp:454:7:454:12 | memcpy | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const void *,size_t,size_t) | | support_blob_repeat_allocate | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const_nis_name,char *,size_t) | | nis_domain_of_r | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const_nis_name,char *,size_t) | | nis_leaf_of_r | 2 | +| vector.cpp:454:7:454:12 | memcpy | (const_nis_name,char *,size_t) | | nis_name_of_r | 2 | | vector.cpp:454:7:454:12 | memcpy | (curl_mimepart *,const char *,size_t) | | curl_mime_data | 2 | | vector.cpp:454:7:454:12 | memcpy | (curve448_scalar_t,const unsigned char *,size_t) | | ossl_curve448_scalar_decode_long | 2 | | vector.cpp:454:7:454:12 | memcpy | (dynbuf *,const void *,size_t) | | Curl_dyn_addn | 1 | @@ -13577,9 +19028,17 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (int *,const char *,size_t) | | Curl_http_decode_status | 2 | | vector.cpp:454:7:454:12 | memcpy | (int *,int *,size_t) | | EVP_PBE_get | 2 | | vector.cpp:454:7:454:12 | memcpy | (int,char *,size_t) | | Curl_strerror | 2 | +| vector.cpp:454:7:454:12 | memcpy | (int,char *,size_t) | | __strerror_r | 2 | +| vector.cpp:454:7:454:12 | memcpy | (int,char *,size_t) | | __ttyname_r | 2 | | vector.cpp:454:7:454:12 | memcpy | (int,char *,size_t) | | uv_err_name_r | 2 | | vector.cpp:454:7:454:12 | memcpy | (int,char *,size_t) | | uv_strerror_r | 2 | +| vector.cpp:454:7:454:12 | memcpy | (int,const void *,size_t) | | _nl_intern_locale_data | 1 | +| vector.cpp:454:7:454:12 | memcpy | (int,const void *,size_t) | | _nl_intern_locale_data | 2 | +| vector.cpp:454:7:454:12 | memcpy | (int,const void *,size_t) | | writeall | 1 | +| vector.cpp:454:7:454:12 | memcpy | (int,const void *,size_t) | | writeall | 2 | | vector.cpp:454:7:454:12 | memcpy | (int,int,size_t) | | BrotliEncoderEstimatePeakMemoryUsage | 2 | +| vector.cpp:454:7:454:12 | memcpy | (int,void *,size_t) | | __readall | 2 | +| vector.cpp:454:7:454:12 | memcpy | (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 2 | | vector.cpp:454:7:454:12 | memcpy | (nghttp2_buf *,uint8_t *,size_t) | | nghttp2_buf_wrap_init | 2 | | vector.cpp:454:7:454:12 | memcpy | (nghttp2_extension *,nghttp2_origin_entry *,size_t) | | nghttp2_frame_origin_init | 2 | | vector.cpp:454:7:454:12 | memcpy | (nghttp2_extpri *,const uint8_t *,size_t) | | nghttp2_extpri_parse_priority | 2 | @@ -13590,6 +19049,9 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (nghttp2_session *,int32_t,size_t) | | nghttp2_session_consume | 2 | | vector.cpp:454:7:454:12 | memcpy | (nghttp2_session *,nghttp2_settings_entry *,size_t) | | nghttp2_session_update_local_settings | 2 | | vector.cpp:454:7:454:12 | memcpy | (nghttp2_settings *,nghttp2_settings_entry *,size_t) | | nghttp2_frame_unpack_settings_payload | 2 | +| vector.cpp:454:7:454:12 | memcpy | (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 2 | +| vector.cpp:454:7:454:12 | memcpy | (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 2 | +| vector.cpp:454:7:454:12 | memcpy | (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 2 | | vector.cpp:454:7:454:12 | memcpy | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 2 | | vector.cpp:454:7:454:12 | memcpy | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 2 | | vector.cpp:454:7:454:12 | memcpy | (stack_st_SCT **,const unsigned char **,size_t) | | o2i_SCT_LIST | 2 | @@ -13603,11 +19065,18 @@ signatureMatches | vector.cpp:454:7:454:12 | memcpy | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | vector.cpp:454:7:454:12 | memcpy | (unsigned char *,size_t *,size_t) | | ossl_cipher_padblock | 2 | | vector.cpp:454:7:454:12 | memcpy | (unsigned char *,size_t *,size_t) | | ossl_cipher_unpadblock | 2 | +| vector.cpp:454:7:454:12 | memcpy | (unsigned int,char *,size_t) | | __initstate | 2 | | vector.cpp:454:7:454:12 | memcpy | (uv_thread_t *,char *,size_t) | | uv__thread_getname | 2 | | vector.cpp:454:7:454:12 | memcpy | (uv_thread_t *,char *,size_t) | | uv_thread_getaffinity | 2 | | vector.cpp:454:7:454:12 | memcpy | (uv_thread_t *,char *,size_t) | | uv_thread_getname | 2 | +| vector.cpp:454:7:454:12 | memcpy | (void **,size_t,size_t) | | __posix_memalign | 2 | | vector.cpp:454:7:454:12 | memcpy | (void *,size_t,size_t) | | Curl_hash_str | 2 | +| vector.cpp:454:7:454:12 | memcpy | (void *,size_t,size_t) | | __libc_reallocarray | 2 | | vector.cpp:454:7:454:12 | memcpy | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 2 | +| vector.cpp:454:7:454:12 | memcpy | (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 2 | +| vector.cpp:454:7:454:12 | memcpy | (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 2 | +| vector.cpp:454:7:454:12 | memcpy | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 2 | +| vector.cpp:454:7:454:12 | memcpy | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 2 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (BIO *,const EVP_PKEY *,int,pem_password_cb *,void *) | | i2b_PVK_bio | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (BrotliDecoderState *,BrotliDecoderStateInternal *,brotli_decoder_metadata_start_func,brotli_decoder_metadata_chunk_func,void *) | | BrotliDecoderSetMetadataCallbacks | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (EVP_CIPHER_INFO *,unsigned char *,long *,pem_password_cb *,void *) | | PEM_do_header | 4 | @@ -13617,6 +19086,7 @@ signatureMatches | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (char *,size_t,size_t *,const OSSL_PARAM[],void *) | | ossl_pw_passphrase_callback_dec | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (char *,size_t,size_t *,const OSSL_PARAM[],void *) | | ossl_pw_passphrase_callback_enc | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (const BIGNUM *,int,..(*)(..),BN_CTX *,void *) | | BN_is_prime | 4 | +| zmq.cpp:14:5:14:21 | zmq_msg_init_data | (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (const char *,const UI_METHOD *,void *,OSSL_STORE_post_process_info_fn,void *) | | OSSL_STORE_open | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (const char *,int,int,..(*)(..),void *) | | CONF_parse_list | 4 | | zmq.cpp:14:5:14:21 | zmq_msg_init_data | (nghttp2_extension *,uint8_t,uint8_t,int32_t,void *) | | nghttp2_frame_extension_init | 4 | @@ -13658,6 +19128,17 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (EVP_RAND_CTX *,unsigned char *,size_t) | | EVP_RAND_nonce | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (FFC_PARAMS *,const unsigned char *,size_t) | | ossl_ffc_params_set_seed | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const char *,size_t) | | _IO_new_do_write | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const void *,size_t) | | _IO_default_xsputn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,void *,size_t) | | _IO_default_xsgetn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,void *,size_t) | | _IO_file_xsgetn | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_aad | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_setiv | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (GCM128_CONTEXT *,unsigned char *,size_t) | | CRYPTO_gcm128_tag | 2 | @@ -13733,6 +19214,7 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (SSL_SESSION *,const unsigned char *,size_t) | | SSL_SESSION_set1_alpn_selected | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (SSL_SESSION *,const unsigned char *,size_t) | | SSL_SESSION_set1_master_key | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (SSL_SESSION *,const void *,size_t) | | SSL_SESSION_set1_ticket_appdata | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (Strtab *,const char *,size_t) | | strtabadd | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_BitUpdate | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (WHIRLPOOL_CTX *,const void *,size_t) | | WHIRLPOOL_Update | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (WPACKET *,BUF_MEM *,size_t) | | WPACKET_init_len | 2 | @@ -13746,6 +19228,15 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_email | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (X509_VERIFY_PARAM *,const char *,size_t) | | X509_VERIFY_PARAM_set1_host | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (X509_VERIFY_PARAM *,const unsigned char *,size_t) | | X509_VERIFY_PARAM_set1_ip | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (bufc_pool *,size_t,size_t) | | Curl_bufcp_init | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (bufq *,size_t,size_t) | | Curl_bufq_init | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (bufref *,const void *,size_t) | | Curl_bufref_memdup | 2 | @@ -13755,6 +19246,9 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (char *,const char *,size_t) | | OPENSSL_strlcat | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (char *,const char *,size_t) | | OPENSSL_strlcpy | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (char *,const char *,size_t) | | uv__strscpy | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (char *,size_t,size_t) | | __getcwd_chk | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const CTLOG_STORE *,const uint8_t *,size_t) | | CTLOG_STORE_get0_log_by_id | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const EC_KEY *,unsigned char *,size_t) | | ossl_ec_key_simple_priv2oct | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const EVP_MD *,const OSSL_ITEM *,size_t) | | ossl_digest_md_to_nid | 2 | @@ -13771,23 +19265,43 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (const char *,char **,size_t) | | OSSL_PARAM_construct_utf8_ptr | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | __libc_ns_makecanon | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | __libc_ns_makecanon | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | __realpath_chk | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | __realpath_chk | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | getpass_r | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | getpass_r | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | ns_makecanon | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,char *,size_t) | | ns_makecanon | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,const char *,size_t) | | c_strncasecmp | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const char *,const char *,unsigned long) | | __ngettext | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,unsigned char *,size_t) | | OSSL_PARAM_construct_BN | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const char *,void *,size_t) | | uv__random_readpath | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const charmap_t *,const char *,size_t) | | charmap_find_value | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const sockaddr *,char *,size_t) | | uv_ip_name | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (const sockaddr *,char *,size_t) | | uv_ip_name | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const unsigned char *,size_t,size_t) | | ossl_rand_pool_attach | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const void *,size_t,size_t) | | support_blob_repeat_allocate | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const_nis_name,char *,size_t) | | nis_domain_of_r | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const_nis_name,char *,size_t) | | nis_domain_of_r | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const_nis_name,char *,size_t) | | nis_leaf_of_r | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const_nis_name,char *,size_t) | | nis_leaf_of_r | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (const_nis_name,char *,size_t) | | nis_name_of_r | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (const_nis_name,char *,size_t) | | nis_name_of_r | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (curl_mimepart *,const char *,size_t) | | curl_mime_data | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (curve448_scalar_t,const unsigned char *,size_t) | | ossl_curve448_scalar_decode_long | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (dynbuf *,const void *,size_t) | | Curl_dyn_addn | 2 | @@ -13799,11 +19313,19 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (int *,int *,size_t) | | EVP_PBE_get | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | Curl_strerror | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | Curl_strerror | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | __strerror_r | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | __strerror_r | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | __ttyname_r | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | __ttyname_r | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | uv_err_name_r | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | uv_err_name_r | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | uv_strerror_r | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (int,char *,size_t) | | uv_strerror_r | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,const void *,size_t) | | _nl_intern_locale_data | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,const void *,size_t) | | writeall | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (int,int,size_t) | | BrotliEncoderEstimatePeakMemoryUsage | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (int,void *,size_t) | | __readall | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (nghttp2_buf *,uint8_t *,size_t) | | nghttp2_buf_wrap_init | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (nghttp2_extension *,nghttp2_origin_entry *,size_t) | | nghttp2_frame_origin_init | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (nghttp2_extpri *,const uint8_t *,size_t) | | nghttp2_extpri_parse_priority | 2 | @@ -13814,6 +19336,9 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (nghttp2_session *,int32_t,size_t) | | nghttp2_session_consume | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (nghttp2_session *,nghttp2_settings_entry *,size_t) | | nghttp2_session_update_local_settings | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (nghttp2_settings *,nghttp2_settings_entry *,size_t) | | nghttp2_frame_unpack_settings_payload | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (stack_st_SCT **,const unsigned char **,size_t) | | o2i_SCT_LIST | 2 | @@ -13826,14 +19351,22 @@ signatureMatches | zmq.cpp:17:6:17:13 | test_zmc | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (unsigned char *,size_t *,size_t) | | ossl_cipher_padblock | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (unsigned char *,size_t *,size_t) | | ossl_cipher_unpadblock | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (unsigned int,char *,size_t) | | __initstate | 1 | +| zmq.cpp:17:6:17:13 | test_zmc | (unsigned int,char *,size_t) | | __initstate | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (uv_thread_t *,char *,size_t) | | uv__thread_getname | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (uv_thread_t *,char *,size_t) | | uv__thread_getname | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (uv_thread_t *,char *,size_t) | | uv_thread_getaffinity | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (uv_thread_t *,char *,size_t) | | uv_thread_getaffinity | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (uv_thread_t *,char *,size_t) | | uv_thread_getname | 1 | | zmq.cpp:17:6:17:13 | test_zmc | (uv_thread_t *,char *,size_t) | | uv_thread_getname | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (void **,size_t,size_t) | | __posix_memalign | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (void *,size_t,size_t) | | Curl_hash_str | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (void *,size_t,size_t) | | __libc_reallocarray | 2 | | zmq.cpp:17:6:17:13 | test_zmc | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 2 | +| zmq.cpp:17:6:17:13 | test_zmc | (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 2 | getSignatureParameterName | (..(*)(..)) | | ASN1_SCTX_new | 0 | ..(*)(..) | | (..(*)(..)) | | ossl_pqueue_new | 0 | ..(*)(..) | @@ -13845,6 +19378,9 @@ getSignatureParameterName | (..(*)(..),..(*)(..),..(*)(..),void *) | | libssh2_session_init_ex | 1 | ..(*)(..) | | (..(*)(..),..(*)(..),..(*)(..),void *) | | libssh2_session_init_ex | 2 | ..(*)(..) | | (..(*)(..),..(*)(..),..(*)(..),void *) | | libssh2_session_init_ex | 3 | void * | +| (..(*)(..),const void *,unsigned int) | | __nis_create_callback | 0 | ..(*)(..) | +| (..(*)(..),const void *,unsigned int) | | __nis_create_callback | 1 | const void * | +| (..(*)(..),const void *,unsigned int) | | __nis_create_callback | 2 | unsigned int | | (..(*)(..),d2i_of_void *,BIO *,void **) | | ASN1_d2i_bio | 0 | ..(*)(..) | | (..(*)(..),d2i_of_void *,BIO *,void **) | | ASN1_d2i_bio | 1 | d2i_of_void * | | (..(*)(..),d2i_of_void *,BIO *,void **) | | ASN1_d2i_bio | 2 | BIO * | @@ -13853,13 +19389,27 @@ getSignatureParameterName | (..(*)(..),d2i_of_void *,FILE *,void **) | | ASN1_d2i_fp | 1 | d2i_of_void * | | (..(*)(..),d2i_of_void *,FILE *,void **) | | ASN1_d2i_fp | 2 | FILE * | | (..(*)(..),d2i_of_void *,FILE *,void **) | | ASN1_d2i_fp | 3 | void ** | +| (..(*)(..),int,char **,..(*)(..),..(*)(..),void *) | | __libc_start_main_impl | 0 | ..(*)(..) | +| (..(*)(..),int,char **,..(*)(..),..(*)(..),void *) | | __libc_start_main_impl | 1 | int | +| (..(*)(..),int,char **,..(*)(..),..(*)(..),void *) | | __libc_start_main_impl | 2 | char ** | +| (..(*)(..),int,char **,..(*)(..),..(*)(..),void *) | | __libc_start_main_impl | 3 | ..(*)(..) | +| (..(*)(..),int,char **,..(*)(..),..(*)(..),void *) | | __libc_start_main_impl | 4 | ..(*)(..) | +| (..(*)(..),int,char **,..(*)(..),..(*)(..),void *) | | __libc_start_main_impl | 5 | void * | | (..(*)(..),void *) | | OSSL_STORE_do_all_loaders | 0 | ..(*)(..) | | (..(*)(..),void *) | | OSSL_STORE_do_all_loaders | 1 | void * | +| (..(*)(..),void *) | | _dlerror_run | 0 | ..(*)(..) | +| (..(*)(..),void *) | | _dlerror_run | 1 | void * | +| (..(*)(..),void *) | __pthread_cleanup_class | __pthread_cleanup_class | 0 | ..(*)(..) | +| (..(*)(..),void *) | __pthread_cleanup_class | __pthread_cleanup_class | 1 | void * | | (..(*)(..),void *,OSSL_STATM *,const OSSL_CC_METHOD *,OSSL_CC_DATA *) | | ossl_ackm_new | 0 | ..(*)(..) | | (..(*)(..),void *,OSSL_STATM *,const OSSL_CC_METHOD *,OSSL_CC_DATA *) | | ossl_ackm_new | 1 | void * | | (..(*)(..),void *,OSSL_STATM *,const OSSL_CC_METHOD *,OSSL_CC_DATA *) | | ossl_ackm_new | 2 | OSSL_STATM * | | (..(*)(..),void *,OSSL_STATM *,const OSSL_CC_METHOD *,OSSL_CC_DATA *) | | ossl_ackm_new | 3 | const OSSL_CC_METHOD * | | (..(*)(..),void *,OSSL_STATM *,const OSSL_CC_METHOD *,OSSL_CC_DATA *) | | ossl_ackm_new | 4 | OSSL_CC_DATA * | +| (..(*)(..),void *,void *,exit_function_list **) | | __internal_atexit | 0 | ..(*)(..) | +| (..(*)(..),void *,void *,exit_function_list **) | | __internal_atexit | 1 | void * | +| (..(*)(..),void *,void *,exit_function_list **) | | __internal_atexit | 2 | void * | +| (..(*)(..),void *,void *,exit_function_list **) | | __internal_atexit | 3 | exit_function_list ** | | (ACCESS_DESCRIPTION *) | | ACCESS_DESCRIPTION_free | 0 | ACCESS_DESCRIPTION * | | (ACCESS_DESCRIPTION **,const unsigned char **,long) | | d2i_ACCESS_DESCRIPTION | 0 | ACCESS_DESCRIPTION ** | | (ACCESS_DESCRIPTION **,const unsigned char **,long) | | d2i_ACCESS_DESCRIPTION | 1 | const unsigned char ** | @@ -15800,6 +21350,7 @@ getSignatureParameterName | (CERTIFICATEPOLICIES **,const unsigned char **,long) | | d2i_CERTIFICATEPOLICIES | 0 | CERTIFICATEPOLICIES ** | | (CERTIFICATEPOLICIES **,const unsigned char **,long) | | d2i_CERTIFICATEPOLICIES | 1 | const unsigned char ** | | (CERTIFICATEPOLICIES **,const unsigned char **,long) | | d2i_CERTIFICATEPOLICIES | 2 | long | +| (CHARMAP_DIR *) | | charmap_readdir | 0 | CHARMAP_DIR * | | (CMAC_CTX *) | | CMAC_CTX_get0_cipher_ctx | 0 | CMAC_CTX * | | (CMAC_CTX *,const CMAC_CTX *) | | CMAC_CTX_copy | 0 | CMAC_CTX * | | (CMAC_CTX *,const CMAC_CTX *) | | CMAC_CTX_copy | 1 | const CMAC_CTX * | @@ -16673,6 +22224,18 @@ getSignatureParameterName | (DH_METHOD *,int) | | DH_meth_set_flags | 1 | int | | (DH_METHOD *,void *) | | DH_meth_set0_app_data | 0 | DH_METHOD * | | (DH_METHOD *,void *) | | DH_meth_set0_app_data | 1 | void * | +| (DIR *) | | __dirfd | 0 | DIR * | +| (DIR *) | | __readdir64 | 0 | DIR * | +| (DIR *) | | telldir | 0 | DIR * | +| (DIR *,dirent64 ***,..(*)(..),..(*)(..)) | | __scandir64_tail | 0 | DIR * | +| (DIR *,dirent64 ***,..(*)(..),..(*)(..)) | | __scandir64_tail | 1 | dirent64 *** | +| (DIR *,dirent64 ***,..(*)(..),..(*)(..)) | | __scandir64_tail | 2 | ..(*)(..) | +| (DIR *,dirent64 ***,..(*)(..),..(*)(..)) | | __scandir64_tail | 3 | ..(*)(..) | +| (DIR *,dirent64 *,dirent64 **) | | __readdir64_r | 0 | DIR * | +| (DIR *,dirent64 *,dirent64 **) | | __readdir64_r | 1 | dirent64 * | +| (DIR *,dirent64 *,dirent64 **) | | __readdir64_r | 2 | dirent64 ** | +| (DIR *,long) | | seekdir | 0 | DIR * | +| (DIR *,long) | | seekdir | 1 | long | | (DIST_POINT *) | | DIST_POINT_free | 0 | DIST_POINT * | | (DIST_POINT **,const unsigned char **,long) | | d2i_DIST_POINT | 0 | DIST_POINT ** | | (DIST_POINT **,const unsigned char **,long) | | d2i_DIST_POINT | 1 | const unsigned char ** | @@ -17037,6 +22600,12 @@ getSignatureParameterName | (ENGINE_TABLE **,int,const char *,int) | | ossl_engine_table_select | 1 | int | | (ENGINE_TABLE **,int,const char *,int) | | ossl_engine_table_select | 2 | const char * | | (ENGINE_TABLE **,int,const char *,int) | | ossl_engine_table_select | 3 | int | +| (ENTRY,ACTION) | | hsearch | 0 | ENTRY | +| (ENTRY,ACTION) | | hsearch | 1 | ACTION | +| (ENTRY,ACTION,ENTRY **,hsearch_data *) | | __hsearch_r | 0 | ENTRY | +| (ENTRY,ACTION,ENTRY **,hsearch_data *) | | __hsearch_r | 1 | ACTION | +| (ENTRY,ACTION,ENTRY **,hsearch_data *) | | __hsearch_r | 2 | ENTRY ** | +| (ENTRY,ACTION,ENTRY **,hsearch_data *) | | __hsearch_r | 3 | hsearch_data * | | (ESS_CERT_ID *) | | ESS_CERT_ID_free | 0 | ESS_CERT_ID * | | (ESS_CERT_ID **,const unsigned char **,long) | | d2i_ESS_CERT_ID | 0 | ESS_CERT_ID ** | | (ESS_CERT_ID **,const unsigned char **,long) | | d2i_ESS_CERT_ID | 1 | const unsigned char ** | @@ -18041,6 +23610,31 @@ getSignatureParameterName | (EXTENDED_KEY_USAGE **,const unsigned char **,long) | | d2i_EXTENDED_KEY_USAGE | 0 | EXTENDED_KEY_USAGE ** | | (EXTENDED_KEY_USAGE **,const unsigned char **,long) | | d2i_EXTENDED_KEY_USAGE | 1 | const unsigned char ** | | (EXTENDED_KEY_USAGE **,const unsigned char **,long) | | d2i_EXTENDED_KEY_USAGE | 2 | long | +| (Elf64_Addr,Lmid_t) | | _dl_debug_initialize | 0 | Elf64_Addr | +| (Elf64_Addr,Lmid_t) | | _dl_debug_initialize | 1 | Lmid_t | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 0 | Elf64_Sym * | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 1 | Elf_Sym * | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 2 | unsigned int | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 3 | uintptr_t * | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 4 | uintptr_t * | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 5 | unsigned int * | +| (Elf64_Sym *,Elf_Sym *,unsigned int,uintptr_t *,uintptr_t *,unsigned int *,const char *) | | la_symbind64 | 6 | const char * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 0 | Elf64_Sym * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 1 | unsigned int | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 2 | uintptr_t * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 3 | uintptr_t * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 4 | La_x86_64_regs * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 5 | unsigned int * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 6 | const char * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,La_x86_64_regs *,unsigned int *,const char *,long *) | | la_x86_64_gnu_pltenter | 7 | long * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 0 | Elf64_Sym * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 1 | unsigned int | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 2 | uintptr_t * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 3 | uintptr_t * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 4 | const La_x86_64_regs * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 5 | La_x86_64_retval * | +| (Elf64_Sym *,unsigned int,uintptr_t *,uintptr_t *,const La_x86_64_regs *,La_x86_64_retval *,const char *) | | la_x86_64_gnu_pltexit | 6 | const char * | +| (Elf64_auxv_t *) | | _dl_aux_init | 0 | Elf64_auxv_t * | | (FFC_PARAMS *,BIGNUM *) | | ossl_ffc_params_set0_j | 0 | FFC_PARAMS * | | (FFC_PARAMS *,BIGNUM *) | | ossl_ffc_params_set0_j | 1 | BIGNUM * | | (FFC_PARAMS *,BIGNUM *,BIGNUM *,BIGNUM *) | | ossl_ffc_params_set0_pqg | 0 | FFC_PARAMS * | @@ -18074,6 +23668,49 @@ getSignatureParameterName | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 0 | FFC_PARAMS * | | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 1 | unsigned int | | (FFC_PARAMS *,unsigned int,int) | | ossl_ffc_params_enable_flags | 2 | int | +| (FILE *) | | _IO_default_uflow | 0 | FILE * | +| (FILE *) | | _IO_feof | 0 | FILE * | +| (FILE *) | | _IO_ferror | 0 | FILE * | +| (FILE *) | | _IO_file_close_mmap | 0 | FILE * | +| (FILE *) | | _IO_file_underflow_mmap | 0 | FILE * | +| (FILE *) | | _IO_ftell | 0 | FILE * | +| (FILE *) | | _IO_getc | 0 | FILE * | +| (FILE *) | | _IO_getwc | 0 | FILE * | +| (FILE *) | | _IO_new_file_underflow | 0 | FILE * | +| (FILE *) | | _IO_peekc_locked | 0 | FILE * | +| (FILE *) | | _IO_str_count | 0 | FILE * | +| (FILE *) | | _IO_str_underflow | 0 | FILE * | +| (FILE *) | | _IO_sungetc | 0 | FILE * | +| (FILE *) | | _IO_sungetwc | 0 | FILE * | +| (FILE *) | | _IO_wdefault_uflow | 0 | FILE * | +| (FILE *) | | _IO_wfile_underflow | 0 | FILE * | +| (FILE *) | | _IO_wfile_underflow_mmap | 0 | FILE * | +| (FILE *) | | _IO_wstr_count | 0 | FILE * | +| (FILE *) | | _IO_wstr_underflow | 0 | FILE * | +| (FILE *) | | __fbufsize | 0 | FILE * | +| (FILE *) | | __feof_unlocked | 0 | FILE * | +| (FILE *) | | __ferror_unlocked | 0 | FILE * | +| (FILE *) | | __fileno | 0 | FILE * | +| (FILE *) | | __flbf | 0 | FILE * | +| (FILE *) | | __fopen_maybe_mmap | 0 | FILE * | +| (FILE *) | | __fpending | 0 | FILE * | +| (FILE *) | | __ftello | 0 | FILE * | +| (FILE *) | | __fwriting | 0 | FILE * | +| (FILE *) | | __getc_unlocked | 0 | FILE * | +| (FILE *) | | __getwc_unlocked | 0 | FILE * | +| (FILE *) | | __uflow | 0 | FILE * | +| (FILE *) | | __underflow | 0 | FILE * | +| (FILE *) | | __wuflow | 0 | FILE * | +| (FILE *) | | __wunderflow | 0 | FILE * | +| (FILE *) | | feof_unlocked | 0 | FILE * | +| (FILE *) | | ferror_unlocked | 0 | FILE * | +| (FILE *) | | fgetc_unlocked | 0 | FILE * | +| (FILE *) | | fgetgrent | 0 | FILE * | +| (FILE *) | | fgetpwent | 0 | FILE * | +| (FILE *) | | fgetsgent | 0 | FILE * | +| (FILE *) | | fgetspent | 0 | FILE * | +| (FILE *) | | getc_unlocked | 0 | FILE * | +| (FILE *) | | getmntent | 0 | FILE * | | (FILE *,CMS_ContentInfo **,pem_password_cb *,void *) | | PEM_read_CMS | 0 | FILE * | | (FILE *,CMS_ContentInfo **,pem_password_cb *,void *) | | PEM_read_CMS | 1 | CMS_ContentInfo ** | | (FILE *,CMS_ContentInfo **,pem_password_cb *,void *) | | PEM_read_CMS | 2 | pem_password_cb * | @@ -18150,6 +23787,25 @@ getSignatureParameterName | (FILE *,EVP_PKEY **,pem_password_cb *,void *,OSSL_LIB_CTX *,const char *) | | PEM_read_PrivateKey_ex | 3 | void * | | (FILE *,EVP_PKEY **,pem_password_cb *,void *,OSSL_LIB_CTX *,const char *) | | PEM_read_PrivateKey_ex | 4 | OSSL_LIB_CTX * | | (FILE *,EVP_PKEY **,pem_password_cb *,void *,OSSL_LIB_CTX *,const char *) | | PEM_read_PrivateKey_ex | 5 | const char * | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfscanf | 0 | FILE * | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfscanf | 1 | FILE *__restrict__ | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfscanf | 2 | const char * | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfscanf | 3 | const char *__restrict__ | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfscanf | 4 | __gnuc_va_list | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfscanf | 5 | va_list | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfscanf | 0 | FILE * | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfscanf | 1 | FILE *__restrict__ | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfscanf | 2 | const char * | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfscanf | 3 | const char *__restrict__ | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfscanf | 4 | __gnuc_va_list | +| (FILE *,FILE *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfscanf | 5 | va_list | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 0 | FILE * | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 1 | FILE *__restrict__ | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 2 | int | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 3 | const wchar_t * | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 4 | const wchar_t *__restrict__ | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 5 | __gnuc_va_list | +| (FILE *,FILE *__restrict__,int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwprintf_chk | 6 | va_list | | (FILE *,NETSCAPE_CERT_SEQUENCE **,pem_password_cb *,void *) | | PEM_read_NETSCAPE_CERT_SEQUENCE | 0 | FILE * | | (FILE *,NETSCAPE_CERT_SEQUENCE **,pem_password_cb *,void *) | | PEM_read_NETSCAPE_CERT_SEQUENCE | 1 | NETSCAPE_CERT_SEQUENCE ** | | (FILE *,NETSCAPE_CERT_SEQUENCE **,pem_password_cb *,void *) | | PEM_read_NETSCAPE_CERT_SEQUENCE | 2 | pem_password_cb * | @@ -18238,11 +23894,68 @@ getSignatureParameterName | (FILE *,X509_SIG **,pem_password_cb *,void *) | | PEM_read_PKCS8 | 1 | X509_SIG ** | | (FILE *,X509_SIG **,pem_password_cb *,void *) | | PEM_read_PKCS8 | 2 | pem_password_cb * | | (FILE *,X509_SIG **,pem_password_cb *,void *) | | PEM_read_PKCS8 | 3 | void * | +| (FILE *,_IO_marker *,int) | | _IO_seekmark | 0 | FILE * | +| (FILE *,_IO_marker *,int) | | _IO_seekmark | 1 | _IO_marker * | +| (FILE *,_IO_marker *,int) | | _IO_seekmark | 2 | int | +| (FILE *,_IO_marker *,int) | | _IO_seekwmark | 0 | FILE * | +| (FILE *,_IO_marker *,int) | | _IO_seekwmark | 1 | _IO_marker * | +| (FILE *,_IO_marker *,int) | | _IO_seekwmark | 2 | int | +| (FILE *,__FILE *,int) | | fwide | 0 | FILE * | +| (FILE *,__FILE *,int) | | fwide | 1 | __FILE * | +| (FILE *,__FILE *,int) | | fwide | 2 | int | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfwscanf | 0 | FILE * | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfwscanf | 1 | __FILE *__restrict__ | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfwscanf | 2 | const wchar_t * | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfwscanf | 3 | const wchar_t *__restrict__ | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfwscanf | 4 | __gnuc_va_list | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vfwscanf | 5 | va_list | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfwscanf | 0 | FILE * | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfwscanf | 1 | __FILE *__restrict__ | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfwscanf | 2 | const wchar_t * | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfwscanf | 3 | const wchar_t *__restrict__ | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfwscanf | 4 | __gnuc_va_list | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vfwscanf | 5 | va_list | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwscanf | 0 | FILE * | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwscanf | 1 | __FILE *__restrict__ | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwscanf | 2 | const wchar_t * | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwscanf | 3 | const wchar_t *__restrict__ | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwscanf | 4 | __gnuc_va_list | +| (FILE *,__FILE *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vfwscanf | 5 | va_list | +| (FILE *,__fpos_t *) | | _IO_new_fgetpos | 0 | FILE * | +| (FILE *,__fpos_t *) | | _IO_new_fgetpos | 1 | __fpos_t * | | (FILE *,char **,char **,unsigned char **,long *) | | PEM_read | 0 | FILE * | | (FILE *,char **,char **,unsigned char **,long *) | | PEM_read | 1 | char ** | | (FILE *,char **,char **,unsigned char **,long *) | | PEM_read | 2 | char ** | | (FILE *,char **,char **,unsigned char **,long *) | | PEM_read | 3 | unsigned char ** | | (FILE *,char **,char **,unsigned char **,long *) | | PEM_read | 4 | long * | +| (FILE *,char *,char *,int) | | _IO_setb | 0 | FILE * | +| (FILE *,char *,char *,int) | | _IO_setb | 1 | char * | +| (FILE *,char *,char *,int) | | _IO_setb | 2 | char * | +| (FILE *,char *,char *,int) | | _IO_setb | 3 | int | +| (FILE *,char *,size_t,int,int) | | _IO_getline | 0 | FILE * | +| (FILE *,char *,size_t,int,int) | | _IO_getline | 1 | char * | +| (FILE *,char *,size_t,int,int) | | _IO_getline | 2 | size_t | +| (FILE *,char *,size_t,int,int) | | _IO_getline | 3 | int | +| (FILE *,char *,size_t,int,int) | | _IO_getline | 4 | int | +| (FILE *,char *,size_t,int,int,int *) | | _IO_getline_info | 0 | FILE * | +| (FILE *,char *,size_t,int,int,int *) | | _IO_getline_info | 1 | char * | +| (FILE *,char *,size_t,int,int,int *) | | _IO_getline_info | 2 | size_t | +| (FILE *,char *,size_t,int,int,int *) | | _IO_getline_info | 3 | int | +| (FILE *,char *,size_t,int,int,int *) | | _IO_getline_info | 4 | int | +| (FILE *,char *,size_t,int,int,int *) | | _IO_getline_info | 5 | int * | +| (FILE *,char *,size_t,off64_t *) | | __nss_readline | 0 | FILE * | +| (FILE *,char *,size_t,off64_t *) | | __nss_readline | 1 | char * | +| (FILE *,char *,size_t,off64_t *) | | __nss_readline | 2 | size_t | +| (FILE *,char *,size_t,off64_t *) | | __nss_readline | 3 | off64_t * | +| (FILE *,char *,ssize_t) | | _IO_default_setbuf | 0 | FILE * | +| (FILE *,char *,ssize_t) | | _IO_default_setbuf | 1 | char * | +| (FILE *,char *,ssize_t) | | _IO_default_setbuf | 2 | ssize_t | +| (FILE *,char *,ssize_t) | | _IO_file_setbuf_mmap | 0 | FILE * | +| (FILE *,char *,ssize_t) | | _IO_file_setbuf_mmap | 1 | char * | +| (FILE *,char *,ssize_t) | | _IO_file_setbuf_mmap | 2 | ssize_t | +| (FILE *,char *,ssize_t) | | _IO_new_file_setbuf | 0 | FILE * | +| (FILE *,char *,ssize_t) | | _IO_new_file_setbuf | 1 | char * | +| (FILE *,char *,ssize_t) | | _IO_new_file_setbuf | 2 | ssize_t | | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 0 | FILE * | | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 1 | const ASN1_STRING * | | (FILE *,const ASN1_STRING *,unsigned long) | | ASN1_STRING_print_ex_fp | 2 | unsigned long | @@ -18389,6 +24102,16 @@ getSignatureParameterName | (FILE *,const X509_REQ *) | | i2d_X509_REQ_fp | 1 | const X509_REQ * | | (FILE *,const X509_SIG *) | | PEM_write_PKCS8 | 0 | FILE * | | (FILE *,const X509_SIG *) | | PEM_write_PKCS8 | 1 | const X509_SIG * | +| (FILE *,const __fpos_t *) | | _IO_new_fsetpos | 0 | FILE * | +| (FILE *,const __fpos_t *) | | _IO_new_fsetpos | 1 | const __fpos_t * | +| (FILE *,const char *,__gnuc_va_list,va_list,unsigned int) | | __vfxprintf | 0 | FILE * | +| (FILE *,const char *,__gnuc_va_list,va_list,unsigned int) | | __vfxprintf | 1 | const char * | +| (FILE *,const char *,__gnuc_va_list,va_list,unsigned int) | | __vfxprintf | 2 | __gnuc_va_list | +| (FILE *,const char *,__gnuc_va_list,va_list,unsigned int) | | __vfxprintf | 3 | va_list | +| (FILE *,const char *,__gnuc_va_list,va_list,unsigned int) | | __vfxprintf | 4 | unsigned int | +| (FILE *,const char *,const char *) | | _IO_new_proc_open | 0 | FILE * | +| (FILE *,const char *,const char *) | | _IO_new_proc_open | 1 | const char * | +| (FILE *,const char *,const char *) | | _IO_new_proc_open | 2 | const char * | | (FILE *,const char *,const char *,const char *,...) | | version_etc | 0 | FILE * | | (FILE *,const char *,const char *,const char *,...) | | version_etc | 1 | const char * | | (FILE *,const char *,const char *,const char *,...) | | version_etc | 2 | const char * | @@ -18410,14 +24133,123 @@ getSignatureParameterName | (FILE *,const char *,const char *,const char *,va_list) | | version_etc_va | 2 | const char * | | (FILE *,const char *,const char *,const char *,va_list) | | version_etc_va | 3 | const char * | | (FILE *,const char *,const char *,const char *,va_list) | | version_etc_va | 4 | va_list | +| (FILE *,const char *,const char *,int) | | _IO_new_file_fopen | 0 | FILE * | +| (FILE *,const char *,const char *,int) | | _IO_new_file_fopen | 1 | const char * | +| (FILE *,const char *,const char *,int) | | _IO_new_file_fopen | 2 | const char * | +| (FILE *,const char *,const char *,int) | | _IO_new_file_fopen | 3 | int | +| (FILE *,const char *,int,int,int,int) | | _IO_file_open | 0 | FILE * | +| (FILE *,const char *,int,int,int,int) | | _IO_file_open | 1 | const char * | +| (FILE *,const char *,int,int,int,int) | | _IO_file_open | 2 | int | +| (FILE *,const char *,int,int,int,int) | | _IO_file_open | 3 | int | +| (FILE *,const char *,int,int,int,int) | | _IO_file_open | 4 | int | +| (FILE *,const char *,int,int,int,int) | | _IO_file_open | 5 | int | +| (FILE *,const char *,kw_hash_fct_t) | | lr_create | 0 | FILE * | +| (FILE *,const char *,kw_hash_fct_t) | | lr_create | 1 | const char * | +| (FILE *,const char *,kw_hash_fct_t) | | lr_create | 2 | kw_hash_fct_t | +| (FILE *,const char *,size_t) | | _IO_new_do_write | 0 | FILE * | +| (FILE *,const char *,size_t) | | _IO_new_do_write | 1 | const char * | +| (FILE *,const char *,size_t) | | _IO_new_do_write | 2 | size_t | +| (FILE *,const char *,va_list) | | ___vfscanf | 0 | FILE * | +| (FILE *,const char *,va_list) | | ___vfscanf | 1 | const char * | +| (FILE *,const char *,va_list) | | ___vfscanf | 2 | va_list | +| (FILE *,const char *,va_list) | | __vfprintf | 0 | FILE * | +| (FILE *,const char *,va_list) | | __vfprintf | 1 | const char * | +| (FILE *,const char *,va_list) | | __vfprintf | 2 | va_list | | (FILE *,const char *,va_list) | | curl_mvfprintf | 0 | FILE * | | (FILE *,const char *,va_list) | | curl_mvfprintf | 1 | const char * | | (FILE *,const char *,va_list) | | curl_mvfprintf | 2 | va_list | +| (FILE *,const char *,va_list,int *) | | __IO_vfscanf | 0 | FILE * | +| (FILE *,const char *,va_list,int *) | | __IO_vfscanf | 1 | const char * | +| (FILE *,const char *,va_list,int *) | | __IO_vfscanf | 2 | va_list | +| (FILE *,const char *,va_list,int *) | | __IO_vfscanf | 3 | int * | +| (FILE *,const char *,va_list,unsigned int) | | __vfprintf_internal | 0 | FILE * | +| (FILE *,const char *,va_list,unsigned int) | | __vfprintf_internal | 1 | const char * | +| (FILE *,const char *,va_list,unsigned int) | | __vfprintf_internal | 2 | va_list | +| (FILE *,const char *,va_list,unsigned int) | | __vfprintf_internal | 3 | unsigned int | +| (FILE *,const char *,va_list,unsigned int) | | __vfscanf_internal | 0 | FILE * | +| (FILE *,const char *,va_list,unsigned int) | | __vfscanf_internal | 1 | const char * | +| (FILE *,const char *,va_list,unsigned int) | | __vfscanf_internal | 2 | va_list | +| (FILE *,const char *,va_list,unsigned int) | | __vfscanf_internal | 3 | unsigned int | +| (FILE *,const mntent *) | | __addmntent | 0 | FILE * | +| (FILE *,const mntent *) | | __addmntent | 1 | const mntent * | +| (FILE *,const printf_info *,const void *const *) | | __printf_size | 0 | FILE * | +| (FILE *,const printf_info *,const void *const *) | | __printf_size | 1 | const printf_info * | +| (FILE *,const printf_info *,const void *const *) | | __printf_size | 2 | const void *const * | +| (FILE *,const void *,size_t) | | _IO_default_xsputn | 0 | FILE * | +| (FILE *,const void *,size_t) | | _IO_default_xsputn | 1 | const void * | +| (FILE *,const void *,size_t) | | _IO_default_xsputn | 2 | size_t | +| (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 0 | FILE * | +| (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 1 | const void * | +| (FILE *,const void *,size_t) | | _IO_new_file_xsputn | 2 | size_t | +| (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 0 | FILE * | +| (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 1 | const void * | +| (FILE *,const void *,size_t) | | _IO_wdefault_xsputn | 2 | size_t | +| (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 0 | FILE * | +| (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 1 | const void * | +| (FILE *,const void *,size_t) | | _IO_wfile_xsputn | 2 | size_t | +| (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 0 | FILE * | +| (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 1 | const void * | +| (FILE *,const void *,size_t) | | __printf_buffer_as_file_xsputn | 2 | size_t | +| (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 0 | FILE * | +| (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 1 | const void * | +| (FILE *,const void *,size_t) | | __wprintf_buffer_as_file_xsputn | 2 | size_t | +| (FILE *,const void *,ssize_t) | | _IO_new_file_write | 0 | FILE * | +| (FILE *,const void *,ssize_t) | | _IO_new_file_write | 1 | const void * | +| (FILE *,const void *,ssize_t) | | _IO_new_file_write | 2 | ssize_t | +| (FILE *,const wchar_t *,va_list) | | __vfwprintf | 0 | FILE * | +| (FILE *,const wchar_t *,va_list) | | __vfwprintf | 1 | const wchar_t * | +| (FILE *,const wchar_t *,va_list) | | __vfwprintf | 2 | va_list | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwprintf_internal | 0 | FILE * | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwprintf_internal | 1 | const wchar_t * | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwprintf_internal | 2 | va_list | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwprintf_internal | 3 | unsigned int | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwscanf_internal | 0 | FILE * | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwscanf_internal | 1 | const wchar_t * | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwscanf_internal | 2 | va_list | +| (FILE *,const wchar_t *,va_list,unsigned int) | | __vfwscanf_internal | 3 | unsigned int | +| (FILE *,group *,char *,size_t,group **) | | __fgetgrent_r | 0 | FILE * | +| (FILE *,group *,char *,size_t,group **) | | __fgetgrent_r | 1 | group * | +| (FILE *,group *,char *,size_t,group **) | | __fgetgrent_r | 2 | char * | +| (FILE *,group *,char *,size_t,group **) | | __fgetgrent_r | 3 | size_t | +| (FILE *,group *,char *,size_t,group **) | | __fgetgrent_r | 4 | group ** | | (FILE *,int *) | | tplt_skip_header | 0 | FILE * | | (FILE *,int *) | | tplt_skip_header | 1 | int * | +| (FILE *,int) | | _IO_default_pbackfail | 0 | FILE * | +| (FILE *,int) | | _IO_default_pbackfail | 1 | int | +| (FILE *,int) | | _IO_fwide | 0 | FILE * | +| (FILE *,int) | | _IO_fwide | 1 | int | +| (FILE *,int) | | _IO_init | 0 | FILE * | +| (FILE *,int) | | _IO_init | 1 | int | +| (FILE *,int) | | _IO_init_internal | 0 | FILE * | +| (FILE *,int) | | _IO_init_internal | 1 | int | +| (FILE *,int) | | _IO_new_file_attach | 0 | FILE * | +| (FILE *,int) | | _IO_new_file_attach | 1 | int | +| (FILE *,int) | | _IO_new_file_overflow | 0 | FILE * | +| (FILE *,int) | | _IO_new_file_overflow | 1 | int | +| (FILE *,int) | | _IO_old_init | 0 | FILE * | +| (FILE *,int) | | _IO_old_init | 1 | int | +| (FILE *,int) | | _IO_sputbackc | 0 | FILE * | +| (FILE *,int) | | _IO_sputbackc | 1 | int | +| (FILE *,int) | | _IO_str_overflow | 0 | FILE * | +| (FILE *,int) | | _IO_str_overflow | 1 | int | +| (FILE *,int) | | _IO_str_pbackfail | 0 | FILE * | +| (FILE *,int) | | _IO_str_pbackfail | 1 | int | +| (FILE *,int) | | __printf_buffer_as_file_overflow | 0 | FILE * | +| (FILE *,int) | | __printf_buffer_as_file_overflow | 1 | int | +| (FILE *,int) | | __wprintf_buffer_as_file_overflow | 0 | FILE * | +| (FILE *,int) | | __wprintf_buffer_as_file_overflow | 1 | int | | (FILE *,int,char *) | | tplt_linedir | 0 | FILE * | | (FILE *,int,char *) | | tplt_linedir | 1 | int | | (FILE *,int,char *) | | tplt_linedir | 2 | char * | +| (FILE *,int,const char *,va_list) | | ___vfprintf_chk | 0 | FILE * | +| (FILE *,int,const char *,va_list) | | ___vfprintf_chk | 1 | int | +| (FILE *,int,const char *,va_list) | | ___vfprintf_chk | 2 | const char * | +| (FILE *,int,const char *,va_list) | | ___vfprintf_chk | 3 | va_list | +| (FILE *,int,int,_IO_wide_data *,const _IO_jump_t *) | | _IO_no_init | 0 | FILE * | +| (FILE *,int,int,_IO_wide_data *,const _IO_jump_t *) | | _IO_no_init | 1 | int | +| (FILE *,int,int,_IO_wide_data *,const _IO_jump_t *) | | _IO_no_init | 2 | int | +| (FILE *,int,int,_IO_wide_data *,const _IO_jump_t *) | | _IO_no_init | 3 | _IO_wide_data * | +| (FILE *,int,int,_IO_wide_data *,const _IO_jump_t *) | | _IO_no_init | 4 | const _IO_jump_t * | | (FILE *,lemon *,char *,int *) | | tplt_print | 0 | FILE * | | (FILE *,lemon *,char *,int *) | | tplt_print | 1 | lemon * | | (FILE *,lemon *,char *,int *) | | tplt_print | 2 | char * | @@ -18426,6 +24258,38 @@ getSignatureParameterName | (FILE *,lemon *,int *,int) | | print_stack_union | 1 | lemon * | | (FILE *,lemon *,int *,int) | | print_stack_union | 2 | int * | | (FILE *,lemon *,int *,int) | | print_stack_union | 3 | int | +| (FILE *,mntent *,char *,int) | | __getmntent_r | 0 | FILE * | +| (FILE *,mntent *,char *,int) | | __getmntent_r | 1 | mntent * | +| (FILE *,mntent *,char *,int) | | __getmntent_r | 2 | char * | +| (FILE *,mntent *,char *,int) | | __getmntent_r | 3 | int | +| (FILE *,off64_t,int) | | _IO_cookie_seek | 0 | FILE * | +| (FILE *,off64_t,int) | | _IO_cookie_seek | 1 | off64_t | +| (FILE *,off64_t,int) | | _IO_cookie_seek | 2 | int | +| (FILE *,off64_t,int,int) | | _IO_file_seekoff_mmap | 0 | FILE * | +| (FILE *,off64_t,int,int) | | _IO_file_seekoff_mmap | 1 | off64_t | +| (FILE *,off64_t,int,int) | | _IO_file_seekoff_mmap | 2 | int | +| (FILE *,off64_t,int,int) | | _IO_file_seekoff_mmap | 3 | int | +| (FILE *,off64_t,int,int) | | _IO_new_file_seekoff | 0 | FILE * | +| (FILE *,off64_t,int,int) | | _IO_new_file_seekoff | 1 | off64_t | +| (FILE *,off64_t,int,int) | | _IO_new_file_seekoff | 2 | int | +| (FILE *,off64_t,int,int) | | _IO_new_file_seekoff | 3 | int | +| (FILE *,off64_t,int,int) | | _IO_str_seekoff | 0 | FILE * | +| (FILE *,off64_t,int,int) | | _IO_str_seekoff | 1 | off64_t | +| (FILE *,off64_t,int,int) | | _IO_str_seekoff | 2 | int | +| (FILE *,off64_t,int,int) | | _IO_str_seekoff | 3 | int | +| (FILE *,off64_t,int,int) | | _IO_wfile_seekoff | 0 | FILE * | +| (FILE *,off64_t,int,int) | | _IO_wfile_seekoff | 1 | off64_t | +| (FILE *,off64_t,int,int) | | _IO_wfile_seekoff | 2 | int | +| (FILE *,off64_t,int,int) | | _IO_wfile_seekoff | 3 | int | +| (FILE *,off64_t,int,int) | | _IO_wstr_seekoff | 0 | FILE * | +| (FILE *,off64_t,int,int) | | _IO_wstr_seekoff | 1 | off64_t | +| (FILE *,off64_t,int,int) | | _IO_wstr_seekoff | 2 | int | +| (FILE *,off64_t,int,int) | | _IO_wstr_seekoff | 3 | int | +| (FILE *,passwd *,char *,size_t,passwd **) | | __fgetpwent_r | 0 | FILE * | +| (FILE *,passwd *,char *,size_t,passwd **) | | __fgetpwent_r | 1 | passwd * | +| (FILE *,passwd *,char *,size_t,passwd **) | | __fgetpwent_r | 2 | char * | +| (FILE *,passwd *,char *,size_t,passwd **) | | __fgetpwent_r | 3 | size_t | +| (FILE *,passwd *,char *,size_t,passwd **) | | __fgetpwent_r | 4 | passwd ** | | (FILE *,rule *) | | rule_print | 0 | FILE * | | (FILE *,rule *) | | rule_print | 1 | rule * | | (FILE *,rule *,int) | | RulePrint | 0 | FILE * | @@ -18435,6 +24299,20 @@ getSignatureParameterName | (FILE *,rule *,lemon *,int *) | | emit_code | 1 | rule * | | (FILE *,rule *,lemon *,int *) | | emit_code | 2 | lemon * | | (FILE *,rule *,lemon *,int *) | | emit_code | 3 | int * | +| (FILE *,sgrp *,char *,size_t,sgrp **) | | __fgetsgent_r | 0 | FILE * | +| (FILE *,sgrp *,char *,size_t,sgrp **) | | __fgetsgent_r | 1 | sgrp * | +| (FILE *,sgrp *,char *,size_t,sgrp **) | | __fgetsgent_r | 2 | char * | +| (FILE *,sgrp *,char *,size_t,sgrp **) | | __fgetsgent_r | 3 | size_t | +| (FILE *,sgrp *,char *,size_t,sgrp **) | | __fgetsgent_r | 4 | sgrp ** | +| (FILE *,size_t,size_t,ssize_t) | | __argp_make_fmtstream | 0 | FILE * | +| (FILE *,size_t,size_t,ssize_t) | | __argp_make_fmtstream | 1 | size_t | +| (FILE *,size_t,size_t,ssize_t) | | __argp_make_fmtstream | 2 | size_t | +| (FILE *,size_t,size_t,ssize_t) | | __argp_make_fmtstream | 3 | ssize_t | +| (FILE *,spwd *,char *,size_t,spwd **) | | __fgetspent_r | 0 | FILE * | +| (FILE *,spwd *,char *,size_t,spwd **) | | __fgetspent_r | 1 | spwd * | +| (FILE *,spwd *,char *,size_t,spwd **) | | __fgetspent_r | 2 | char * | +| (FILE *,spwd *,char *,size_t,spwd **) | | __fgetspent_r | 3 | size_t | +| (FILE *,spwd *,char *,size_t,spwd **) | | __fgetspent_r | 4 | spwd ** | | (FILE *,stack_st_X509_INFO *,pem_password_cb *,void *) | | PEM_X509_INFO_read | 0 | FILE * | | (FILE *,stack_st_X509_INFO *,pem_password_cb *,void *) | | PEM_X509_INFO_read | 1 | stack_st_X509_INFO * | | (FILE *,stack_st_X509_INFO *,pem_password_cb *,void *) | | PEM_X509_INFO_read | 2 | pem_password_cb * | @@ -18449,6 +24327,61 @@ getSignatureParameterName | (FILE *,symbol *,lemon *,int *) | | emit_destructor_code | 1 | symbol * | | (FILE *,symbol *,lemon *,int *) | | emit_destructor_code | 2 | lemon * | | (FILE *,symbol *,lemon *,int *) | | emit_destructor_code | 3 | int * | +| (FILE *,void *,char *,size_t,nss_files_parse_line) | | __nss_fgetent_r | 0 | FILE * | +| (FILE *,void *,char *,size_t,nss_files_parse_line) | | __nss_fgetent_r | 1 | void * | +| (FILE *,void *,char *,size_t,nss_files_parse_line) | | __nss_fgetent_r | 2 | char * | +| (FILE *,void *,char *,size_t,nss_files_parse_line) | | __nss_fgetent_r | 3 | size_t | +| (FILE *,void *,char *,size_t,nss_files_parse_line) | | __nss_fgetent_r | 4 | nss_files_parse_line | +| (FILE *,void *,size_t) | | _IO_default_xsgetn | 0 | FILE * | +| (FILE *,void *,size_t) | | _IO_default_xsgetn | 1 | void * | +| (FILE *,void *,size_t) | | _IO_default_xsgetn | 2 | size_t | +| (FILE *,void *,size_t) | | _IO_file_xsgetn | 0 | FILE * | +| (FILE *,void *,size_t) | | _IO_file_xsgetn | 1 | void * | +| (FILE *,void *,size_t) | | _IO_file_xsgetn | 2 | size_t | +| (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 0 | FILE * | +| (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 1 | void * | +| (FILE *,void *,size_t) | | _IO_file_xsgetn_mmap | 2 | size_t | +| (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 0 | FILE * | +| (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 1 | void * | +| (FILE *,void *,size_t) | | _IO_wdefault_xsgetn | 2 | size_t | +| (FILE *,wchar_t *) | | _IO_least_wmarker | 0 | FILE * | +| (FILE *,wchar_t *) | | _IO_least_wmarker | 1 | wchar_t * | +| (FILE *,wchar_t *,size_t,wchar_t *) | | _IO_wstr_init_static | 0 | FILE * | +| (FILE *,wchar_t *,size_t,wchar_t *) | | _IO_wstr_init_static | 1 | wchar_t * | +| (FILE *,wchar_t *,size_t,wchar_t *) | | _IO_wstr_init_static | 2 | size_t | +| (FILE *,wchar_t *,size_t,wchar_t *) | | _IO_wstr_init_static | 3 | wchar_t * | +| (FILE *,wchar_t *,size_t,wint_t,int) | | _IO_getwline | 0 | FILE * | +| (FILE *,wchar_t *,size_t,wint_t,int) | | _IO_getwline | 1 | wchar_t * | +| (FILE *,wchar_t *,size_t,wint_t,int) | | _IO_getwline | 2 | size_t | +| (FILE *,wchar_t *,size_t,wint_t,int) | | _IO_getwline | 3 | wint_t | +| (FILE *,wchar_t *,size_t,wint_t,int) | | _IO_getwline | 4 | int | +| (FILE *,wchar_t *,size_t,wint_t,int,wint_t *) | | _IO_getwline_info | 0 | FILE * | +| (FILE *,wchar_t *,size_t,wint_t,int,wint_t *) | | _IO_getwline_info | 1 | wchar_t * | +| (FILE *,wchar_t *,size_t,wint_t,int,wint_t *) | | _IO_getwline_info | 2 | size_t | +| (FILE *,wchar_t *,size_t,wint_t,int,wint_t *) | | _IO_getwline_info | 3 | wint_t | +| (FILE *,wchar_t *,size_t,wint_t,int,wint_t *) | | _IO_getwline_info | 4 | int | +| (FILE *,wchar_t *,size_t,wint_t,int,wint_t *) | | _IO_getwline_info | 5 | wint_t * | +| (FILE *,wchar_t *,wchar_t *,int) | | _IO_wsetb | 0 | FILE * | +| (FILE *,wchar_t *,wchar_t *,int) | | _IO_wsetb | 1 | wchar_t * | +| (FILE *,wchar_t *,wchar_t *,int) | | _IO_wsetb | 2 | wchar_t * | +| (FILE *,wchar_t *,wchar_t *,int) | | _IO_wsetb | 3 | int | +| (FILE *,wint_t) | | _IO_sputbackwc | 0 | FILE * | +| (FILE *,wint_t) | | _IO_sputbackwc | 1 | wint_t | +| (FILE *,wint_t) | | _IO_wdefault_pbackfail | 0 | FILE * | +| (FILE *,wint_t) | | _IO_wdefault_pbackfail | 1 | wint_t | +| (FILE *,wint_t) | | _IO_wfile_overflow | 0 | FILE * | +| (FILE *,wint_t) | | _IO_wfile_overflow | 1 | wint_t | +| (FILE *,wint_t) | | _IO_wstr_overflow | 0 | FILE * | +| (FILE *,wint_t) | | _IO_wstr_overflow | 1 | wint_t | +| (FILE *,wint_t) | | _IO_wstr_pbackfail | 0 | FILE * | +| (FILE *,wint_t) | | _IO_wstr_pbackfail | 1 | wint_t | +| (FTS *) | | fts_close | 0 | FTS * | +| (FTS *) | | fts_read | 0 | FTS * | +| (FTS *,FTSENT *,int) | | fts_set | 0 | FTS * | +| (FTS *,FTSENT *,int) | | fts_set | 1 | FTSENT * | +| (FTS *,FTSENT *,int) | | fts_set | 2 | int | +| (FTS *,int) | | fts_children | 0 | FTS * | +| (FTS *,int) | | fts_children | 1 | int | | (FUNCTION *,DISPLAY_COLUMNS *) | | calculate_columns | 0 | FUNCTION * | | (FUNCTION *,DISPLAY_COLUMNS *) | | calculate_columns | 1 | DISPLAY_COLUMNS * | | (GCM128_CONTEXT *,const unsigned char *,size_t) | | CRYPTO_gcm128_aad | 0 | GCM128_CONTEXT * | @@ -19528,6 +25461,9 @@ getSignatureParameterName | (LPTSTR,LPCTSTR,DWORD *) | CRegKey | QueryValue | 0 | LPTSTR | | (LPTSTR,LPCTSTR,DWORD *) | CRegKey | QueryValue | 1 | LPCTSTR | | (LPTSTR,LPCTSTR,DWORD *) | CRegKey | QueryValue | 2 | DWORD * | +| (Lmid_t) | | _dl_debug_update | 0 | Lmid_t | +| (Lmid_t,const char *) | | _dl_lookup_map | 0 | Lmid_t | +| (Lmid_t,const char *) | | _dl_lookup_map | 1 | const char * | | (MD4_CTX *,const unsigned char *) | | MD4_Transform | 0 | MD4_CTX * | | (MD4_CTX *,const unsigned char *) | | MD4_Transform | 1 | const unsigned char * | | (MD4_CTX *,const void *,size_t) | | MD4_Update | 0 | MD4_CTX * | @@ -24172,6 +30108,12 @@ getSignatureParameterName | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 1 | sqlite3_str * | | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 2 | const char * | | (StrAccum *,sqlite3_str *,const char *,...) | | sqlite3_str_appendf | 3 | ... | +| (Strent *) | | strtaboffset | 0 | Strent * | +| (Strtab *,const char *,size_t) | | strtabadd | 0 | Strtab * | +| (Strtab *,const char *,size_t) | | strtabadd | 1 | const char * | +| (Strtab *,const char *,size_t) | | strtabadd | 2 | size_t | +| (Strtab *,size_t *) | | strtabfinalize | 0 | Strtab * | +| (Strtab *,size_t *) | | strtabfinalize | 1 | size_t * | | (TLS_FEATURE *) | | TLS_FEATURE_free | 0 | TLS_FEATURE * | | (TLS_RL_RECORD *,const unsigned char *) | | ossl_tls_rl_record_set_seq_num | 0 | TLS_RL_RECORD * | | (TLS_RL_RECORD *,const unsigned char *) | | ossl_tls_rl_record_set_seq_num | 1 | const unsigned char * | @@ -25233,7 +31175,677 @@ getSignatureParameterName | (XCHAR) | CStringT | operator= | 0 | XCHAR | | (XCHAR,XCHAR) | CStringT | Replace | 0 | XCHAR | | (XCHAR,XCHAR) | CStringT | Replace | 1 | XCHAR | +| (XDR *,FILE *,xdr_op) | | xdrstdio_create | 0 | XDR * | +| (XDR *,FILE *,xdr_op) | | xdrstdio_create | 1 | FILE * | +| (XDR *,FILE *,xdr_op) | | xdrstdio_create | 2 | xdr_op | +| (XDR *,bool_t *) | | xdr_bool | 0 | XDR * | +| (XDR *,bool_t *) | | xdr_bool | 1 | bool_t * | +| (XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t) | | xdr_array | 0 | XDR * | +| (XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t) | | xdr_array | 1 | caddr_t * | +| (XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t) | | xdr_array | 2 | u_int * | +| (XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t) | | xdr_array | 3 | u_int | +| (XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t) | | xdr_array | 4 | u_int | +| (XDR *,caddr_t *,u_int *,u_int,u_int,xdrproc_t) | | xdr_array | 5 | xdrproc_t | +| (XDR *,caddr_t *,u_int,xdrproc_t) | | xdr_reference | 0 | XDR * | +| (XDR *,caddr_t *,u_int,xdrproc_t) | | xdr_reference | 1 | caddr_t * | +| (XDR *,caddr_t *,u_int,xdrproc_t) | | xdr_reference | 2 | u_int | +| (XDR *,caddr_t *,u_int,xdrproc_t) | | xdr_reference | 3 | xdrproc_t | +| (XDR *,char *) | | xdr_char | 0 | XDR * | +| (XDR *,char *) | | xdr_char | 1 | char * | +| (XDR *,char **) | | xdr_wrapstring | 0 | XDR * | +| (XDR *,char **) | | xdr_wrapstring | 1 | char ** | +| (XDR *,char **,u_int *,u_int) | | xdr_bytes | 0 | XDR * | +| (XDR *,char **,u_int *,u_int) | | xdr_bytes | 1 | char ** | +| (XDR *,char **,u_int *,u_int) | | xdr_bytes | 2 | u_int * | +| (XDR *,char **,u_int *,u_int) | | xdr_bytes | 3 | u_int | +| (XDR *,char **,u_int) | | xdr_string | 0 | XDR * | +| (XDR *,char **,u_int) | | xdr_string | 1 | char ** | +| (XDR *,char **,u_int) | | xdr_string | 2 | u_int | +| (XDR *,char **,u_int,xdrproc_t) | | xdr_pointer | 0 | XDR * | +| (XDR *,char **,u_int,xdrproc_t) | | xdr_pointer | 1 | char ** | +| (XDR *,char **,u_int,xdrproc_t) | | xdr_pointer | 2 | u_int | +| (XDR *,char **,u_int,xdrproc_t) | | xdr_pointer | 3 | xdrproc_t | +| (XDR *,const caddr_t,u_int,xdr_op) | | xdrmem_create | 0 | XDR * | +| (XDR *,const caddr_t,u_int,xdr_op) | | xdrmem_create | 1 | const caddr_t | +| (XDR *,const caddr_t,u_int,xdr_op) | | xdrmem_create | 2 | u_int | +| (XDR *,const caddr_t,u_int,xdr_op) | | xdrmem_create | 3 | xdr_op | +| (XDR *,domainname *) | | xdr_domainname | 0 | XDR * | +| (XDR *,domainname *) | | xdr_domainname | 1 | domainname * | +| (XDR *,enum_t *) | | xdr_enum | 0 | XDR * | +| (XDR *,enum_t *) | | xdr_enum | 1 | enum_t * | +| (XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t) | | xdr_union | 0 | XDR * | +| (XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t) | | xdr_union | 1 | enum_t * | +| (XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t) | | xdr_union | 2 | char * | +| (XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t) | | xdr_union | 3 | const xdr_discrim * | +| (XDR *,enum_t *,char *,const xdr_discrim *,xdrproc_t) | | xdr_union | 4 | xdrproc_t | +| (XDR *,float *) | | xdr_float | 0 | XDR * | +| (XDR *,float *) | | xdr_float | 1 | float * | +| (XDR *,int8_t *) | | xdr_int8_t | 0 | XDR * | +| (XDR *,int8_t *) | | xdr_int8_t | 1 | int8_t * | +| (XDR *,int16_t *) | | xdr_int16_t | 0 | XDR * | +| (XDR *,int16_t *) | | xdr_int16_t | 1 | int16_t * | +| (XDR *,int64_t *) | | xdr_int64_t | 0 | XDR * | +| (XDR *,int64_t *) | | xdr_int64_t | 1 | int64_t * | +| (XDR *,int *) | | xdr_int | 0 | XDR * | +| (XDR *,int *) | | xdr_int | 1 | int * | +| (XDR *,keystatus *) | | xdr_keystatus | 0 | XDR * | +| (XDR *,keystatus *) | | xdr_keystatus | 1 | keystatus * | +| (XDR *,long *) | | xdr_long | 0 | XDR * | +| (XDR *,long *) | | xdr_long | 1 | long * | +| (XDR *,mapname *) | | xdr_mapname | 0 | XDR * | +| (XDR *,mapname *) | | xdr_mapname | 1 | mapname * | +| (XDR *,netnamestr *) | | xdr_netnamestr | 0 | XDR * | +| (XDR *,netnamestr *) | | xdr_netnamestr | 1 | netnamestr * | +| (XDR *,nis_error *) | | _xdr_nis_error | 0 | XDR * | +| (XDR *,nis_error *) | | _xdr_nis_error | 1 | nis_error * | +| (XDR *,nis_name *) | | _xdr_nis_name | 0 | XDR * | +| (XDR *,nis_name *) | | _xdr_nis_name | 1 | nis_name * | +| (XDR *,obj_p *) | | xdr_obj_p | 0 | XDR * | +| (XDR *,obj_p *) | | xdr_obj_p | 1 | obj_p * | +| (XDR *,peername *) | | xdr_peername | 0 | XDR * | +| (XDR *,peername *) | | xdr_peername | 1 | peername * | +| (XDR *,pmaplist **) | | xdr_pmaplist | 0 | XDR * | +| (XDR *,pmaplist **) | | xdr_pmaplist | 1 | pmaplist ** | +| (XDR *,quad_t *) | | xdr_hyper | 0 | XDR * | +| (XDR *,quad_t *) | | xdr_hyper | 1 | quad_t * | +| (XDR *,quad_t *) | | xdr_longlong_t | 0 | XDR * | +| (XDR *,quad_t *) | | xdr_longlong_t | 1 | quad_t * | +| (XDR *,quad_t *) | | xdr_quad_t | 0 | XDR * | +| (XDR *,quad_t *) | | xdr_quad_t | 1 | quad_t * | +| (XDR *,short *) | | xdr_short | 0 | XDR * | +| (XDR *,short *) | | xdr_short | 1 | short * | +| (XDR *,u_char *) | | xdr_u_char | 0 | XDR * | +| (XDR *,u_char *) | | xdr_u_char | 1 | u_char * | +| (XDR *,u_int *) | | xdr_u_int | 0 | XDR * | +| (XDR *,u_int *) | | xdr_u_int | 1 | u_int * | +| (XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..)) | | xdrrec_create | 0 | XDR * | +| (XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..)) | | xdrrec_create | 1 | u_int | +| (XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..)) | | xdrrec_create | 2 | u_int | +| (XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..)) | | xdrrec_create | 3 | caddr_t | +| (XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..)) | | xdrrec_create | 4 | ..(*)(..) | +| (XDR *,u_int,u_int,caddr_t,..(*)(..),..(*)(..)) | | xdrrec_create | 5 | ..(*)(..) | +| (XDR *,u_long *) | | xdr_u_long | 0 | XDR * | +| (XDR *,u_long *) | | xdr_u_long | 1 | u_long * | +| (XDR *,u_quad_t *) | | xdr_u_hyper | 0 | XDR * | +| (XDR *,u_quad_t *) | | xdr_u_hyper | 1 | u_quad_t * | +| (XDR *,u_quad_t *) | | xdr_u_longlong_t | 0 | XDR * | +| (XDR *,u_quad_t *) | | xdr_u_longlong_t | 1 | u_quad_t * | +| (XDR *,u_quad_t *) | | xdr_u_quad_t | 0 | XDR * | +| (XDR *,u_quad_t *) | | xdr_u_quad_t | 1 | u_quad_t * | +| (XDR *,u_short *) | | xdr_u_short | 0 | XDR * | +| (XDR *,u_short *) | | xdr_u_short | 1 | u_short * | +| (XDR *,uint8_t *) | | xdr_uint8_t | 0 | XDR * | +| (XDR *,uint8_t *) | | xdr_uint8_t | 1 | uint8_t * | +| (XDR *,uint16_t *) | | xdr_uint16_t | 0 | XDR * | +| (XDR *,uint16_t *) | | xdr_uint16_t | 1 | uint16_t * | +| (XDR *,uint64_t *) | | xdr_uint64_t | 0 | XDR * | +| (XDR *,uint64_t *) | | xdr_uint64_t | 1 | uint64_t * | +| (XDR *,ypbind_resptype *) | | xdr_ypbind_resptype | 0 | XDR * | +| (XDR *,ypbind_resptype *) | | xdr_ypbind_resptype | 1 | ypbind_resptype * | +| (XDR *,yppush_status *) | | xdr_yppush_status | 0 | XDR * | +| (XDR *,yppush_status *) | | xdr_yppush_status | 1 | yppush_status * | +| (XDR *,ypstat *) | | xdr_ypstat | 0 | XDR * | +| (XDR *,ypstat *) | | xdr_ypstat | 1 | ypstat * | +| (XDR *,ypxfrstat *) | | xdr_ypxfrstat | 0 | XDR * | +| (XDR *,ypxfrstat *) | | xdr_ypxfrstat | 1 | ypxfrstat * | | (YCHAR) | CStringT | operator= | 0 | YCHAR | +| (_Float64,_Float64) | | __f32xaddf64 | 0 | _Float64 | +| (_Float64,_Float64) | | __f32xaddf64 | 1 | _Float64 | +| (_Float64,_Float64) | | __f32xdivf64 | 0 | _Float64 | +| (_Float64,_Float64) | | __f32xdivf64 | 1 | _Float64 | +| (_Float64,_Float64) | | __f32xmulf64 | 0 | _Float64 | +| (_Float64,_Float64) | | __f32xmulf64 | 1 | _Float64 | +| (_Float64,_Float64) | | __f32xsubf64 | 0 | _Float64 | +| (_Float64,_Float64) | | __f32xsubf64 | 1 | _Float64 | +| (_Float128 *,_Float128) | | __setpayloadf128 | 0 | _Float128 * | +| (_Float128 *,_Float128) | | __setpayloadf128 | 1 | _Float128 | +| (_Float128 *,_Float128) | | __setpayloadsigf128 | 0 | _Float128 * | +| (_Float128 *,_Float128) | | __setpayloadsigf128 | 1 | _Float128 | +| (_Float128 *,const _Float128 *) | | __canonicalizef128 | 0 | _Float128 * | +| (_Float128 *,const _Float128 *) | | __canonicalizef128 | 1 | const _Float128 * | +| (_Float128) | | __acosf128 | 0 | _Float128 | +| (_Float128) | | __acoshf128 | 0 | _Float128 | +| (_Float128) | | __acospif128 | 0 | _Float128 | +| (_Float128) | | __asinf128 | 0 | _Float128 | +| (_Float128) | | __asinhf128 | 0 | _Float128 | +| (_Float128) | | __asinpif128 | 0 | _Float128 | +| (_Float128) | | __atanf128 | 0 | _Float128 | +| (_Float128) | | __atanhf128 | 0 | _Float128 | +| (_Float128) | | __atanpif128 | 0 | _Float128 | +| (_Float128) | | __cbrtf128 | 0 | _Float128 | +| (_Float128) | | __ceilf128 | 0 | _Float128 | +| (_Float128) | | __cosf128 | 0 | _Float128 | +| (_Float128) | | __coshf128 | 0 | _Float128 | +| (_Float128) | | __erfcf128 | 0 | _Float128 | +| (_Float128) | | __erff128 | 0 | _Float128 | +| (_Float128) | | __exp2f128 | 0 | _Float128 | +| (_Float128) | | __exp2m1f128 | 0 | _Float128 | +| (_Float128) | | __exp10f128 | 0 | _Float128 | +| (_Float128) | | __exp10m1f128 | 0 | _Float128 | +| (_Float128) | | __expf128 | 0 | _Float128 | +| (_Float128) | | __finitef128 | 0 | _Float128 | +| (_Float128) | | __floorf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_acosf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_acoshf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_asinf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_atanhf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_coshf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_exp2f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_exp10f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_expf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_ilogbf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_j0f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_j1f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_log2f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_log10f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_logf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_sinhf128 | 0 | _Float128 | +| (_Float128) | | __ieee754_y0f128 | 0 | _Float128 | +| (_Float128) | | __ieee754_y1f128 | 0 | _Float128 | +| (_Float128) | | __ilogbf128 | 0 | _Float128 | +| (_Float128) | | __isinff128 | 0 | _Float128 | +| (_Float128) | | __isnanf128 | 0 | _Float128 | +| (_Float128) | | __isnanf128_impl | 0 | _Float128 | +| (_Float128) | | __j0f128 | 0 | _Float128 | +| (_Float128) | | __j1f128 | 0 | _Float128 | +| (_Float128) | | __lgammaf128 | 0 | _Float128 | +| (_Float128) | | __llogbf128 | 0 | _Float128 | +| (_Float128) | | __llrintf128 | 0 | _Float128 | +| (_Float128) | | __llroundf128 | 0 | _Float128 | +| (_Float128) | | __log1pf128 | 0 | _Float128 | +| (_Float128) | | __log2f128 | 0 | _Float128 | +| (_Float128) | | __log2p1f128 | 0 | _Float128 | +| (_Float128) | | __log10f128 | 0 | _Float128 | +| (_Float128) | | __log10p1f128 | 0 | _Float128 | +| (_Float128) | | __logbf128 | 0 | _Float128 | +| (_Float128) | | __logf128 | 0 | _Float128 | +| (_Float128) | | __lrintf128 | 0 | _Float128 | +| (_Float128) | | __lroundf128 | 0 | _Float128 | +| (_Float128) | | __nearbyintf128 | 0 | _Float128 | +| (_Float128) | | __nextdownf128 | 0 | _Float128 | +| (_Float128) | | __nextupf128 | 0 | _Float128 | +| (_Float128) | | __rintf128 | 0 | _Float128 | +| (_Float128) | | __roundevenf128 | 0 | _Float128 | +| (_Float128) | | __roundf128 | 0 | _Float128 | +| (_Float128) | | __sinf128 | 0 | _Float128 | +| (_Float128) | | __sinhf128 | 0 | _Float128 | +| (_Float128) | | __sinpif128 | 0 | _Float128 | +| (_Float128) | | __sqrtf128 | 0 | _Float128 | +| (_Float128) | | __tanf128 | 0 | _Float128 | +| (_Float128) | | __tanhf128 | 0 | _Float128 | +| (_Float128) | | __tanpif128 | 0 | _Float128 | +| (_Float128) | | __tgammaf128 | 0 | _Float128 | +| (_Float128) | | __truncf128 | 0 | _Float128 | +| (_Float128) | | __w_log1pf128 | 0 | _Float128 | +| (_Float128) | | __y0f128 | 0 | _Float128 | +| (_Float128) | | __y1f128 | 0 | _Float128 | +| (_Float128,_Float128 *) | | __ieee754_rem_pio2f128 | 0 | _Float128 | +| (_Float128,_Float128 *) | | __ieee754_rem_pio2f128 | 1 | _Float128 * | +| (_Float128,_Float128 *) | | __modff128 | 0 | _Float128 | +| (_Float128,_Float128 *) | | __modff128 | 1 | _Float128 * | +| (_Float128,_Float128 *,_Float128 *) | | __sincosf128 | 0 | _Float128 | +| (_Float128,_Float128 *,_Float128 *) | | __sincosf128 | 1 | _Float128 * | +| (_Float128,_Float128 *,_Float128 *) | | __sincosf128 | 2 | _Float128 * | +| (_Float128,_Float128) | | __atan2f128 | 0 | _Float128 | +| (_Float128,_Float128) | | __atan2f128 | 1 | _Float128 | +| (_Float128,_Float128) | | __atan2pif128 | 0 | _Float128 | +| (_Float128,_Float128) | | __atan2pif128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f32addf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f32addf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f32divf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f32divf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f32mulf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f32mulf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f32subf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f32subf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64addf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64addf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64divf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64divf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64mulf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64mulf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64subf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64subf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64xaddf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64xaddf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64xdivf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64xdivf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64xmulf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64xmulf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __f64xsubf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __f64xsubf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fdimf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fdimf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmaxf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmaxf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmaximum_mag_numf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmaximum_mag_numf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmaximum_magf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmaximum_magf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmaximum_numf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmaximum_numf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmaximumf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmaximumf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmaxmagf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmaxmagf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fminf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fminf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fminimum_mag_numf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fminimum_mag_numf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fminimum_magf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fminimum_magf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fminimum_numf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fminimum_numf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fminimumf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fminimumf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fminmagf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fminmagf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __fmodf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __fmodf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __hypotf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __hypotf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __ieee754_atan2f128 | 0 | _Float128 | +| (_Float128,_Float128) | | __ieee754_atan2f128 | 1 | _Float128 | +| (_Float128,_Float128) | | __ieee754_fmodf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __ieee754_fmodf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __ieee754_hypotf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __ieee754_hypotf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __ieee754_powf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __ieee754_powf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __ieee754_remainderf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __ieee754_remainderf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __kernel_cosf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __kernel_cosf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __nextafterf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __nextafterf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __powf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __powf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __powrf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __powrf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __remainderf128 | 0 | _Float128 | +| (_Float128,_Float128) | | __remainderf128 | 1 | _Float128 | +| (_Float128,_Float128) | | __x2y2m1f128 | 0 | _Float128 | +| (_Float128,_Float128) | | __x2y2m1f128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128 *,_Float128 *,int) | | __kernel_sincosf128 | 0 | _Float128 | +| (_Float128,_Float128,_Float128 *,_Float128 *,int) | | __kernel_sincosf128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128 *,_Float128 *,int) | | __kernel_sincosf128 | 2 | _Float128 * | +| (_Float128,_Float128,_Float128 *,_Float128 *,int) | | __kernel_sincosf128 | 3 | _Float128 * | +| (_Float128,_Float128,_Float128 *,_Float128 *,int) | | __kernel_sincosf128 | 4 | int | +| (_Float128,_Float128,_Float128) | | __f32fmaf128 | 0 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f32fmaf128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f32fmaf128 | 2 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f64fmaf128 | 0 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f64fmaf128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f64fmaf128 | 2 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f64xfmaf128 | 0 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f64xfmaf128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128) | | __f64xfmaf128 | 2 | _Float128 | +| (_Float128,_Float128,_Float128) | | __fmaf128 | 0 | _Float128 | +| (_Float128,_Float128,_Float128) | | __fmaf128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128) | | __fmaf128 | 2 | _Float128 | +| (_Float128,_Float128,_Float128,int) | | __lgamma_productf128 | 0 | _Float128 | +| (_Float128,_Float128,_Float128,int) | | __lgamma_productf128 | 1 | _Float128 | +| (_Float128,_Float128,_Float128,int) | | __lgamma_productf128 | 2 | _Float128 | +| (_Float128,_Float128,_Float128,int) | | __lgamma_productf128 | 3 | int | +| (_Float128,_Float128,int *) | | __remquof128 | 0 | _Float128 | +| (_Float128,_Float128,int *) | | __remquof128 | 1 | _Float128 | +| (_Float128,_Float128,int *) | | __remquof128 | 2 | int * | +| (_Float128,_Float128,int) | | __kernel_sinf128 | 0 | _Float128 | +| (_Float128,_Float128,int) | | __kernel_sinf128 | 1 | _Float128 | +| (_Float128,_Float128,int) | | __kernel_sinf128 | 2 | int | +| (_Float128,_Float128,int) | | __kernel_tanf128 | 0 | _Float128 | +| (_Float128,_Float128,int) | | __kernel_tanf128 | 1 | _Float128 | +| (_Float128,_Float128,int) | | __kernel_tanf128 | 2 | int | +| (_Float128,_Float128,int,_Float128 *) | | __gamma_productf128 | 0 | _Float128 | +| (_Float128,_Float128,int,_Float128 *) | | __gamma_productf128 | 1 | _Float128 | +| (_Float128,_Float128,int,_Float128 *) | | __gamma_productf128 | 2 | int | +| (_Float128,_Float128,int,_Float128 *) | | __gamma_productf128 | 3 | _Float128 * | +| (_Float128,__float128) | | __ieee754_sqrtf128 | 0 | _Float128 | +| (_Float128,__float128) | | __ieee754_sqrtf128 | 1 | __float128 | +| (_Float128,int *) | | __frexpf128 | 0 | _Float128 | +| (_Float128,int *) | | __frexpf128 | 1 | int * | +| (_Float128,int *) | | __ieee754_gammaf128_r | 0 | _Float128 | +| (_Float128,int *) | | __ieee754_gammaf128_r | 1 | int * | +| (_Float128,int *) | | __ieee754_lgammaf128_r | 0 | _Float128 | +| (_Float128,int *) | | __ieee754_lgammaf128_r | 1 | int * | +| (_Float128,int *) | | __lgamma_negf128 | 0 | _Float128 | +| (_Float128,int *) | | __lgamma_negf128 | 1 | int * | +| (_Float128,int *) | | __lgammaf128_r | 0 | _Float128 | +| (_Float128,int *) | | __lgammaf128_r | 1 | int * | +| (_Float128,int) | | __ldexpf128 | 0 | _Float128 | +| (_Float128,int) | | __ldexpf128 | 1 | int | +| (_Float128,int) | | __scalbnf128 | 0 | _Float128 | +| (_Float128,int) | | __scalbnf128 | 1 | int | +| (_Float128,int,unsigned int) | | __fromfpf128 | 0 | _Float128 | +| (_Float128,int,unsigned int) | | __fromfpf128 | 1 | int | +| (_Float128,int,unsigned int) | | __fromfpf128 | 2 | unsigned int | +| (_Float128,int,unsigned int) | | __fromfpxf128 | 0 | _Float128 | +| (_Float128,int,unsigned int) | | __fromfpxf128 | 1 | int | +| (_Float128,int,unsigned int) | | __fromfpxf128 | 2 | unsigned int | +| (_Float128,int,unsigned int) | | __ufromfpf128 | 0 | _Float128 | +| (_Float128,int,unsigned int) | | __ufromfpf128 | 1 | int | +| (_Float128,int,unsigned int) | | __ufromfpf128 | 2 | unsigned int | +| (_Float128,int,unsigned int) | | __ufromfpxf128 | 0 | _Float128 | +| (_Float128,int,unsigned int) | | __ufromfpxf128 | 1 | int | +| (_Float128,int,unsigned int) | | __ufromfpxf128 | 2 | unsigned int | +| (_Float128,long double) | | __expm1f128 | 0 | _Float128 | +| (_Float128,long double) | | __expm1f128 | 1 | long double | +| (_Float128,long long) | | __compoundnf128 | 0 | _Float128 | +| (_Float128,long long) | | __compoundnf128 | 1 | long long | +| (_Float128,long long) | | __pownf128 | 0 | _Float128 | +| (_Float128,long long) | | __pownf128 | 1 | long long | +| (_Float128,long long) | | __rootnf128 | 0 | _Float128 | +| (_Float128,long long) | | __rootnf128 | 1 | long long | +| (_Float128,long) | | __scalblnf128 | 0 | _Float128 | +| (_Float128,long) | | __scalblnf128 | 1 | long | +| (_Float128,long) | | __w_scalblnf128 | 0 | _Float128 | +| (_Float128,long) | | __w_scalblnf128 | 1 | long | +| (_IO_ITER) | | _IO_iter_file | 0 | _IO_ITER | +| (_IO_ITER) | | _IO_iter_next | 0 | _IO_ITER | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 0 | _IO_codecvt * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 1 | __mbstate_t * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 2 | const char * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 3 | const char * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 4 | const char ** | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 5 | wchar_t * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 6 | wchar_t * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,const char **,wchar_t *,wchar_t *,wchar_t **) | | __libio_codecvt_in | 7 | wchar_t ** | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t) | | __libio_codecvt_length | 0 | _IO_codecvt * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t) | | __libio_codecvt_length | 1 | __mbstate_t * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t) | | __libio_codecvt_length | 2 | const char * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t) | | __libio_codecvt_length | 3 | const char * | +| (_IO_codecvt *,__mbstate_t *,const char *,const char *,size_t) | | __libio_codecvt_length | 4 | size_t | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 0 | _IO_codecvt * | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 1 | __mbstate_t * | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 2 | const wchar_t * | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 3 | const wchar_t * | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 4 | const wchar_t ** | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 5 | char * | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 6 | char * | +| (_IO_codecvt *,__mbstate_t *,const wchar_t *,const wchar_t *,const wchar_t **,char *,char *,char **) | | __libio_codecvt_out | 7 | char ** | +| (_IO_cookie_file *,int,void *,cookie_io_functions_t) | | _IO_cookie_init | 0 | _IO_cookie_file * | +| (_IO_cookie_file *,int,void *,cookie_io_functions_t) | | _IO_cookie_init | 1 | int | +| (_IO_cookie_file *,int,void *,cookie_io_functions_t) | | _IO_cookie_init | 2 | void * | +| (_IO_cookie_file *,int,void *,cookie_io_functions_t) | | _IO_cookie_init | 3 | cookie_io_functions_t | +| (_IO_marker *) | | _IO_marker_delta | 0 | _IO_marker * | +| (_IO_marker *) | | _IO_wmarker_delta | 0 | _IO_marker * | +| (_IO_marker *,FILE *) | | _IO_init_marker | 0 | _IO_marker * | +| (_IO_marker *,FILE *) | | _IO_init_marker | 1 | FILE * | +| (_IO_marker *,FILE *) | | _IO_init_wmarker | 0 | _IO_marker * | +| (_IO_marker *,FILE *) | | _IO_init_wmarker | 1 | FILE * | +| (_IO_marker *,_IO_marker *) | | _IO_marker_difference | 0 | _IO_marker * | +| (_IO_marker *,_IO_marker *) | | _IO_marker_difference | 1 | _IO_marker * | +| (_IO_strfile *,_IO_strfile_ *,char *,size_t,char *) | | _IO_str_init_static_internal | 0 | _IO_strfile * | +| (_IO_strfile *,_IO_strfile_ *,char *,size_t,char *) | | _IO_str_init_static_internal | 1 | _IO_strfile_ * | +| (_IO_strfile *,_IO_strfile_ *,char *,size_t,char *) | | _IO_str_init_static_internal | 2 | char * | +| (_IO_strfile *,_IO_strfile_ *,char *,size_t,char *) | | _IO_str_init_static_internal | 3 | size_t | +| (_IO_strfile *,_IO_strfile_ *,char *,size_t,char *) | | _IO_str_init_static_internal | 4 | char * | +| (_IO_strfile *,char *,int,char *) | | _IO_str_init_static | 0 | _IO_strfile * | +| (_IO_strfile *,char *,int,char *) | | _IO_str_init_static | 1 | char * | +| (_IO_strfile *,char *,int,char *) | | _IO_str_init_static | 2 | int | +| (_IO_strfile *,char *,int,char *) | | _IO_str_init_static | 3 | char * | +| (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 0 | _IO_strfile * | +| (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 1 | const char * | +| (_IO_strfile *,const char *,int) | | _IO_str_init_readonly | 2 | int | +| (__dev_t) | | __gnu_dev_major | 0 | __dev_t | +| (__dev_t) | | __gnu_dev_minor | 0 | __dev_t | +| (__dev_t) | | gnu_dev_major | 0 | __dev_t | +| (__dev_t) | | gnu_dev_minor | 0 | __dev_t | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ascii_internal | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ascii | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2 | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs2reverse | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4 | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_ucs4le | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_internal_utf8 | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2_internal | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs2reverse_internal | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4_internal | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_ucs4le_internal | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | __gconv_transform_utf8_internal | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 2 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 3 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 4 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 5 | size_t * | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 6 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char **,const unsigned char *,unsigned char **,size_t *,int,int) | | gconv | 7 | int | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 0 | __gconv_step * | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 1 | __gconv_step_data * | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 2 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 3 | const unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 4 | const unsigned char * | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 5 | unsigned char ** | +| (__gconv_step *,__gconv_step_data *,const unsigned char *,const unsigned char **,const unsigned char *,unsigned char **,size_t *) | | __gconv_transliterate | 6 | size_t * | +| (__gconv_step *,size_t) | | __gconv_close_transform | 0 | __gconv_step * | +| (__gconv_step *,size_t) | | __gconv_close_transform | 1 | size_t | +| (__gconv_step *,unsigned char) | | __gconv_btwoc_ascii | 0 | __gconv_step * | +| (__gconv_step *,unsigned char) | | __gconv_btwoc_ascii | 1 | unsigned char | +| (__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *) | | __gconv | 0 | __gconv_t | +| (__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *) | | __gconv | 1 | const unsigned char ** | +| (__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *) | | __gconv | 2 | const unsigned char * | +| (__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *) | | __gconv | 3 | unsigned char ** | +| (__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *) | | __gconv | 4 | unsigned char * | +| (__gconv_t,const unsigned char **,const unsigned char *,unsigned char **,unsigned char *,size_t *) | | __gconv | 5 | size_t * | +| (__gid_t,gid_t,group *,char *,size_t,group **) | | __getgrgid_r | 0 | __gid_t | +| (__gid_t,gid_t,group *,char *,size_t,group **) | | __getgrgid_r | 1 | gid_t | +| (__gid_t,gid_t,group *,char *,size_t,group **) | | __getgrgid_r | 2 | group * | +| (__gid_t,gid_t,group *,char *,size_t,group **) | | __getgrgid_r | 3 | char * | +| (__gid_t,gid_t,group *,char *,size_t,group **) | | __getgrgid_r | 4 | size_t | +| (__gid_t,gid_t,group *,char *,size_t,group **) | | __getgrgid_r | 5 | group ** | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_compat_getgrgid_r | 0 | __gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_compat_getgrgid_r | 1 | gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_compat_getgrgid_r | 2 | group * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_compat_getgrgid_r | 3 | char * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_compat_getgrgid_r | 4 | size_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_compat_getgrgid_r | 5 | int * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_db_getgrgid_r | 0 | __gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_db_getgrgid_r | 1 | gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_db_getgrgid_r | 2 | group * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_db_getgrgid_r | 3 | char * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_db_getgrgid_r | 4 | size_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_db_getgrgid_r | 5 | int * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_files_getgrgid_r | 0 | __gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_files_getgrgid_r | 1 | gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_files_getgrgid_r | 2 | group * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_files_getgrgid_r | 3 | char * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_files_getgrgid_r | 4 | size_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_files_getgrgid_r | 5 | int * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_hesiod_getgrgid_r | 0 | __gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_hesiod_getgrgid_r | 1 | gid_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_hesiod_getgrgid_r | 2 | group * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_hesiod_getgrgid_r | 3 | char * | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_hesiod_getgrgid_r | 4 | size_t | +| (__gid_t,gid_t,group *,char *,size_t,int *) | | _nss_hesiod_getgrgid_r | 5 | int * | +| (__netgrent *,char *,size_t,int *) | | _nss_db_getnetgrent_r | 0 | __netgrent * | +| (__netgrent *,char *,size_t,int *) | | _nss_db_getnetgrent_r | 1 | char * | +| (__netgrent *,char *,size_t,int *) | | _nss_db_getnetgrent_r | 2 | size_t | +| (__netgrent *,char *,size_t,int *) | | _nss_db_getnetgrent_r | 3 | int * | +| (__netgrent *,char *,size_t,int *) | | _nss_files_getnetgrent_r | 0 | __netgrent * | +| (__netgrent *,char *,size_t,int *) | | _nss_files_getnetgrent_r | 1 | char * | +| (__netgrent *,char *,size_t,int *) | | _nss_files_getnetgrent_r | 2 | size_t | +| (__netgrent *,char *,size_t,int *) | | _nss_files_getnetgrent_r | 3 | int * | +| (__printf_buffer *,char) | | __printf_buffer_putc_1 | 0 | __printf_buffer * | +| (__printf_buffer *,char) | | __printf_buffer_putc_1 | 1 | char | +| (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 0 | __printf_buffer * | +| (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 1 | char | +| (__printf_buffer *,char,size_t) | | __printf_buffer_pad_1 | 2 | size_t | +| (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 0 | __printf_buffer * | +| (__printf_buffer *,const char *) | | __printf_buffer_puts_1 | 1 | const char * | +| (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 0 | __printf_buffer * | +| (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 1 | const char * | +| (__printf_buffer *,const char *,size_t) | | __printf_buffer_write | 2 | size_t | +| (__printf_buffer *,const char *,va_list,unsigned int) | | __printf_buffer | 0 | __printf_buffer * | +| (__printf_buffer *,const char *,va_list,unsigned int) | | __printf_buffer | 1 | const char * | +| (__printf_buffer *,const char *,va_list,unsigned int) | | __printf_buffer | 2 | va_list | +| (__printf_buffer *,const char *,va_list,unsigned int) | | __printf_buffer | 3 | unsigned int | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fp_l_buffer | 0 | __printf_buffer * | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fp_l_buffer | 1 | locale_t | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fp_l_buffer | 2 | const printf_info * | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fp_l_buffer | 3 | const void *const * | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fphex_l_buffer | 0 | __printf_buffer * | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fphex_l_buffer | 1 | locale_t | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fphex_l_buffer | 2 | const printf_info * | +| (__printf_buffer *,locale_t,const printf_info *,const void *const *) | | __printf_fphex_l_buffer | 3 | const void *const * | +| (__printf_buffer_as_file *) | | __printf_buffer_as_file_terminate | 0 | __printf_buffer_as_file * | +| (__printf_buffer_as_file *,__printf_buffer *) | | __printf_buffer_as_file_init | 0 | __printf_buffer_as_file * | +| (__printf_buffer_as_file *,__printf_buffer *) | | __printf_buffer_as_file_init | 1 | __printf_buffer * | +| (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 0 | __printf_buffer_snprintf * | +| (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 1 | char * | +| (__printf_buffer_snprintf *,char *,size_t) | | __printf_buffer_snprintf_init | 2 | size_t | +| (__printf_buffer_to_file *,FILE *) | | __printf_buffer_to_file_init | 0 | __printf_buffer_to_file * | +| (__printf_buffer_to_file *,FILE *) | | __printf_buffer_to_file_init | 1 | FILE * | +| (__res_state *) | | __resolv_context_get_override | 0 | __res_state * | +| (__res_state *,file_change_detection *) | | __resolv_conf_load | 0 | __res_state * | +| (__res_state *,file_change_detection *) | | __resolv_conf_load | 1 | file_change_detection * | +| (__res_state *,resolv_conf *) | | __resolv_conf_attach | 0 | __res_state * | +| (__res_state *,resolv_conf *) | | __resolv_conf_attach | 1 | resolv_conf * | +| (__sigset_t *,int) | | __sigaddset_compat | 0 | __sigset_t * | +| (__sigset_t *,int) | | __sigaddset_compat | 1 | int | +| (__sigset_t *,int) | | __sigdelset_compat | 0 | __sigset_t * | +| (__sigset_t *,int) | | __sigdelset_compat | 1 | int | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_compat_getpwuid_r | 0 | __uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_compat_getpwuid_r | 1 | uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_compat_getpwuid_r | 2 | passwd * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_compat_getpwuid_r | 3 | char * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_compat_getpwuid_r | 4 | size_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_compat_getpwuid_r | 5 | int * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_db_getpwuid_r | 0 | __uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_db_getpwuid_r | 1 | uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_db_getpwuid_r | 2 | passwd * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_db_getpwuid_r | 3 | char * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_db_getpwuid_r | 4 | size_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_db_getpwuid_r | 5 | int * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_files_getpwuid_r | 0 | __uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_files_getpwuid_r | 1 | uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_files_getpwuid_r | 2 | passwd * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_files_getpwuid_r | 3 | char * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_files_getpwuid_r | 4 | size_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_files_getpwuid_r | 5 | int * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwuid_r | 0 | __uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwuid_r | 1 | uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwuid_r | 2 | passwd * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwuid_r | 3 | char * | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwuid_r | 4 | size_t | +| (__uid_t,uid_t,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwuid_r | 5 | int * | +| (__uid_t,uid_t,passwd *,char *,size_t,passwd **) | | __getpwuid_r | 0 | __uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,passwd **) | | __getpwuid_r | 1 | uid_t | +| (__uid_t,uid_t,passwd *,char *,size_t,passwd **) | | __getpwuid_r | 2 | passwd * | +| (__uid_t,uid_t,passwd *,char *,size_t,passwd **) | | __getpwuid_r | 3 | char * | +| (__uid_t,uid_t,passwd *,char *,size_t,passwd **) | | __getpwuid_r | 4 | size_t | +| (__uid_t,uid_t,passwd *,char *,size_t,passwd **) | | __getpwuid_r | 5 | passwd ** | +| (__uint32_t,uint32_t) | | __arc4random_uniform | 0 | __uint32_t | +| (__uint32_t,uint32_t) | | __arc4random_uniform | 1 | uint32_t | +| (__wprintf_buffer *,const wchar_t *) | | __wprintf_buffer_puts_1 | 0 | __wprintf_buffer * | +| (__wprintf_buffer *,const wchar_t *) | | __wprintf_buffer_puts_1 | 1 | const wchar_t * | +| (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 0 | __wprintf_buffer * | +| (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 1 | const wchar_t * | +| (__wprintf_buffer *,const wchar_t *,size_t) | | __wprintf_buffer_write | 2 | size_t | +| (__wprintf_buffer *,const wchar_t *,va_list,unsigned int) | | __wprintf_buffer | 0 | __wprintf_buffer * | +| (__wprintf_buffer *,const wchar_t *,va_list,unsigned int) | | __wprintf_buffer | 1 | const wchar_t * | +| (__wprintf_buffer *,const wchar_t *,va_list,unsigned int) | | __wprintf_buffer | 2 | va_list | +| (__wprintf_buffer *,const wchar_t *,va_list,unsigned int) | | __wprintf_buffer | 3 | unsigned int | +| (__wprintf_buffer *,wchar_t) | | __wprintf_buffer_putc_1 | 0 | __wprintf_buffer * | +| (__wprintf_buffer *,wchar_t) | | __wprintf_buffer_putc_1 | 1 | wchar_t | +| (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 0 | __wprintf_buffer * | +| (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 1 | wchar_t | +| (__wprintf_buffer *,wchar_t,size_t) | | __wprintf_buffer_pad_1 | 2 | size_t | +| (__wprintf_buffer_as_file *) | | __wprintf_buffer_as_file_terminate | 0 | __wprintf_buffer_as_file * | +| (__wprintf_buffer_as_file *,__wprintf_buffer *) | | __wprintf_buffer_as_file_init | 0 | __wprintf_buffer_as_file * | +| (__wprintf_buffer_as_file *,__wprintf_buffer *) | | __wprintf_buffer_as_file_init | 1 | __wprintf_buffer * | +| (__wprintf_buffer_to_file *,FILE *) | | __wprintf_buffer_to_file_init | 0 | __wprintf_buffer_to_file * | +| (__wprintf_buffer_to_file *,FILE *) | | __wprintf_buffer_to_file_init | 1 | FILE * | +| (_pthread_cleanup_buffer *,..(*)(..),void *) | | __pthread_cleanup_push | 0 | _pthread_cleanup_buffer * | +| (_pthread_cleanup_buffer *,..(*)(..),void *) | | __pthread_cleanup_push | 1 | ..(*)(..) | +| (_pthread_cleanup_buffer *,..(*)(..),void *) | | __pthread_cleanup_push | 2 | void * | +| (_pthread_cleanup_buffer *,..(*)(..),void *) | | _pthread_cleanup_push_defer | 0 | _pthread_cleanup_buffer * | +| (_pthread_cleanup_buffer *,..(*)(..),void *) | | _pthread_cleanup_push_defer | 1 | ..(*)(..) | +| (_pthread_cleanup_buffer *,..(*)(..),void *) | | _pthread_cleanup_push_defer | 2 | void * | | (action **,e_action,symbol *,char *) | | Action_add | 0 | action ** | | (action **,e_action,symbol *,char *) | | Action_add | 1 | e_action | | (action **,e_action,symbol *,char *) | | Action_add | 2 | symbol * | @@ -25247,6 +31859,34 @@ getSignatureParameterName | (acttab *,int,int) | | acttab_action | 0 | acttab * | | (acttab *,int,int) | | acttab_action | 1 | int | | (acttab *,int,int) | | acttab_action | 2 | int | +| (addrinfo *) | | freeaddrinfo | 0 | addrinfo * | +| (addrinfo *,int) | | support_format_addrinfo | 0 | addrinfo * | +| (addrinfo *,int) | | support_format_addrinfo | 1 | int | +| (aiocb *) | | __aio_read | 0 | aiocb * | +| (aiocb *) | | __aio_return | 0 | aiocb * | +| (aiocb *) | | __aio_write | 0 | aiocb * | +| (aiocb_union *,int) | | __aio_enqueue_request | 0 | aiocb_union * | +| (aiocb_union *,int) | | __aio_enqueue_request | 1 | int | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 0 | aliasent * | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 1 | aliasent *__restrict__ | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 2 | char * | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 3 | char *__restrict__ | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 4 | size_t | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 5 | aliasent ** | +| (aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasent_r | 6 | aliasent **__restrict__ | +| (aliasent *,char *,size_t,int *) | | _nss_files_getaliasent_r | 0 | aliasent * | +| (aliasent *,char *,size_t,int *) | | _nss_files_getaliasent_r | 1 | char * | +| (aliasent *,char *,size_t,int *) | | _nss_files_getaliasent_r | 2 | size_t | +| (aliasent *,char *,size_t,int *) | | _nss_files_getaliasent_r | 3 | int * | +| (alloc_buffer *,size_t,size_t,size_t) | | __libc_alloc_buffer_alloc_array | 0 | alloc_buffer * | +| (alloc_buffer *,size_t,size_t,size_t) | | __libc_alloc_buffer_alloc_array | 1 | size_t | +| (alloc_buffer *,size_t,size_t,size_t) | | __libc_alloc_buffer_alloc_array | 2 | size_t | +| (alloc_buffer *,size_t,size_t,size_t) | | __libc_alloc_buffer_alloc_array | 3 | size_t | +| (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 0 | alloc_buffer | +| (alloc_buffer,const char *) | | __libc_alloc_buffer_copy_string | 1 | const char * | +| (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 0 | alloc_buffer | +| (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 1 | const void * | +| (alloc_buffer,const void *,size_t) | | __libc_alloc_buffer_copy_bytes | 2 | size_t | | (alpn_proto_buf *,const alpn_spec *) | | Curl_alpn_to_proto_buf | 0 | alpn_proto_buf * | | (alpn_proto_buf *,const alpn_spec *) | | Curl_alpn_to_proto_buf | 1 | const alpn_spec * | | (alpn_proto_buf *,const alpn_spec *) | | Curl_alpn_to_proto_str | 0 | alpn_proto_buf * | @@ -25254,6 +31894,23 @@ getSignatureParameterName | (altsvcinfo **) | | Curl_altsvc_cleanup | 0 | altsvcinfo ** | | (altsvcinfo *,const long) | | Curl_altsvc_ctrl | 0 | altsvcinfo * | | (altsvcinfo *,const long) | | Curl_altsvc_ctrl | 1 | const long | +| (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 0 | argp_fmtstream * | +| (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 1 | argp_fmtstream_t | +| (argp_fmtstream *,argp_fmtstream_t,size_t) | | __argp_fmtstream_ensure | 2 | size_t | +| (argp_fmtstream_t) | | __argp_fmtstream_point | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,const char *) | | __argp_fmtstream_puts | 1 | const char * | +| (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 1 | const char * | +| (argp_fmtstream_t,const char *,size_t) | | __argp_fmtstream_write | 2 | size_t | +| (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,int) | | __argp_fmtstream_putc | 1 | int | +| (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_lmargin | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_lmargin | 1 | size_t | +| (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_rmargin | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_rmargin | 1 | size_t | +| (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 0 | argp_fmtstream_t | +| (argp_fmtstream_t,size_t) | | __argp_fmtstream_set_wmargin | 1 | size_t | | (brotli_alloc_func,brotli_free_func,void *) | | BrotliCreateManagedDictionary | 0 | brotli_alloc_func | | (brotli_alloc_func,brotli_free_func,void *) | | BrotliCreateManagedDictionary | 1 | brotli_free_func | | (brotli_alloc_func,brotli_free_func,void *) | | BrotliCreateManagedDictionary | 2 | void * | @@ -25358,15 +32015,45 @@ getSignatureParameterName | (chachapoly_ctx *,unsigned int *,unsigned int,const unsigned char *,unsigned int) | | chachapoly_get_length | 2 | unsigned int | | (chachapoly_ctx *,unsigned int *,unsigned int,const unsigned char *,unsigned int) | | chachapoly_get_length | 3 | const unsigned char * | | (chachapoly_ctx *,unsigned int *,unsigned int,const unsigned char *,unsigned int) | | chachapoly_get_length | 4 | unsigned int | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 0 | char8_t * | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 1 | char8_t *__restrict__ | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 2 | const char * | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 3 | const char *__restrict__ | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 4 | size_t | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 5 | mbstate_t * | +| (char8_t *,char8_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc8 | 6 | mbstate_t *__restrict__ | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 0 | char16_t * | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 1 | char16_t *__restrict__ | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 2 | const char * | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 3 | const char *__restrict__ | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 4 | size_t | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 5 | mbstate_t * | +| (char16_t *,char16_t *__restrict__,const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrtoc16 | 6 | mbstate_t *__restrict__ | | (char *) | | SRP_VBASE_new | 0 | char * | +| (char *) | | _IO_gets | 0 | char * | +| (char *) | | __mktemp | 0 | char * | +| (char *) | | __nis_default_group | 0 | char * | +| (char *) | | __nis_default_owner | 0 | char * | +| (char *) | | __nis_default_ttl | 0 | char * | +| (char *) | | __xpg_basename | 0 | char * | +| (char *) | | ctermid | 0 | char * | +| (char *) | | cuserid | 0 | char * | | (char *) | | defossilize | 0 | char * | +| (char *) | | des_setparity | 0 | char * | +| (char *) | | dirname | 0 | char * | +| (char *) | | getwd | 0 | char * | | (char *) | | make_uppercase | 0 | char * | +| (char *) | | mkdtemp | 0 | char * | | (char *) | | next_item | 0 | char * | +| (char *) | | strfry | 0 | char * | | (char *) | CStringT | CStringT | 0 | char * | | (char **) | | Curl_str_newline | 0 | char ** | | (char **) | | Curl_str_singlespace | 0 | char ** | | (char **) | | OCSP_accept_responses_new | 0 | char ** | +| (char **) | | __nss_valid_list_field | 0 | char ** | +| (char **) | | __tunables_init | 0 | char ** | | (char **) | | sqlite3_free_table | 0 | char ** | +| (char ***) | | _dl_next_ld_env_entry | 0 | char *** | | (char **,Curl_str *,const size_t) | | Curl_str_quotedword | 0 | char ** | | (char **,Curl_str *,const size_t) | | Curl_str_quotedword | 1 | Curl_str * | | (char **,Curl_str *,const size_t) | | Curl_str_quotedword | 2 | const size_t | @@ -25379,16 +32066,188 @@ getSignatureParameterName | (char **,Curl_str *,const size_t,char) | | Curl_str_until | 3 | char | | (char **,URLGlob *) | | glob_next_url | 0 | char ** | | (char **,URLGlob *) | | glob_next_url | 1 | URLGlob * | +| (char **,__netgrent *,char *,size_t,int *) | | _nss_netgroup_parseline | 0 | char ** | +| (char **,__netgrent *,char *,size_t,int *) | | _nss_netgroup_parseline | 1 | __netgrent * | +| (char **,__netgrent *,char *,size_t,int *) | | _nss_netgroup_parseline | 2 | char * | +| (char **,__netgrent *,char *,size_t,int *) | | _nss_netgroup_parseline | 3 | size_t | +| (char **,__netgrent *,char *,size_t,int *) | | _nss_netgroup_parseline | 4 | int * | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 0 | char ** | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 1 | char ** | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 2 | char ** | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 3 | __netgrent * | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 4 | char * | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 5 | size_t | +| (char **,char **,char **,__netgrent *,char *,size_t,int *) | | __internal_getnetgrent_r | 6 | int * | +| (char **,char **,ib_request *,dir_binding *) | | __follow_path | 0 | char ** | +| (char **,char **,ib_request *,dir_binding *) | | __follow_path | 1 | char ** | +| (char **,char **,ib_request *,dir_binding *) | | __follow_path | 2 | ib_request * | +| (char **,char **,ib_request *,dir_binding *) | | __follow_path | 3 | dir_binding * | +| (char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__) | | getsubopt | 0 | char ** | +| (char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__) | | getsubopt | 1 | char **__restrict__ | +| (char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__) | | getsubopt | 2 | char *const * | +| (char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__) | | getsubopt | 3 | char *const *__restrict__ | +| (char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__) | | getsubopt | 4 | char ** | +| (char **,char **__restrict__,char *const *,char *const *__restrict__,char **,char **__restrict__) | | getsubopt | 5 | char **__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 0 | char ** | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 1 | char **__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 2 | int | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 3 | const char * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 4 | const char *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 5 | const char * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 6 | const char *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 7 | const char * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 8 | const char *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 9 | int * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rexec | 10 | int *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 0 | char ** | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 1 | char **__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 2 | int | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 3 | const char * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 4 | const char *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 5 | const char * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 6 | const char *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 7 | const char * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 8 | const char *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 9 | int * | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 10 | int *__restrict__ | +| (char **,char **__restrict__,int,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rexec_af | 11 | sa_family_t | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__) | | getline | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__) | | getline | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__) | | getline | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__) | | getline | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__) | | getline | 4 | FILE * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,FILE *,FILE *__restrict__) | | getline | 5 | FILE *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__) | | argz_delete | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__) | | argz_delete | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__) | | argz_delete | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__) | | argz_delete | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__) | | argz_delete | 4 | char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__) | | argz_delete | 5 | char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 4 | char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 5 | char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 6 | const char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,char *,char *__restrict__,const char *,const char *__restrict__) | | __argz_insert | 7 | const char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__) | | __argz_add | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__) | | __argz_add | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__) | | __argz_add | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__) | | __argz_add | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__) | | __argz_add | 4 | const char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__) | | __argz_add | 5 | const char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 4 | const char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 5 | const char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 6 | const char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 7 | const char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 8 | unsigned int * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,unsigned int *,unsigned int *__restrict__) | | __argz_replace | 9 | unsigned int *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 4 | const char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 5 | const char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,int) | | __argz_add_sep | 6 | int | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 0 | char ** | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 1 | char **__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 2 | size_t * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 3 | size_t *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 4 | const char * | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 5 | const char *__restrict__ | +| (char **,char **__restrict__,size_t *,size_t *__restrict__,const char *,const char *__restrict__,size_t) | | __argz_append | 6 | size_t | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 0 | char ** | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 1 | char **__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 2 | u_short | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 3 | unsigned short | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 4 | const char * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 5 | const char *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 6 | const char * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 7 | const char *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 8 | const char * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 9 | const char *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 10 | int * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__) | | rcmd | 11 | int *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 0 | char ** | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 1 | char **__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 2 | u_short | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 3 | unsigned short | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 4 | const char * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 5 | const char *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 6 | const char * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 7 | const char *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 8 | const char * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 9 | const char *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 10 | int * | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 11 | int *__restrict__ | +| (char **,char **__restrict__,u_short,unsigned short,const char *,const char *__restrict__,const char *,const char *__restrict__,const char *,const char *__restrict__,int *,int *__restrict__,sa_family_t) | | rcmd_af | 12 | sa_family_t | | (char **,char *,URLGlob *) | | glob_match_url | 0 | char ** | | (char **,char *,URLGlob *) | | glob_match_url | 1 | char * | | (char **,char *,URLGlob *) | | glob_match_url | 2 | URLGlob * | | (char **,char) | | Curl_str_single | 0 | char ** | | (char **,char) | | Curl_str_single | 1 | char | +| (char **,char) | | __old_strsep_1c | 0 | char ** | +| (char **,char) | | __old_strsep_1c | 1 | char | +| (char **,char,char) | | __old_strsep_2c | 0 | char ** | +| (char **,char,char) | | __old_strsep_2c | 1 | char | +| (char **,char,char) | | __old_strsep_2c | 2 | char | +| (char **,char,char,char) | | __old_strsep_3c | 0 | char ** | +| (char **,char,char,char) | | __old_strsep_3c | 1 | char | +| (char **,char,char,char) | | __old_strsep_3c | 2 | char | +| (char **,char,char,char) | | __old_strsep_3c | 3 | char | | (char **,const char *) | | Curl_setstropt | 0 | char ** | | (char **,const char *) | | Curl_setstropt | 1 | const char * | +| (char **,const char *) | | __strsep | 0 | char ** | +| (char **,const char *) | | __strsep | 1 | const char * | +| (char **,const char *,...) | | ___asprintf | 0 | char ** | +| (char **,const char *,...) | | ___asprintf | 1 | const char * | +| (char **,const char *,...) | | ___asprintf | 2 | ... | +| (char **,const char *,va_list) | | __vasprintf | 0 | char ** | +| (char **,const char *,va_list) | | __vasprintf | 1 | const char * | +| (char **,const char *,va_list) | | __vasprintf | 2 | va_list | +| (char **,const char *,va_list,unsigned int) | | __vasprintf_internal | 0 | char ** | +| (char **,const char *,va_list,unsigned int) | | __vasprintf_internal | 1 | const char * | +| (char **,const char *,va_list,unsigned int) | | __vasprintf_internal | 2 | va_list | +| (char **,const char *,va_list,unsigned int) | | __vasprintf_internal | 3 | unsigned int | +| (char **,int) | | addrsort | 0 | char ** | +| (char **,int) | | addrsort | 1 | int | +| (char **,int,const char *,...) | | ___asprintf_chk | 0 | char ** | +| (char **,int,const char *,...) | | ___asprintf_chk | 1 | int | +| (char **,int,const char *,...) | | ___asprintf_chk | 2 | const char * | +| (char **,int,const char *,...) | | ___asprintf_chk | 3 | ... | +| (char **,int,const char *,__gnuc_va_list,va_list) | | __vasprintf_chk | 0 | char ** | +| (char **,int,const char *,__gnuc_va_list,va_list) | | __vasprintf_chk | 1 | int | +| (char **,int,const char *,__gnuc_va_list,va_list) | | __vasprintf_chk | 2 | const char * | +| (char **,int,const char *,__gnuc_va_list,va_list) | | __vasprintf_chk | 3 | __gnuc_va_list | +| (char **,int,const char *,__gnuc_va_list,va_list) | | __vasprintf_chk | 4 | va_list | | (char **,s_options *,FILE *) | | OptInit | 0 | char ** | | (char **,s_options *,FILE *) | | OptInit | 1 | s_options * | | (char **,s_options *,FILE *) | | OptInit | 2 | FILE * | +| (char **,size_t *) | | envz_strip | 0 | char ** | +| (char **,size_t *) | | envz_strip | 1 | size_t * | +| (char **,size_t *,FILE *) | | __getline | 0 | char ** | +| (char **,size_t *,FILE *) | | __getline | 1 | size_t * | +| (char **,size_t *,FILE *) | | __getline | 2 | FILE * | +| (char **,size_t *,FILE *) | | xgetline | 0 | char ** | +| (char **,size_t *,FILE *) | | xgetline | 1 | size_t * | +| (char **,size_t *,FILE *) | | xgetline | 2 | FILE * | +| (char **,size_t *,const char *) | | envz_remove | 0 | char ** | +| (char **,size_t *,const char *) | | envz_remove | 1 | size_t * | +| (char **,size_t *,const char *) | | envz_remove | 2 | const char * | +| (char **,size_t *,const char *,const char *) | | envz_add | 0 | char ** | +| (char **,size_t *,const char *,const char *) | | envz_add | 1 | size_t * | +| (char **,size_t *,const char *,const char *) | | envz_add | 2 | const char * | +| (char **,size_t *,const char *,const char *) | | envz_add | 3 | const char * | +| (char **,size_t *,const char *,size_t,int) | | envz_merge | 0 | char ** | +| (char **,size_t *,const char *,size_t,int) | | envz_merge | 1 | size_t * | +| (char **,size_t *,const char *,size_t,int) | | envz_merge | 2 | const char * | +| (char **,size_t *,const char *,size_t,int) | | envz_merge | 3 | size_t | +| (char **,size_t *,const char *,size_t,int) | | envz_merge | 4 | int | | (char **,size_t *,size_t) | | Curl_str_number | 0 | char ** | | (char **,size_t *,size_t) | | Curl_str_number | 1 | size_t * | | (char **,size_t *,size_t) | | Curl_str_number | 2 | size_t | @@ -25398,6 +32257,105 @@ getSignatureParameterName | (char *,FILE *,FILE *,int *) | | tplt_xfer | 1 | FILE * | | (char *,FILE *,FILE *,int *) | | tplt_xfer | 2 | FILE * | | (char *,FILE *,FILE *,int *) | | tplt_xfer | 3 | int * | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 0 | char * | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 1 | __STRING2_COPY_ARR2 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 2 | __STRING2_COPY_ARR3 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 3 | __STRING2_COPY_ARR4 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 4 | __STRING2_COPY_ARR5 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 5 | __STRING2_COPY_ARR6 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 6 | __STRING2_COPY_ARR7 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 7 | __STRING2_COPY_ARR8 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_stpcpy_small | 8 | size_t | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 0 | char * | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 1 | __STRING2_COPY_ARR2 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 2 | __STRING2_COPY_ARR3 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 3 | __STRING2_COPY_ARR4 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 4 | __STRING2_COPY_ARR5 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 5 | __STRING2_COPY_ARR6 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 6 | __STRING2_COPY_ARR7 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 7 | __STRING2_COPY_ARR8 | +| (char *,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_strcpy_small | 8 | size_t | +| (char *,char16_t,mbstate_t *) | | c16rtomb | 0 | char * | +| (char *,char16_t,mbstate_t *) | | c16rtomb | 1 | char16_t | +| (char *,char16_t,mbstate_t *) | | c16rtomb | 2 | mbstate_t * | +| (char *,char *) | | passwd2des_internal | 0 | char * | +| (char *,char *) | | passwd2des_internal | 1 | char * | +| (char *,char *) | | xdecrypt | 0 | char * | +| (char *,char *) | | xdecrypt | 1 | char * | +| (char *,char *) | | xencrypt | 0 | char * | +| (char *,char *) | | xencrypt | 1 | char * | +| (char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__) | | c8rtomb | 0 | char * | +| (char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__) | | c8rtomb | 1 | char *__restrict__ | +| (char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__) | | c8rtomb | 2 | char8_t | +| (char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__) | | c8rtomb | 3 | mbstate_t * | +| (char *,char *__restrict__,char8_t,mbstate_t *,mbstate_t *__restrict__) | | c8rtomb | 4 | mbstate_t *__restrict__ | +| (char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__) | | __strtok_r | 0 | char * | +| (char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__) | | __strtok_r | 1 | char *__restrict__ | +| (char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__) | | __strtok_r | 2 | const char * | +| (char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__) | | __strtok_r | 3 | const char *__restrict__ | +| (char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__) | | __strtok_r | 4 | char ** | +| (char *,char *__restrict__,const char *,const char *__restrict__,char **,char **__restrict__) | | __strtok_r | 5 | char **__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 0 | char * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 1 | char *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 2 | const wchar_t ** | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 3 | const wchar_t **__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 4 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 5 | __mbstate_t *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsrtombs | 6 | mbstate_t * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 0 | char * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 1 | char *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 2 | const wchar_t ** | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 3 | const wchar_t **__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 4 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 5 | mbstate_t * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 6 | mbstate_t *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsrtombs_chk | 7 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 0 | char * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 1 | char *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 2 | const wchar_t ** | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 3 | const wchar_t **__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 4 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 5 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 6 | __mbstate_t *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __wcsnrtombs | 7 | mbstate_t * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 0 | char * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 1 | char *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 2 | const wchar_t ** | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 3 | const wchar_t **__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 4 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 5 | size_t | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 6 | mbstate_t * | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 7 | mbstate_t *__restrict__ | +| (char *,char *__restrict__,const wchar_t **,const wchar_t **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __wcsnrtombs_chk | 8 | size_t | +| (char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | wcstombs | 0 | char * | +| (char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | wcstombs | 1 | char *__restrict__ | +| (char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | wcstombs | 2 | const wchar_t * | +| (char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | wcstombs | 3 | const wchar_t *__restrict__ | +| (char *,char *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | wcstombs | 4 | size_t | +| (char *,char *__restrict__,int,FILE *,FILE *__restrict__) | | __fgets_unlocked | 0 | char * | +| (char *,char *__restrict__,int,FILE *,FILE *__restrict__) | | __fgets_unlocked | 1 | char *__restrict__ | +| (char *,char *__restrict__,int,FILE *,FILE *__restrict__) | | __fgets_unlocked | 2 | int | +| (char *,char *__restrict__,int,FILE *,FILE *__restrict__) | | __fgets_unlocked | 3 | FILE * | +| (char *,char *__restrict__,int,FILE *,FILE *__restrict__) | | __fgets_unlocked | 4 | FILE *__restrict__ | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 0 | char * | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 1 | char *__restrict__ | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 2 | size_t | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 3 | const char * | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 4 | const char *__restrict__ | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 5 | const tm * | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 6 | const tm *__restrict__ | +| (char *,char *__restrict__,size_t,const char *,const char *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __strftime_l | 7 | locale_t | +| (char *,char,char **) | | __old_strtok_r_1c | 0 | char * | +| (char *,char,char **) | | __old_strtok_r_1c | 1 | char | +| (char *,char,char **) | | __old_strtok_r_1c | 2 | char ** | +| (char *,const char *) | | xstrdup | 0 | char * | +| (char *,const char *) | | xstrdup | 1 | const char * | +| (char *,const char **,const char **,const char **,const char **,const char **) | | _nl_explode_name | 0 | char * | +| (char *,const char **,const char **,const char **,const char **,const char **) | | _nl_explode_name | 1 | const char ** | +| (char *,const char **,const char **,const char **,const char **,const char **) | | _nl_explode_name | 2 | const char ** | +| (char *,const char **,const char **,const char **,const char **,const char **) | | _nl_explode_name | 3 | const char ** | +| (char *,const char **,const char **,const char **,const char **,const char **) | | _nl_explode_name | 4 | const char ** | +| (char *,const char **,const char **,const char **,const char **,const char **) | | _nl_explode_name | 5 | const char ** | | (char *,const char *,char **) | | uv__strtok | 0 | char * | | (char *,const char *,char **) | | uv__strtok | 1 | const char * | | (char *,const char *,char **) | | uv__strtok | 2 | char ** | @@ -25413,6 +32371,12 @@ getSignatureParameterName | (char *,const char *,int,const char *) | | PEM_dek_info | 1 | const char * | | (char *,const char *,int,const char *) | | PEM_dek_info | 2 | int | | (char *,const char *,int,const char *) | | PEM_dek_info | 3 | const char * | +| (char *,const char *,int,link_map *,int,Lmid_t) | | _dl_new_object | 0 | char * | +| (char *,const char *,int,link_map *,int,Lmid_t) | | _dl_new_object | 1 | const char * | +| (char *,const char *,int,link_map *,int,Lmid_t) | | _dl_new_object | 2 | int | +| (char *,const char *,int,link_map *,int,Lmid_t) | | _dl_new_object | 3 | link_map * | +| (char *,const char *,int,link_map *,int,Lmid_t) | | _dl_new_object | 4 | int | +| (char *,const char *,int,link_map *,int,Lmid_t) | | _dl_new_object | 5 | Lmid_t | | (char *,const char *,size_t) | | Curl_strntolower | 0 | char * | | (char *,const char *,size_t) | | Curl_strntolower | 1 | const char * | | (char *,const char *,size_t) | | Curl_strntolower | 2 | size_t | @@ -25428,13 +32392,34 @@ getSignatureParameterName | (char *,const char *,size_t) | | uv__strscpy | 0 | char * | | (char *,const char *,size_t) | | uv__strscpy | 1 | const char * | | (char *,const char *,size_t) | | uv__strscpy | 2 | size_t | +| (char *,const char *,size_t,locale_t) | | __strxfrm_l | 0 | char * | +| (char *,const char *,size_t,locale_t) | | __strxfrm_l | 1 | const char * | +| (char *,const char *,size_t,locale_t) | | __strxfrm_l | 2 | size_t | +| (char *,const char *,size_t,locale_t) | | __strxfrm_l | 3 | locale_t | +| (char *,const char *,va_list) | | __vsprintf | 0 | char * | +| (char *,const char *,va_list) | | __vsprintf | 1 | const char * | +| (char *,const char *,va_list) | | __vsprintf | 2 | va_list | | (char *,const char *,va_list) | | curl_mvsprintf | 0 | char * | | (char *,const char *,va_list) | | curl_mvsprintf | 1 | const char * | | (char *,const char *,va_list) | | curl_mvsprintf | 2 | va_list | +| (char *,const wchar_t *,size_t,size_t) | | __wcstombs_chk | 0 | char * | +| (char *,const wchar_t *,size_t,size_t) | | __wcstombs_chk | 1 | const wchar_t * | +| (char *,const wchar_t *,size_t,size_t) | | __wcstombs_chk | 2 | size_t | +| (char *,const wchar_t *,size_t,size_t) | | __wcstombs_chk | 3 | size_t | +| (char *,des_block *) | | key_decryptsession | 0 | char * | +| (char *,des_block *) | | key_decryptsession | 1 | des_block * | +| (char *,des_block *) | | key_encryptsession | 0 | char * | +| (char *,des_block *) | | key_encryptsession | 1 | des_block * | | (char *,int) | | Curl_str2addr | 0 | char * | | (char *,int) | | Curl_str2addr | 1 | int | | (char *,int) | | PEM_proc_type | 0 | char * | | (char *,int) | | PEM_proc_type | 1 | int | +| (char *,int,FILE *) | | _IO_fgets | 0 | char * | +| (char *,int,FILE *) | | _IO_fgets | 1 | int | +| (char *,int,FILE *) | | _IO_fgets | 2 | FILE * | +| (char *,int,FILE *) | | xfgets | 0 | char * | +| (char *,int,FILE *) | | xfgets | 1 | int | +| (char *,int,FILE *) | | xfgets | 2 | FILE * | | (char *,int,const ASN1_OBJECT *) | | i2t_ASN1_OBJECT | 0 | char * | | (char *,int,const ASN1_OBJECT *) | | i2t_ASN1_OBJECT | 1 | int | | (char *,int,const ASN1_OBJECT *) | | i2t_ASN1_OBJECT | 2 | const ASN1_OBJECT * | @@ -25454,6 +32439,19 @@ getSignatureParameterName | (char *,int,int,void *) | | ossl_pw_pvk_password | 1 | int | | (char *,int,int,void *) | | ossl_pw_pvk_password | 2 | int | | (char *,int,int,void *) | | ossl_pw_pvk_password | 3 | void * | +| (char *,int,size_t,const char *,va_list) | | ___vsprintf_chk | 0 | char * | +| (char *,int,size_t,const char *,va_list) | | ___vsprintf_chk | 1 | int | +| (char *,int,size_t,const char *,va_list) | | ___vsprintf_chk | 2 | size_t | +| (char *,int,size_t,const char *,va_list) | | ___vsprintf_chk | 3 | const char * | +| (char *,int,size_t,const char *,va_list) | | ___vsprintf_chk | 4 | va_list | +| (char *,netobj *,des_block *) | | key_decryptsession_pk | 0 | char * | +| (char *,netobj *,des_block *) | | key_decryptsession_pk | 1 | netobj * | +| (char *,netobj *,des_block *) | | key_decryptsession_pk | 2 | des_block * | +| (char *,netobj *,des_block *) | | key_encryptsession_pk | 0 | char * | +| (char *,netobj *,des_block *) | | key_encryptsession_pk | 1 | netobj * | +| (char *,netobj *,des_block *) | | key_encryptsession_pk | 2 | des_block * | +| (char *,random_data *) | | __setstate_r | 0 | char * | +| (char *,random_data *) | | __setstate_r | 1 | random_data * | | (char *,size_t *) | | uv_cwd | 0 | char * | | (char *,size_t *) | | uv_cwd | 1 | size_t * | | (char *,size_t *) | | uv_exepath | 0 | char * | @@ -25466,20 +32464,99 @@ getSignatureParameterName | (char *,size_t *) | | uv_os_tmpdir | 1 | size_t * | | (char *,size_t) | | RAND_file_name | 0 | char * | | (char *,size_t) | | RAND_file_name | 1 | size_t | +| (char *,size_t) | | __getcwd | 0 | char * | +| (char *,size_t) | | __getcwd | 1 | size_t | +| (char *,size_t) | | __gets_chk | 0 | char * | +| (char *,size_t) | | __gets_chk | 1 | size_t | +| (char *,size_t) | | __getwd_chk | 0 | char * | +| (char *,size_t) | | __getwd_chk | 1 | size_t | | (char *,size_t) | | plain_method | 0 | char * | | (char *,size_t) | | plain_method | 1 | size_t | | (char *,size_t,const char *,...) | | BIO_snprintf | 0 | char * | | (char *,size_t,const char *,...) | | BIO_snprintf | 1 | size_t | | (char *,size_t,const char *,...) | | BIO_snprintf | 2 | const char * | | (char *,size_t,const char *,...) | | BIO_snprintf | 3 | ... | +| (char *,size_t,const char *,...) | | __strfmon | 0 | char * | +| (char *,size_t,const char *,...) | | __strfmon | 1 | size_t | +| (char *,size_t,const char *,...) | | __strfmon | 2 | const char * | +| (char *,size_t,const char *,...) | | __strfmon | 3 | ... | +| (char *,size_t,const char *,_Float128) | | strfromf128 | 0 | char * | +| (char *,size_t,const char *,_Float128) | | strfromf128 | 1 | size_t | +| (char *,size_t,const char *,_Float128) | | strfromf128 | 2 | const char * | +| (char *,size_t,const char *,_Float128) | | strfromf128 | 3 | _Float128 | +| (char *,size_t,const char *,const char *,bool) | | __path_search | 0 | char * | +| (char *,size_t,const char *,const char *,bool) | | __path_search | 1 | size_t | +| (char *,size_t,const char *,const char *,bool) | | __path_search | 2 | const char * | +| (char *,size_t,const char *,const char *,bool) | | __path_search | 3 | const char * | +| (char *,size_t,const char *,const char *,bool) | | __path_search | 4 | bool | +| (char *,size_t,const char *,double) | | strfromd | 0 | char * | +| (char *,size_t,const char *,double) | | strfromd | 1 | size_t | +| (char *,size_t,const char *,double) | | strfromd | 2 | const char * | +| (char *,size_t,const char *,double) | | strfromd | 3 | double | +| (char *,size_t,const char *,float) | | strfromf | 0 | char * | +| (char *,size_t,const char *,float) | | strfromf | 1 | size_t | +| (char *,size_t,const char *,float) | | strfromf | 2 | const char * | +| (char *,size_t,const char *,float) | | strfromf | 3 | float | +| (char *,size_t,const char *,long double) | | strfroml | 0 | char * | +| (char *,size_t,const char *,long double) | | strfroml | 1 | size_t | +| (char *,size_t,const char *,long double) | | strfroml | 2 | const char * | +| (char *,size_t,const char *,long double) | | strfroml | 3 | long double | | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 0 | char * | | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 1 | size_t | | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 2 | const char * | | (char *,size_t,const char *,va_list) | | BIO_vsnprintf | 3 | va_list | +| (char *,size_t,const char *,va_list) | | ___vsnprintf | 0 | char * | +| (char *,size_t,const char *,va_list) | | ___vsnprintf | 1 | size_t | +| (char *,size_t,const char *,va_list) | | ___vsnprintf | 2 | const char * | +| (char *,size_t,const char *,va_list) | | ___vsnprintf | 3 | va_list | | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 0 | char * | | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 1 | size_t | | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 2 | const char * | | (char *,size_t,const char *,va_list) | | curl_mvsnprintf | 3 | va_list | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsnprintf_internal | 0 | char * | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsnprintf_internal | 1 | size_t | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsnprintf_internal | 2 | const char * | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsnprintf_internal | 3 | va_list | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsnprintf_internal | 4 | unsigned int | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsprintf_internal | 0 | char * | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsprintf_internal | 1 | size_t | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsprintf_internal | 2 | const char * | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsprintf_internal | 3 | va_list | +| (char *,size_t,const char *,va_list,unsigned int) | | __vsprintf_internal | 4 | unsigned int | +| (char *,size_t,int) | | __argz_stringify | 0 | char * | +| (char *,size_t,int) | | __argz_stringify | 1 | size_t | +| (char *,size_t,int) | | __argz_stringify | 2 | int | +| (char *,size_t,int,FILE *) | | __fgets_chk | 0 | char * | +| (char *,size_t,int,FILE *) | | __fgets_chk | 1 | size_t | +| (char *,size_t,int,FILE *) | | __fgets_chk | 2 | int | +| (char *,size_t,int,FILE *) | | __fgets_chk | 3 | FILE * | +| (char *,size_t,int,FILE *) | | __fgets_unlocked_chk | 0 | char * | +| (char *,size_t,int,FILE *) | | __fgets_unlocked_chk | 1 | size_t | +| (char *,size_t,int,FILE *) | | __fgets_unlocked_chk | 2 | int | +| (char *,size_t,int,FILE *) | | __fgets_unlocked_chk | 3 | FILE * | +| (char *,size_t,int,size_t,const char *,...) | | ___snprintf_chk | 0 | char * | +| (char *,size_t,int,size_t,const char *,...) | | ___snprintf_chk | 1 | size_t | +| (char *,size_t,int,size_t,const char *,...) | | ___snprintf_chk | 2 | int | +| (char *,size_t,int,size_t,const char *,...) | | ___snprintf_chk | 3 | size_t | +| (char *,size_t,int,size_t,const char *,...) | | ___snprintf_chk | 4 | const char * | +| (char *,size_t,int,size_t,const char *,...) | | ___snprintf_chk | 5 | ... | +| (char *,size_t,int,size_t,const char *,va_list) | | ___vsnprintf_chk | 0 | char * | +| (char *,size_t,int,size_t,const char *,va_list) | | ___vsnprintf_chk | 1 | size_t | +| (char *,size_t,int,size_t,const char *,va_list) | | ___vsnprintf_chk | 2 | int | +| (char *,size_t,int,size_t,const char *,va_list) | | ___vsnprintf_chk | 3 | size_t | +| (char *,size_t,int,size_t,const char *,va_list) | | ___vsnprintf_chk | 4 | const char * | +| (char *,size_t,int,size_t,const char *,va_list) | | ___vsnprintf_chk | 5 | va_list | +| (char *,size_t,locale_t,const char *,...) | | ___strfmon_l | 0 | char * | +| (char *,size_t,locale_t,const char *,...) | | ___strfmon_l | 1 | size_t | +| (char *,size_t,locale_t,const char *,...) | | ___strfmon_l | 2 | locale_t | +| (char *,size_t,locale_t,const char *,...) | | ___strfmon_l | 3 | const char * | +| (char *,size_t,locale_t,const char *,...) | | ___strfmon_l | 4 | ... | +| (char *,size_t,locale_t,const char *,va_list,unsigned int) | | __vstrfmon_l_internal | 0 | char * | +| (char *,size_t,locale_t,const char *,va_list,unsigned int) | | __vstrfmon_l_internal | 1 | size_t | +| (char *,size_t,locale_t,const char *,va_list,unsigned int) | | __vstrfmon_l_internal | 2 | locale_t | +| (char *,size_t,locale_t,const char *,va_list,unsigned int) | | __vstrfmon_l_internal | 3 | const char * | +| (char *,size_t,locale_t,const char *,va_list,unsigned int) | | __vstrfmon_l_internal | 4 | va_list | +| (char *,size_t,locale_t,const char *,va_list,unsigned int) | | __vstrfmon_l_internal | 5 | unsigned int | | (char *,size_t,size_t *,const OSSL_PARAM[],int,ossl_passphrase_data_st *) | | ossl_pw_get_passphrase | 0 | char * | | (char *,size_t,size_t *,const OSSL_PARAM[],int,ossl_passphrase_data_st *) | | ossl_pw_get_passphrase | 1 | size_t | | (char *,size_t,size_t *,const OSSL_PARAM[],int,ossl_passphrase_data_st *) | | ossl_pw_get_passphrase | 2 | size_t * | @@ -25502,6 +32579,9 @@ getSignatureParameterName | (char *,size_t,size_t *,const unsigned char *,size_t,const char) | | OPENSSL_buf2hexstr_ex | 3 | const unsigned char * | | (char *,size_t,size_t *,const unsigned char *,size_t,const char) | | OPENSSL_buf2hexstr_ex | 4 | size_t | | (char *,size_t,size_t *,const unsigned char *,size_t,const char) | | OPENSSL_buf2hexstr_ex | 5 | const char | +| (char *,size_t,size_t) | | __getcwd_chk | 0 | char * | +| (char *,size_t,size_t) | | __getcwd_chk | 1 | size_t | +| (char *,size_t,size_t) | | __getcwd_chk | 2 | size_t | | (char *,size_t,size_t,void *) | | Curl_ftp_parselist | 0 | char * | | (char *,size_t,size_t,void *) | | Curl_ftp_parselist | 1 | size_t | | (char *,size_t,size_t,void *) | | Curl_ftp_parselist | 2 | size_t | @@ -25524,10 +32604,79 @@ getSignatureParameterName | (char *,size_t,size_t,void *) | | tool_read_cb | 3 | void * | | (char *,uint8_t) | | ossl_to_hex | 0 | char * | | (char *,uint8_t) | | ossl_to_hex | 1 | uint8_t | +| (char *,unsigned int) | | __nis_default_access | 0 | char * | +| (char *,unsigned int) | | __nis_default_access | 1 | unsigned int | | (char *,unsigned int) | | utf8_fromunicode | 0 | char * | | (char *,unsigned int) | | utf8_fromunicode | 1 | unsigned int | | (char *,unsigned int) | | uv_buf_init | 0 | char * | | (char *,unsigned int) | | uv_buf_init | 1 | unsigned int | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_etherent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_etherent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_etherent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_etherent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_etherent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_grent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_grent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_grent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_grent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_grent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_netent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_netent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_netent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_netent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_netent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_protoent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_protoent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_protoent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_protoent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_protoent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_pwent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_pwent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_pwent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_pwent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_pwent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_rpcent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_rpcent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_rpcent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_rpcent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_rpcent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_servent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_servent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_servent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_servent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_servent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_sgent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_sgent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_sgent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_sgent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_sgent | 4 | int * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_spent | 0 | char * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_spent | 1 | void * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_spent | 2 | parser_data * | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_spent | 3 | size_t | +| (char *,void *,parser_data *,size_t,int *) | | _nss_files_parse_spent | 4 | int * | +| (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 0 | char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 1 | const char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t) | | __strlcat | 2 | size_t | +| (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 0 | char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 1 | const char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t) | | __strlcpy | 2 | size_t | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcat_chk | 0 | char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcat_chk | 1 | const char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcat_chk | 2 | size_t | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcat_chk | 3 | size_t | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcpy_chk | 0 | char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcpy_chk | 1 | const char *__restrict__ | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcpy_chk | 2 | size_t | +| (char *__restrict__,const char *__restrict__,size_t,size_t) | | __strlcpy_chk | 3 | size_t | +| (char *const *,int,..(*)(..)) | | fts_open | 0 | char *const * | +| (char *const *,int,..(*)(..)) | | fts_open | 1 | int | +| (char *const *,int,..(*)(..)) | | fts_open | 2 | ..(*)(..) | +| (char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create | 0 | char *const[] | +| (char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create | 1 | char ** | +| (char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create | 2 | char **__restrict__ | +| (char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create | 3 | size_t * | +| (char *const[],char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create | 4 | size_t *__restrict__ | | (char) | | Curl_raw_tolower | 0 | char | | (char) | | Curl_raw_toupper | 0 | char | | (char) | | findshortopt | 0 | char | @@ -25538,6 +32687,22 @@ getSignatureParameterName | (char,const CStringT &) | | operator+ | 1 | const CStringT & | | (char,int) | CStringT | CStringT | 0 | char | | (char,int) | CStringT | CStringT | 1 | int | +| (char[20]) | | tmpnam | 0 | char[20] | +| (char[20]) | | tmpnam_r | 0 | char[20] | +| (char[256],const char *,const char *) | | host2netname | 0 | char[256] | +| (char[256],const char *,const char *) | | host2netname | 1 | const char * | +| (char[256],const char *,const char *) | | host2netname | 2 | const char * | +| (char[256],const uid_t,const char *) | | user2netname | 0 | char[256] | +| (char[256],const uid_t,const char *) | | user2netname | 1 | const uid_t | +| (char[256],const uid_t,const char *) | | user2netname | 2 | const char * | +| (cmsghdr *,const uint8_t *,int,int) | | inet6_option_append | 0 | cmsghdr * | +| (cmsghdr *,const uint8_t *,int,int) | | inet6_option_append | 1 | const uint8_t * | +| (cmsghdr *,const uint8_t *,int,int) | | inet6_option_append | 2 | int | +| (cmsghdr *,const uint8_t *,int,int) | | inet6_option_append | 3 | int | +| (cmsghdr *,int,int,int) | | inet6_option_alloc | 0 | cmsghdr * | +| (cmsghdr *,int,int,int) | | inet6_option_alloc | 1 | int | +| (cmsghdr *,int,int,int) | | inet6_option_alloc | 2 | int | +| (cmsghdr *,int,int,int) | | inet6_option_alloc | 3 | int | | (codetype,unsigned short *,unsigned int,code **,unsigned int *,unsigned short *) | | inflate_table | 0 | codetype | | (codetype,unsigned short *,unsigned int,code **,unsigned int *,unsigned short *) | | inflate_table | 1 | unsigned short * | | (codetype,unsigned short *,unsigned int,code **,unsigned int *,unsigned short *) | | inflate_table | 2 | unsigned int | @@ -28571,6 +35736,21 @@ getSignatureParameterName | (const YCHAR *,int,IAtlStringMgr *) | CStringT | CStringT | 0 | const YCHAR * | | (const YCHAR *,int,IAtlStringMgr *) | CStringT | CStringT | 1 | int | | (const YCHAR *,int,IAtlStringMgr *) | CStringT | CStringT | 2 | IAtlStringMgr * | +| (const _Float128 *) | | __getpayloadf128 | 0 | const _Float128 * | +| (const aiocb *) | | __aio_error | 0 | const aiocb * | +| (const aiocb *const[],int,const timespec *) | | ___aio_suspend_time64 | 0 | const aiocb *const[] | +| (const aiocb *const[],int,const timespec *) | | ___aio_suspend_time64 | 1 | int | +| (const aiocb *const[],int,const timespec *) | | ___aio_suspend_time64 | 2 | const timespec * | +| (const argp_state *,const char *,va_list,unsigned int) | | __argp_error_internal | 0 | const argp_state * | +| (const argp_state *,const char *,va_list,unsigned int) | | __argp_error_internal | 1 | const char * | +| (const argp_state *,const char *,va_list,unsigned int) | | __argp_error_internal | 2 | va_list | +| (const argp_state *,const char *,va_list,unsigned int) | | __argp_error_internal | 3 | unsigned int | +| (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 0 | const argp_state * | +| (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 1 | int | +| (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 2 | int | +| (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 3 | const char * | +| (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 4 | va_list | +| (const argp_state *,int,int,const char *,va_list,unsigned int) | | __argp_failure_internal | 5 | unsigned int | | (const bufq *) | | Curl_bufq_len | 0 | const bufq * | | (const bufref *) | | Curl_bufref_len | 0 | const bufref * | | (const bufref *) | | Curl_bufref_ptr | 0 | const bufref * | @@ -28586,23 +35766,50 @@ getSignatureParameterName | (const char *) | | UI_create_method | 0 | const char * | | (const char *) | | X509V3_parse_list | 0 | const char * | | (const char *) | | X509_LOOKUP_meth_new | 0 | const char * | +| (const char *) | | __basename | 0 | const char * | +| (const char *) | | __gconv_find_shlib | 0 | const char * | +| (const char *) | | __gettext | 0 | const char * | +| (const char *) | | __hash_string | 0 | const char * | +| (const char *) | | __nss_action_parse | 0 | const char * | +| (const char *) | | __strdup | 0 | const char * | +| (const char *) | | __textdomain | 0 | const char * | +| (const char *) | | __tzset_parse_tz | 0 | const char * | +| (const char *) | | __tzstring | 0 | const char * | | (const char *) | | a2i_IPADDRESS | 0 | const char * | | (const char *) | | a2i_IPADDRESS_NC | 0 | const char * | +| (const char *) | | a64l | 0 | const char * | +| (const char *) | | charmap_opendir | 0 | const char * | +| (const char *) | | ether_aton | 0 | const char * | +| (const char *) | | getdate | 0 | const char * | +| (const char *) | | inetstr2int | 0 | const char * | | (const char *) | | last_component | 0 | const char * | +| (const char *) | | new_glibc_hwcaps_subdirectory | 0 | const char * | | (const char *) | | opt_path_end | 0 | const char * | | (const char *) | | opt_progname | 0 | const char * | | (const char *) | | ossl_lh_strcasehash | 0 | const char * | +| (const char *) | | repertoire_read | 0 | const char * | +| (const char *) | | res_gethostbyname | 0 | const char * | +| (const char *) | | sgetsgent | 0 | const char * | +| (const char *) | | sgetspent | 0 | const char * | | (const char *) | | strhash | 0 | const char * | | (const char *) | | uc_script_byname | 0 | const char * | | (const char *) | | uv__strdup | 0 | const char * | | (const char *) | | uv_wtf8_length_as_utf16 | 0 | const char * | +| (const char *) | | xstrdup | 0 | const char * | | (const char **) | | ERR_peek_error_func | 0 | const char ** | | (const char **) | | ERR_peek_last_error_func | 0 | const char ** | +| (const char **,__locale_data *) | | _nl_parse_alt_digit | 0 | const char ** | +| (const char **,__locale_data *) | | _nl_parse_alt_digit | 1 | __locale_data * | | (const char **,char **,const char *) | | Curl_get_pathname | 0 | const char ** | | (const char **,char **,const char *) | | Curl_get_pathname | 1 | char ** | | (const char **,char **,const char *) | | Curl_get_pathname | 2 | const char * | | (const char **,const char *) | | uv__utf8_decode1 | 0 | const char ** | | (const char **,const char *) | | uv__utf8_decode1 | 1 | const char * | +| (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 0 | const char ** | +| (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 1 | const char ** | +| (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 2 | bool * | +| (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 3 | ..(*)(..) | +| (const char **,const char **,bool *,..(*)(..),void *) | | _dl_catch_error | 4 | void * | | (const char **,int *) | | ERR_get_error_line | 0 | const char ** | | (const char **,int *) | | ERR_get_error_line | 1 | int * | | (const char **,int *) | | ERR_peek_error_data | 0 | const char ** | @@ -28696,14 +35903,91 @@ getSignatureParameterName | (const char *,X509 **,stack_st_X509 **,int,const char *,const char *,X509_VERIFY_PARAM *) | | load_cert_certs | 4 | const char * | | (const char *,X509 **,stack_st_X509 **,int,const char *,const char *,X509_VERIFY_PARAM *) | | load_cert_certs | 5 | const char * | | (const char *,X509 **,stack_st_X509 **,int,const char *,const char *,X509_VERIFY_PARAM *) | | load_cert_certs | 6 | X509_VERIFY_PARAM * | +| (const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *) | | getgrouplist | 0 | const char * | +| (const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *) | | getgrouplist | 1 | __gid_t | +| (const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *) | | getgrouplist | 2 | gid_t | +| (const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *) | | getgrouplist | 3 | __gid_t * | +| (const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *) | | getgrouplist | 4 | gid_t * | +| (const char *,__gid_t,gid_t,__gid_t *,gid_t *,int *) | | getgrouplist | 5 | int * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 0 | const char * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 1 | __gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 2 | gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 3 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 4 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 5 | __gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 6 | gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 7 | long | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_compat_initgroups_dyn | 8 | int * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 0 | const char * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 1 | __gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 2 | gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 3 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 4 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 5 | __gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 6 | gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 7 | long | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_db_initgroups_dyn | 8 | int * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 0 | const char * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 1 | __gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 2 | gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 3 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 4 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 5 | __gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 6 | gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 7 | long | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_files_initgroups_dyn | 8 | int * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 0 | const char * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 1 | __gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 2 | gid_t | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 3 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 4 | long * | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 5 | __gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 6 | gid_t ** | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 7 | long | +| (const char *,__gid_t,gid_t,long *,long *,__gid_t **,gid_t **,long,int *) | | _nss_hesiod_initgroups_dyn | 8 | int * | +| (const char *,__gnuc_va_list) | | vwarn | 0 | const char * | +| (const char *,__gnuc_va_list) | | vwarn | 1 | __gnuc_va_list | +| (const char *,__gnuc_va_list) | | vwarnx | 0 | const char * | +| (const char *,__gnuc_va_list) | | vwarnx | 1 | __gnuc_va_list | +| (const char *,__gnuc_va_list,unsigned int) | | __vwarn_internal | 0 | const char * | +| (const char *,__gnuc_va_list,unsigned int) | | __vwarn_internal | 1 | __gnuc_va_list | +| (const char *,__gnuc_va_list,unsigned int) | | __vwarn_internal | 2 | unsigned int | +| (const char *,__gnuc_va_list,unsigned int) | | __vwarnx_internal | 0 | const char * | +| (const char *,__gnuc_va_list,unsigned int) | | __vwarnx_internal | 1 | __gnuc_va_list | +| (const char *,__gnuc_va_list,unsigned int) | | __vwarnx_internal | 2 | unsigned int | +| (const char *,__netgrent *) | | __internal_setnetgrent | 0 | const char * | +| (const char *,__netgrent *) | | __internal_setnetgrent | 1 | __netgrent * | +| (const char *,__netgrent *) | | _nss_db_setnetgrent | 0 | const char * | +| (const char *,__netgrent *) | | _nss_db_setnetgrent | 1 | __netgrent * | +| (const char *,addrinfo *,int,const char *) | | check_addrinfo | 0 | const char * | +| (const char *,addrinfo *,int,const char *) | | check_addrinfo | 1 | addrinfo * | +| (const char *,addrinfo *,int,const char *) | | check_addrinfo | 2 | int | +| (const char *,addrinfo *,int,const char *) | | check_addrinfo | 3 | const char * | +| (const char *,aliasent *,char *,size_t,int *) | | _nss_files_getaliasbyname_r | 0 | const char * | +| (const char *,aliasent *,char *,size_t,int *) | | _nss_files_getaliasbyname_r | 1 | aliasent * | +| (const char *,aliasent *,char *,size_t,int *) | | _nss_files_getaliasbyname_r | 2 | char * | +| (const char *,aliasent *,char *,size_t,int *) | | _nss_files_getaliasbyname_r | 3 | size_t | +| (const char *,aliasent *,char *,size_t,int *) | | _nss_files_getaliasbyname_r | 4 | int * | | (const char *,bufref *) | | Curl_auth_create_external_message | 0 | const char * | | (const char *,bufref *) | | Curl_auth_create_external_message | 1 | bufref * | | (const char *,bufref *) | | Curl_auth_create_login_message | 0 | const char * | | (const char *,bufref *) | | Curl_auth_create_login_message | 1 | bufref * | +| (const char *,char *) | | __old_realpath | 0 | const char * | +| (const char *,char *) | | __old_realpath | 1 | char * | +| (const char *,char *) | | __realpath | 0 | const char * | +| (const char *,char *) | | __realpath | 1 | char * | | (const char *,char *) | | sha1sum_file | 0 | const char * | | (const char *,char *) | | sha1sum_file | 1 | char * | | (const char *,char *) | | sha3sum_file | 0 | const char * | | (const char *,char *) | | sha3sum_file | 1 | char * | +| (const char *,char **) | | __idna_from_dns_encoding | 0 | const char * | +| (const char *,char **) | | __idna_from_dns_encoding | 1 | char ** | +| (const char *,char **) | | __idna_to_dns_encoding | 0 | const char * | +| (const char *,char **) | | __idna_to_dns_encoding | 1 | char ** | +| (const char *,char **) | | __nss_rewrite_field | 0 | const char * | +| (const char *,char **) | | __nss_rewrite_field | 1 | char ** | +| (const char *,char **) | | _dl_strtoul | 0 | const char * | +| (const char *,char **) | | _dl_strtoul | 1 | char ** | | (const char *,char **,char **,BIO_hostserv_priorities) | | BIO_parse_hostserv | 0 | const char * | | (const char *,char **,char **,BIO_hostserv_priorities) | | BIO_parse_hostserv | 1 | char ** | | (const char *,char **,char **,BIO_hostserv_priorities) | | BIO_parse_hostserv | 2 | char ** | @@ -28721,6 +36005,24 @@ getSignatureParameterName | (const char *,char **,char **,char **,char **,int *,char **,char **,char **) | | OSSL_parse_url | 6 | char ** | | (const char *,char **,char **,char **,char **,int *,char **,char **,char **) | | OSSL_parse_url | 7 | char ** | | (const char *,char **,char **,char **,char **,int *,char **,char **,char **) | | OSSL_parse_url | 8 | char ** | +| (const char *,char **,char) | | __strtod_nan | 0 | const char * | +| (const char *,char **,char) | | __strtod_nan | 1 | char ** | +| (const char *,char **,char) | | __strtod_nan | 2 | char | +| (const char *,char **,char) | | __strtof128_nan | 0 | const char * | +| (const char *,char **,char) | | __strtof128_nan | 1 | char ** | +| (const char *,char **,char) | | __strtof128_nan | 2 | char | +| (const char *,char **,char) | | __strtof_nan | 0 | const char * | +| (const char *,char **,char) | | __strtof_nan | 1 | char ** | +| (const char *,char **,char) | | __strtof_nan | 2 | char | +| (const char *,char **,char) | | __strtold_nan | 0 | const char * | +| (const char *,char **,char) | | __strtold_nan | 1 | char ** | +| (const char *,char **,char) | | __strtold_nan | 2 | char | +| (const char *,char **,int) | | __strtol | 0 | const char * | +| (const char *,char **,int) | | __strtol | 1 | char ** | +| (const char *,char **,int) | | __strtol | 2 | int | +| (const char *,char **,int) | | __strtoul | 0 | const char * | +| (const char *,char **,int) | | __strtoul | 1 | char ** | +| (const char *,char **,int) | | __strtoul | 2 | int | | (const char *,char **,int) | | idn2_to_ascii_8z | 0 | const char * | | (const char *,char **,int) | | idn2_to_ascii_8z | 1 | char ** | | (const char *,char **,int) | | idn2_to_ascii_8z | 2 | int | @@ -28745,6 +36047,13 @@ getSignatureParameterName | (const char *,char *,char *,const char **) | | Curl_auth_digest_get_pair | 1 | char * | | (const char *,char *,char *,const char **) | | Curl_auth_digest_get_pair | 2 | char * | | (const char *,char *,char *,const char **) | | Curl_auth_digest_get_pair | 3 | const char ** | +| (const char *,char *,const char *,binding *) | | _nl_find_domain | 0 | const char * | +| (const char *,char *,const char *,binding *) | | _nl_find_domain | 1 | char * | +| (const char *,char *,const char *,binding *) | | _nl_find_domain | 2 | const char * | +| (const char *,char *,const char *,binding *) | | _nl_find_domain | 3 | binding * | +| (const char *,char *,const int) | | netname2host | 0 | const char * | +| (const char *,char *,const int) | | netname2host | 1 | char * | +| (const char *,char *,const int) | | netname2host | 2 | const int | | (const char *,char *,size_t *) | | uv__search_path | 0 | const char * | | (const char *,char *,size_t *) | | uv__search_path | 1 | char * | | (const char *,char *,size_t *) | | uv__search_path | 2 | size_t * | @@ -28754,13 +36063,28 @@ getSignatureParameterName | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 0 | const char * | | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 1 | char * | | (const char *,char *,size_t) | | OSSL_PARAM_construct_utf8_string | 2 | size_t | +| (const char *,char *,size_t) | | __libc_ns_makecanon | 0 | const char * | +| (const char *,char *,size_t) | | __libc_ns_makecanon | 1 | char * | +| (const char *,char *,size_t) | | __libc_ns_makecanon | 2 | size_t | +| (const char *,char *,size_t) | | __realpath_chk | 0 | const char * | +| (const char *,char *,size_t) | | __realpath_chk | 1 | char * | +| (const char *,char *,size_t) | | __realpath_chk | 2 | size_t | | (const char *,char *,size_t) | | getpass_r | 0 | const char * | | (const char *,char *,size_t) | | getpass_r | 1 | char * | | (const char *,char *,size_t) | | getpass_r | 2 | size_t | +| (const char *,char *,size_t) | | ns_makecanon | 0 | const char * | +| (const char *,char *,size_t) | | ns_makecanon | 1 | char * | +| (const char *,char *,size_t) | | ns_makecanon | 2 | size_t | | (const char *,char *,size_t,bool) | | Curl_is_absolute_url | 0 | const char * | | (const char *,char *,size_t,bool) | | Curl_is_absolute_url | 1 | char * | | (const char *,char *,size_t,bool) | | Curl_is_absolute_url | 2 | size_t | | (const char *,char *,size_t,bool) | | Curl_is_absolute_url | 3 | bool | +| (const char *,char *,size_t,char **,int *,int *) | | _nss_dns_getcanonname_r | 0 | const char * | +| (const char *,char *,size_t,char **,int *,int *) | | _nss_dns_getcanonname_r | 1 | char * | +| (const char *,char *,size_t,char **,int *,int *) | | _nss_dns_getcanonname_r | 2 | size_t | +| (const char *,char *,size_t,char **,int *,int *) | | _nss_dns_getcanonname_r | 3 | char ** | +| (const char *,char *,size_t,char **,int *,int *) | | _nss_dns_getcanonname_r | 4 | int * | +| (const char *,char *,size_t,char **,int *,int *) | | _nss_dns_getcanonname_r | 5 | int * | | (const char *,const ASN1_INTEGER *,stack_st_CONF_VALUE **) | | X509V3_add_value_int | 0 | const char * | | (const char *,const ASN1_INTEGER *,stack_st_CONF_VALUE **) | | X509V3_add_value_int | 1 | const ASN1_INTEGER * | | (const char *,const ASN1_INTEGER *,stack_st_CONF_VALUE **) | | X509V3_add_value_int | 2 | stack_st_CONF_VALUE ** | @@ -28787,14 +36111,52 @@ getSignatureParameterName | (const char *,const char *) | | DES_crypt | 1 | const char * | | (const char *,const char *) | | OPENSSL_strcasecmp | 0 | const char * | | (const char *,const char *) | | OPENSSL_strcasecmp | 1 | const char * | +| (const char *,const char *) | | __bind_textdomain_codeset | 0 | const char * | +| (const char *,const char *) | | __bind_textdomain_codeset | 1 | const char * | +| (const char *,const char *) | | __bindtextdomain | 0 | const char * | +| (const char *,const char *) | | __bindtextdomain | 1 | const char * | +| (const char *,const char *) | | __dgettext | 0 | const char * | +| (const char *,const char *) | | __dgettext | 1 | const char * | +| (const char *,const char *) | | __gconv_compare_alias | 0 | const char * | +| (const char *,const char *) | | __gconv_compare_alias | 1 | const char * | +| (const char *,const char *) | | __strcasestr | 0 | const char * | +| (const char *,const char *) | | __strcasestr | 1 | const char * | +| (const char *,const char *) | | __strcspn_generic | 0 | const char * | +| (const char *,const char *) | | __strcspn_generic | 1 | const char * | +| (const char *,const char *) | | __strcspn_sse42 | 0 | const char * | +| (const char *,const char *) | | __strcspn_sse42 | 1 | const char * | +| (const char *,const char *) | | __strpbrk_generic | 0 | const char * | +| (const char *,const char *) | | __strpbrk_generic | 1 | const char * | +| (const char *,const char *) | | __strpbrk_sse42 | 0 | const char * | +| (const char *,const char *) | | __strpbrk_sse42 | 1 | const char * | +| (const char *,const char *) | | __strspn_generic | 0 | const char * | +| (const char *,const char *) | | __strspn_generic | 1 | const char * | +| (const char *,const char *) | | __strspn_sse42 | 0 | const char * | +| (const char *,const char *) | | __strspn_sse42 | 1 | const char * | +| (const char *,const char *) | | __strstr_generic | 0 | const char * | +| (const char *,const char *) | | __strstr_generic | 1 | const char * | +| (const char *,const char *) | | __strverscmp | 0 | const char * | +| (const char *,const char *) | | __strverscmp | 1 | const char * | +| (const char *,const char *) | | _dl_cache_libcmp | 0 | const char * | +| (const char *,const char *) | | _dl_cache_libcmp | 1 | const char * | +| (const char *,const char *) | | advance | 0 | const char * | +| (const char *,const char *) | | advance | 1 | const char * | | (const char *,const char *) | | c_strcasecmp | 0 | const char * | | (const char *,const char *) | | c_strcasecmp | 1 | const char * | +| (const char *,const char *) | | charmap_aliases | 0 | const char * | +| (const char *,const char *) | | charmap_aliases | 1 | const char * | +| (const char *,const char *) | | charmap_open | 0 | const char * | +| (const char *,const char *) | | charmap_open | 1 | const char * | +| (const char *,const char *) | | chroot_canon | 0 | const char * | +| (const char *,const char *) | | chroot_canon | 1 | const char * | | (const char *,const char *) | | get_passwd | 0 | const char * | | (const char *,const char *) | | get_passwd | 1 | const char * | | (const char *,const char *) | | gzopen | 0 | const char * | | (const char *,const char *) | | gzopen | 1 | const char * | | (const char *,const char *) | | gzopen64 | 0 | const char * | | (const char *,const char *) | | gzopen64 | 1 | const char * | +| (const char *,const char *) | | iconv_open | 0 | const char * | +| (const char *,const char *) | | iconv_open | 1 | const char * | | (const char *,const char *) | | openssl_fopen | 0 | const char * | | (const char *,const char *) | | openssl_fopen | 1 | const char * | | (const char *,const char *) | | ossl_pem_check_suffix | 0 | const char * | @@ -28805,6 +36167,15 @@ getSignatureParameterName | (const char *,const char *) | | sqlite3_strglob | 1 | const char * | | (const char *,const char *) | | sqlite3_stricmp | 0 | const char * | | (const char *,const char *) | | sqlite3_stricmp | 1 | const char * | +| (const char *,const char *) | | step | 0 | const char * | +| (const char *,const char *) | | step | 1 | const char * | +| (const char *,const char *) | | tempnam | 0 | const char * | +| (const char *,const char *) | | tempnam | 1 | const char * | +| (const char *,const char *) | | xfopen | 0 | const char * | +| (const char *,const char *) | | xfopen | 1 | const char * | +| (const char *,const char **,const char **) | | ruserpass | 0 | const char * | +| (const char *,const char **,const char **) | | ruserpass | 1 | const char ** | +| (const char *,const char **,const char **) | | ruserpass | 2 | const char ** | | (const char *,const char *,BIGNUM **,BIGNUM **,const BIGNUM *,const BIGNUM *) | | SRP_create_verifier_BN | 0 | const char * | | (const char *,const char *,BIGNUM **,BIGNUM **,const BIGNUM *,const BIGNUM *) | | SRP_create_verifier_BN | 1 | const char * | | (const char *,const char *,BIGNUM **,BIGNUM **,const BIGNUM *,const BIGNUM *) | | SRP_create_verifier_BN | 2 | BIGNUM ** | @@ -28861,9 +36232,29 @@ getSignatureParameterName | (const char *,const char *,EVP_PKEY *,X509 *,stack_st_X509 *,int,int,int,int,int,OSSL_LIB_CTX *,const char *,PKCS12_create_cb *,void *) | | PKCS12_create_ex2 | 11 | const char * | | (const char *,const char *,EVP_PKEY *,X509 *,stack_st_X509 *,int,int,int,int,int,OSSL_LIB_CTX *,const char *,PKCS12_create_cb *,void *) | | PKCS12_create_ex2 | 12 | PKCS12_create_cb * | | (const char *,const char *,EVP_PKEY *,X509 *,stack_st_X509 *,int,int,int,int,int,OSSL_LIB_CTX *,const char *,PKCS12_create_cb *,void *) | | PKCS12_create_ex2 | 13 | void * | +| (const char *,const char *,FILE *) | | xfreopen | 0 | const char * | +| (const char *,const char *,FILE *) | | xfreopen | 1 | const char * | +| (const char *,const char *,FILE *) | | xfreopen | 2 | FILE * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_find_transform | 0 | const char * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_find_transform | 1 | const char * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_find_transform | 2 | __gconv_step ** | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_find_transform | 3 | size_t * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_find_transform | 4 | int | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_lookup_cache | 0 | const char * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_lookup_cache | 1 | const char * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_lookup_cache | 2 | __gconv_step ** | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_lookup_cache | 3 | size_t * | +| (const char *,const char *,__gconv_step **,size_t *,int) | | __gconv_lookup_cache | 4 | int | +| (const char *,const char *,__gnuc_va_list,va_list) | | _IO_vsscanf | 0 | const char * | +| (const char *,const char *,__gnuc_va_list,va_list) | | _IO_vsscanf | 1 | const char * | +| (const char *,const char *,__gnuc_va_list,va_list) | | _IO_vsscanf | 2 | __gnuc_va_list | +| (const char *,const char *,__gnuc_va_list,va_list) | | _IO_vsscanf | 3 | va_list | | (const char *,const char *,char *) | | DES_fcrypt | 0 | const char * | | (const char *,const char *,char *) | | DES_fcrypt | 1 | const char * | | (const char *,const char *,char *) | | DES_fcrypt | 2 | char * | +| (const char *,const char *,char **) | | yp_master | 0 | const char * | +| (const char *,const char *,char **) | | yp_master | 1 | const char * | +| (const char *,const char *,char **) | | yp_master | 2 | char ** | | (const char *,const char *,char **,char **) | | app_passwd | 0 | const char * | | (const char *,const char *,char **,char **) | | app_passwd | 1 | const char * | | (const char *,const char *,char **,char **) | | app_passwd | 2 | char ** | @@ -28882,6 +36273,12 @@ getSignatureParameterName | (const char *,const char *,char **,char **,const char *,const char *,OSSL_LIB_CTX *,const char *) | | SRP_create_verifier_ex | 5 | const char * | | (const char *,const char *,char **,char **,const char *,const char *,OSSL_LIB_CTX *,const char *) | | SRP_create_verifier_ex | 6 | OSSL_LIB_CTX * | | (const char *,const char *,char **,char **,const char *,const char *,OSSL_LIB_CTX *,const char *) | | SRP_create_verifier_ex | 7 | const char * | +| (const char *,const char *,char **,int *,char **,int *) | | yp_first | 0 | const char * | +| (const char *,const char *,char **,int *,char **,int *) | | yp_first | 1 | const char * | +| (const char *,const char *,char **,int *,char **,int *) | | yp_first | 2 | char ** | +| (const char *,const char *,char **,int *,char **,int *) | | yp_first | 3 | int * | +| (const char *,const char *,char **,int *,char **,int *) | | yp_first | 4 | char ** | +| (const char *,const char *,char **,int *,char **,int *) | | yp_first | 5 | int * | | (const char *,const char *,char **,int) | | idn2_register_ul | 0 | const char * | | (const char *,const char *,char **,int) | | idn2_register_ul | 1 | const char * | | (const char *,const char *,char **,int) | | idn2_register_ul | 2 | char ** | @@ -28924,6 +36321,10 @@ getSignatureParameterName | (const char *,const char *,const char *,bufref *) | | Curl_auth_create_plain_message | 1 | const char * | | (const char *,const char *,const char *,bufref *) | | Curl_auth_create_plain_message | 2 | const char * | | (const char *,const char *,const char *,bufref *) | | Curl_auth_create_plain_message | 3 | bufref * | +| (const char *,const char *,const char *,const char *) | | __correctly_grouped_prefixmb | 0 | const char * | +| (const char *,const char *,const char *,const char *) | | __correctly_grouped_prefixmb | 1 | const char * | +| (const char *,const char *,const char *,const char *) | | __correctly_grouped_prefixmb | 2 | const char * | +| (const char *,const char *,const char *,const char *) | | __correctly_grouped_prefixmb | 3 | const char * | | (const char *,const char *,const char *,const char *,const char *,SSL_CTX *,const stack_st_CONF_VALUE *,const char *,ASN1_VALUE *,const ASN1_ITEM *,const char *,long,const ASN1_ITEM *) | | app_http_post_asn1 | 0 | const char * | | (const char *,const char *,const char *,const char *,const char *,SSL_CTX *,const stack_st_CONF_VALUE *,const char *,ASN1_VALUE *,const ASN1_ITEM *,const char *,long,const ASN1_ITEM *) | | app_http_post_asn1 | 1 | const char * | | (const char *,const char *,const char *,const char *,const char *,SSL_CTX *,const stack_st_CONF_VALUE *,const char *,ASN1_VALUE *,const ASN1_ITEM *,const char *,long,const ASN1_ITEM *) | | app_http_post_asn1 | 2 | const char * | @@ -28948,17 +36349,97 @@ getSignatureParameterName | (const char *,const char *,const char *,const char *,int,BIO *,BIO *,OSSL_HTTP_bio_cb_t,void *,int,int) | | OSSL_HTTP_open | 8 | void * | | (const char *,const char *,const char *,const char *,int,BIO *,BIO *,OSSL_HTTP_bio_cb_t,void *,int,int) | | OSSL_HTTP_open | 9 | int | | (const char *,const char *,const char *,const char *,int,BIO *,BIO *,OSSL_HTTP_bio_cb_t,void *,int,int) | | OSSL_HTTP_open | 10 | int | +| (const char *,const char *,const char *,const int,char **,int *) | | yp_match | 0 | const char * | +| (const char *,const char *,const char *,const int,char **,int *) | | yp_match | 1 | const char * | +| (const char *,const char *,const char *,const int,char **,int *) | | yp_match | 2 | const char * | +| (const char *,const char *,const char *,const int,char **,int *) | | yp_match | 3 | const int | +| (const char *,const char *,const char *,const int,char **,int *) | | yp_match | 4 | char ** | +| (const char *,const char *,const char *,const int,char **,int *) | | yp_match | 5 | int * | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 0 | const char * | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 1 | const char * | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 2 | const char * | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 3 | const int | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 4 | char ** | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 5 | int * | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 6 | char ** | +| (const char *,const char *,const char *,const int,char **,int *,char **,int *) | | yp_next | 7 | int * | | (const char *,const char *,const char *,iconv_ilseq_handler) | | str_iconveh | 0 | const char * | | (const char *,const char *,const char *,iconv_ilseq_handler) | | str_iconveh | 1 | const char * | | (const char *,const char *,const char *,iconv_ilseq_handler) | | str_iconveh | 2 | const char * | | (const char *,const char *,const char *,iconv_ilseq_handler) | | str_iconveh | 3 | iconv_ilseq_handler | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 0 | const char * | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 1 | const char * | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 2 | const char * | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 3 | int * | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 4 | unsigned int * | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 5 | char ** | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 6 | int | +| (const char *,const char *,const char *,int *,unsigned int *,char **,int,stat *) | | process_file | 7 | stat * | | (const char *,const char *,const char *,int) | | OSSL_HTTP_adapt_proxy | 0 | const char * | | (const char *,const char *,const char *,int) | | OSSL_HTTP_adapt_proxy | 1 | const char * | | (const char *,const char *,const char *,int) | | OSSL_HTTP_adapt_proxy | 2 | const char * | | (const char *,const char *,const char *,int) | | OSSL_HTTP_adapt_proxy | 3 | int | +| (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 0 | const char * | +| (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 1 | const char * | +| (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 2 | const char * | +| (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 3 | int | +| (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 4 | unsigned long | +| (const char *,const char *,const char *,int,unsigned long,int) | | __dcigettext | 5 | int | +| (const char *,const char *,const char *,unsigned long) | | __dngettext | 0 | const char * | +| (const char *,const char *,const char *,unsigned long) | | __dngettext | 1 | const char * | +| (const char *,const char *,const char *,unsigned long) | | __dngettext | 2 | const char * | +| (const char *,const char *,const char *,unsigned long) | | __dngettext | 3 | unsigned long | +| (const char *,const char *,const char *,unsigned long,int) | | __dcngettext | 0 | const char * | +| (const char *,const char *,const char *,unsigned long,int) | | __dcngettext | 1 | const char * | +| (const char *,const char *,const char *,unsigned long,int) | | __dcngettext | 2 | const char * | +| (const char *,const char *,const char *,unsigned long,int) | | __dcngettext | 3 | unsigned long | +| (const char *,const char *,const char *,unsigned long,int) | | __dcngettext | 4 | int | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 0 | const char * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 1 | const char * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 2 | db_lookup_function | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 3 | nss_action ** | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 4 | nss_action_list * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 5 | nss_action ** | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 6 | nss_action_list * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 7 | nss_action ** | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 8 | nss_action_list * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 9 | int * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 10 | int | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 11 | void * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 12 | char * | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 13 | size_t | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 14 | void ** | +| (const char *,const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int *,int,void *,char *,size_t,void **,int *) | | __nss_getent_r | 15 | int * | +| (const char *,const char *,int *) | | __gconv_compare_alias_cache | 0 | const char * | +| (const char *,const char *,int *) | | __gconv_compare_alias_cache | 1 | const char * | +| (const char *,const char *,int *) | | __gconv_compare_alias_cache | 2 | int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 0 | const char * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 1 | const char * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 2 | int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 3 | unsigned int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 4 | char ** | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 5 | void * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf32_file | 6 | size_t | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 0 | const char * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 1 | const char * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 2 | int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 3 | unsigned int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 4 | char ** | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 5 | void * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf64_file | 6 | size_t | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 0 | const char * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 1 | const char * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 2 | int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 3 | unsigned int * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 4 | char ** | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 5 | void * | +| (const char *,const char *,int *,unsigned int *,char **,void *,size_t) | | process_elf_file | 6 | size_t | | (const char *,const char *,int) | | CRYPTO_strdup | 0 | const char * | | (const char *,const char *,int) | | CRYPTO_strdup | 1 | const char * | | (const char *,const char *,int) | | CRYPTO_strdup | 2 | int | +| (const char *,const char *,int) | | __dcgettext | 0 | const char * | +| (const char *,const char *,int) | | __dcgettext | 1 | const char * | +| (const char *,const char *,int) | | __dcgettext | 2 | int | | (const char *,const char *,int) | | sqlite3_strnicmp | 0 | const char * | | (const char *,const char *,int) | | sqlite3_strnicmp | 1 | const char * | | (const char *,const char *,int) | | sqlite3_strnicmp | 2 | int | @@ -28969,18 +36450,346 @@ getSignatureParameterName | (const char *,const char *,int,int,int,int,BIO_ADDRINFO **) | | BIO_lookup_ex | 4 | int | | (const char *,const char *,int,int,int,int,BIO_ADDRINFO **) | | BIO_lookup_ex | 5 | int | | (const char *,const char *,int,int,int,int,BIO_ADDRINFO **) | | BIO_lookup_ex | 6 | BIO_ADDRINFO ** | +| (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 0 | const char * | +| (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 1 | const char * | +| (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 2 | int | +| (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 3 | int | +| (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 4 | unsigned char * | +| (const char *,const char *,int,int,unsigned char *,int) | | ___res_querydomain | 5 | int | +| (const char *,const char *,locale_t) | | __strcasecmp_l_nonascii | 0 | const char * | +| (const char *,const char *,locale_t) | | __strcasecmp_l_nonascii | 1 | const char * | +| (const char *,const char *,locale_t) | | __strcasecmp_l_nonascii | 2 | locale_t | +| (const char *,const char *,locale_t) | | __strcoll_l | 0 | const char * | +| (const char *,const char *,locale_t) | | __strcoll_l | 1 | const char * | +| (const char *,const char *,locale_t) | | __strcoll_l | 2 | locale_t | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyname_r | 0 | const char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyname_r | 1 | const char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyname_r | 2 | servent * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyname_r | 3 | char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyname_r | 4 | size_t | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyname_r | 5 | int * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyname_r | 0 | const char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyname_r | 1 | const char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyname_r | 2 | servent * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyname_r | 3 | char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyname_r | 4 | size_t | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyname_r | 5 | int * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyname_r | 0 | const char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyname_r | 1 | const char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyname_r | 2 | servent * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyname_r | 3 | char * | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyname_r | 4 | size_t | +| (const char *,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyname_r | 5 | int * | +| (const char *,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyname_r | 0 | const char * | +| (const char *,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyname_r | 1 | const char * | +| (const char *,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyname_r | 2 | servent * | +| (const char *,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyname_r | 3 | char * | +| (const char *,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyname_r | 4 | size_t | +| (const char *,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyname_r | 5 | servent ** | +| (const char *,const char *,size_t *) | | __wcsmbs_getfct | 0 | const char * | +| (const char *,const char *,size_t *) | | __wcsmbs_getfct | 1 | const char * | +| (const char *,const char *,size_t *) | | __wcsmbs_getfct | 2 | size_t * | +| (const char *,const char *,size_t *,size_t *) | | _dl_important_hwcaps | 0 | const char * | +| (const char *,const char *,size_t *,size_t *) | | _dl_important_hwcaps | 1 | const char * | +| (const char *,const char *,size_t *,size_t *) | | _dl_important_hwcaps | 2 | size_t * | +| (const char *,const char *,size_t *,size_t *) | | _dl_important_hwcaps | 3 | size_t * | | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 0 | const char * | | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 1 | const char * | | (const char *,const char *,size_t) | | OPENSSL_strncasecmp | 2 | size_t | | (const char *,const char *,size_t) | | c_strncasecmp | 0 | const char * | | (const char *,const char *,size_t) | | c_strncasecmp | 1 | const char * | | (const char *,const char *,size_t) | | c_strncasecmp | 2 | size_t | +| (const char *,const char *,size_t,locale_t) | | __strncasecmp_l_nonascii | 0 | const char * | +| (const char *,const char *,size_t,locale_t) | | __strncasecmp_l_nonascii | 1 | const char * | +| (const char *,const char *,size_t,locale_t) | | __strncasecmp_l_nonascii | 2 | size_t | +| (const char *,const char *,size_t,locale_t) | | __strncasecmp_l_nonascii | 3 | locale_t | | (const char *,const char *,stack_st_CONF_VALUE **) | | X509V3_add_value | 0 | const char * | | (const char *,const char *,stack_st_CONF_VALUE **) | | X509V3_add_value | 1 | const char * | | (const char *,const char *,stack_st_CONF_VALUE **) | | X509V3_add_value | 2 | stack_st_CONF_VALUE ** | +| (const char *,const char *,tm *,void *,locale_t) | | __strptime_internal | 0 | const char * | +| (const char *,const char *,tm *,void *,locale_t) | | __strptime_internal | 1 | const char * | +| (const char *,const char *,tm *,void *,locale_t) | | __strptime_internal | 2 | tm * | +| (const char *,const char *,tm *,void *,locale_t) | | __strptime_internal | 3 | void * | +| (const char *,const char *,tm *,void *,locale_t) | | __strptime_internal | 4 | locale_t | | (const char *,const char *,unsigned int) | | sqlite3_strlike | 0 | const char * | | (const char *,const char *,unsigned int) | | sqlite3_strlike | 1 | const char * | | (const char *,const char *,unsigned int) | | sqlite3_strlike | 2 | unsigned int | +| (const char *,const char *,unsigned long) | | __ngettext | 0 | const char * | +| (const char *,const char *,unsigned long) | | __ngettext | 1 | const char * | +| (const char *,const char *,unsigned long) | | __ngettext | 2 | unsigned long | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vscanf | 0 | const char * | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vscanf | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vscanf | 2 | __gnuc_va_list | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vscanf | 3 | va_list | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vscanf | 0 | const char * | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vscanf | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vscanf | 2 | __gnuc_va_list | +| (const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vscanf | 3 | va_list | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 0 | const char * | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 2 | aliasent * | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 3 | aliasent *__restrict__ | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 4 | char * | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 5 | char *__restrict__ | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 6 | size_t | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 7 | aliasent ** | +| (const char *,const char *__restrict__,aliasent *,aliasent *__restrict__,char *,char *__restrict__,size_t,aliasent **,aliasent **__restrict__) | | __getaliasbyname_r | 8 | aliasent **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtof128 | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtof128 | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtof128 | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtof128 | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtold | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtold | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtold | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__) | | strtold | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtol | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtol | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtol | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtol | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtol | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtoul | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtoul | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtoul | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtoul | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __isoc23_strtoul | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtod_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtod_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtod_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtod_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtod_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof128_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof128_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof128_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof128_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof128_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtof_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtold_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtold_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtold_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtold_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int) | | __strtold_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtol_internal | 5 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int) | | __strtoul_internal | 5 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 5 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 6 | bool | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtol_l_internal | 7 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 5 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 6 | bool | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,int,bool,locale_t) | | ____strtoul_l_internal | 7 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtod_l_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtod_l_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtod_l_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtod_l_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtod_l_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtod_l_internal | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof128_l_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof128_l_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof128_l_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof128_l_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof128_l_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof128_l_internal | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof_l_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof_l_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof_l_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof_l_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof_l_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtof_l_internal | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtold_l_internal | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtold_l_internal | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtold_l_internal | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtold_l_internal | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtold_l_internal | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | ____strtold_l_internal | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtol_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtol_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtol_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtol_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtol_l | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtol_l | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtoul_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtoul_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtoul_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtoul_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtoul_l | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __isoc23_strtoul_l | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtol_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtol_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtol_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtol_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtol_l | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtol_l | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtoul_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtoul_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtoul_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtoul_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtoul_l | 4 | int | +| (const char *,const char *__restrict__,char **,char **__restrict__,int,locale_t) | | __strtoul_l | 5 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtod_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtod_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtod_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtod_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtod_l | 4 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof128_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof128_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof128_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof128_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof128_l | 4 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtof_l | 4 | locale_t | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtold_l | 0 | const char * | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtold_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtold_l | 2 | char ** | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtold_l | 3 | char **__restrict__ | +| (const char *,const char *__restrict__,char **,char **__restrict__,locale_t) | | __strtold_l | 4 | locale_t | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__) | | freopen64 | 0 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__) | | freopen64 | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__) | | freopen64 | 2 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__) | | freopen64 | 3 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__) | | freopen64 | 4 | FILE * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,FILE *,FILE *__restrict__) | | freopen64 | 5 | FILE *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vsscanf | 0 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vsscanf | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vsscanf | 2 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vsscanf | 3 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vsscanf | 4 | __gnuc_va_list | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vsscanf | 5 | va_list | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vsscanf | 0 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vsscanf | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vsscanf | 2 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vsscanf | 3 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vsscanf | 4 | __gnuc_va_list | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vsscanf | 5 | va_list | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 0 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 2 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 3 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 4 | servent * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 5 | servent *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 6 | char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 7 | char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 8 | size_t | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 9 | servent ** | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyname_r | 10 | servent **__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *) | | strptime | 0 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *) | | strptime | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *) | | strptime | 2 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *) | | strptime | 3 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *) | | strptime | 4 | tm * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t) | | __strptime_l | 0 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t) | | __strptime_l | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t) | | __strptime_l | 2 | const char * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t) | | __strptime_l | 3 | const char *__restrict__ | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t) | | __strptime_l | 4 | tm * | +| (const char *,const char *__restrict__,const char *,const char *__restrict__,tm *,locale_t) | | __strptime_l | 5 | locale_t | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 0 | const char * | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 2 | hostent * | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 3 | hostent *__restrict__ | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 4 | char * | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 5 | char *__restrict__ | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 6 | size_t | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 7 | hostent ** | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 8 | hostent **__restrict__ | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 9 | int * | +| (const char *,const char *__restrict__,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname_r | 10 | int *__restrict__ | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 0 | const char * | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 2 | int | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 3 | char ** | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 4 | char **__restrict__ | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 5 | size_t * | +| (const char *,const char *__restrict__,int,char **,char **__restrict__,size_t *,size_t *__restrict__) | | __argz_create_sep | 6 | size_t *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 0 | const char * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 2 | int | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 3 | hostent * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 4 | hostent *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 5 | char * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 6 | char *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 7 | size_t | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 8 | hostent ** | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 9 | hostent **__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 10 | int * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyname2_r | 11 | int *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 0 | const char * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 2 | int | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 3 | hostent * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 4 | hostent *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 5 | char * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 6 | char *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 7 | size_t | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 8 | hostent ** | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 9 | hostent **__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 10 | int * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 11 | int *__restrict__ | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 12 | int32_t * | +| (const char *,const char *__restrict__,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *,char **) | | __gethostbyname3_r | 13 | char ** | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 0 | const char * | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 2 | netent * | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 3 | netent *__restrict__ | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 4 | char * | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 5 | char *__restrict__ | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 6 | size_t | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 7 | netent ** | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 8 | netent **__restrict__ | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 9 | int * | +| (const char *,const char *__restrict__,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyname_r | 10 | int *__restrict__ | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 0 | const char * | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 2 | protoent * | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 3 | protoent *__restrict__ | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 4 | char * | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 5 | char *__restrict__ | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 6 | size_t | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 7 | protoent ** | +| (const char *,const char *__restrict__,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobyname_r | 8 | protoent **__restrict__ | +| (const char *,const char *__restrict__,size_t,char **,char **__restrict__) | | __argz_extract | 0 | const char * | +| (const char *,const char *__restrict__,size_t,char **,char **__restrict__) | | __argz_extract | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,size_t,char **,char **__restrict__) | | __argz_extract | 2 | size_t | +| (const char *,const char *__restrict__,size_t,char **,char **__restrict__) | | __argz_extract | 3 | char ** | +| (const char *,const char *__restrict__,size_t,char **,char **__restrict__) | | __argz_extract | 4 | char **__restrict__ | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | __mbrlen | 0 | const char * | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | __mbrlen | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | __mbrlen | 2 | size_t | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | __mbrlen | 3 | mbstate_t * | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | __mbrlen | 4 | mbstate_t *__restrict__ | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrlen | 0 | const char * | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrlen | 1 | const char *__restrict__ | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrlen | 2 | size_t | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrlen | 3 | mbstate_t * | +| (const char *,const char *__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__) | | mbrlen | 4 | mbstate_t *__restrict__ | +| (const char *,const expression **,unsigned long *) | | __gettext_extract_plural | 0 | const char * | +| (const char *,const expression **,unsigned long *) | | __gettext_extract_plural | 1 | const expression ** | +| (const char *,const expression **,unsigned long *) | | __gettext_extract_plural | 2 | unsigned long * | | (const char *,const size_t,char **,char **,char **) | | Curl_parse_login_details | 0 | const char * | | (const char *,const size_t,char **,char **,char **) | | Curl_parse_login_details | 1 | const size_t | | (const char *,const size_t,char **,char **,char **) | | Curl_parse_login_details | 2 | char ** | @@ -28999,18 +36808,133 @@ getSignatureParameterName | (const char *,const unsigned char *,stack_st_CONF_VALUE **) | | X509V3_add_value_uchar | 0 | const char * | | (const char *,const unsigned char *,stack_st_CONF_VALUE **) | | X509V3_add_value_uchar | 1 | const unsigned char * | | (const char *,const unsigned char *,stack_st_CONF_VALUE **) | | X509V3_add_value_uchar | 2 | stack_st_CONF_VALUE ** | +| (const char *,database_dyn[5]) | | nscd_parse_file | 0 | const char * | +| (const char *,database_dyn[5]) | | nscd_parse_file | 1 | database_dyn[5] | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 0 | const char * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 1 | db_lookup_function | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 2 | nss_action ** | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 3 | nss_action_list * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 4 | nss_action ** | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 5 | nss_action_list * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 6 | nss_action ** | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 7 | nss_action_list * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int) | | __nss_endent | 8 | int | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 0 | const char * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 1 | db_lookup_function | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 2 | nss_action ** | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 3 | nss_action_list * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 4 | nss_action ** | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 5 | nss_action_list * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 6 | nss_action ** | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 7 | nss_action_list * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 8 | int | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 9 | int * | +| (const char *,db_lookup_function,nss_action **,nss_action_list *,nss_action **,nss_action_list *,nss_action **,nss_action_list *,int,int *,int) | | __nss_setent | 10 | int | | (const char *,digestdata *) | | Curl_auth_decode_digest_http_message | 0 | const char * | | (const char *,digestdata *) | | Curl_auth_decode_digest_http_message | 1 | digestdata * | | (const char *,double *) | | Jim_StringToDouble | 0 | const char * | | (const char *,double *) | | Jim_StringToDouble | 1 | double * | | (const char *,double *) | | OSSL_PARAM_construct_double | 0 | const char * | | (const char *,double *) | | OSSL_PARAM_construct_double | 1 | double * | +| (const char *,ether_addr *) | | ether_aton_r | 0 | const char * | +| (const char *,ether_addr *) | | ether_aton_r | 1 | ether_addr * | +| (const char *,ether_addr *,char *) | | ether_line | 0 | const char * | +| (const char *,ether_addr *,char *) | | ether_line | 1 | ether_addr * | +| (const char *,ether_addr *,char *) | | ether_line | 2 | char * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_db_gethostton_r | 0 | const char * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_db_gethostton_r | 1 | etherent * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_db_gethostton_r | 2 | char * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_db_gethostton_r | 3 | size_t | +| (const char *,etherent *,char *,size_t,int *) | | _nss_db_gethostton_r | 4 | int * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_files_gethostton_r | 0 | const char * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_files_gethostton_r | 1 | etherent * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_files_gethostton_r | 2 | char * | +| (const char *,etherent *,char *,size_t,int *) | | _nss_files_gethostton_r | 3 | size_t | +| (const char *,etherent *,char *,size_t,int *) | | _nss_files_gethostton_r | 4 | int * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 0 | const char * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 1 | gaih_addrtuple ** | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 2 | char * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 3 | size_t | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 4 | int * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 5 | int * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyname4_r | 6 | int32_t * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 0 | const char * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 1 | gaih_addrtuple ** | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 2 | char * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 3 | size_t | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 4 | int * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 5 | int * | +| (const char *,gaih_addrtuple **,char *,size_t,int *,int *,int32_t *) | | _nss_files_gethostbyname4_r | 6 | int32_t * | +| (const char *,gid_t,long *,gid_t **,long) | | __nscd_getgrouplist | 0 | const char * | +| (const char *,gid_t,long *,gid_t **,long) | | __nscd_getgrouplist | 1 | gid_t | +| (const char *,gid_t,long *,gid_t **,long) | | __nscd_getgrouplist | 2 | long * | +| (const char *,gid_t,long *,gid_t **,long) | | __nscd_getgrouplist | 3 | gid_t ** | +| (const char *,gid_t,long *,gid_t **,long) | | __nscd_getgrouplist | 4 | long | +| (const char *,group *,char *,size_t,group **) | | __getgrnam_r | 0 | const char * | +| (const char *,group *,char *,size_t,group **) | | __getgrnam_r | 1 | group * | +| (const char *,group *,char *,size_t,group **) | | __getgrnam_r | 2 | char * | +| (const char *,group *,char *,size_t,group **) | | __getgrnam_r | 3 | size_t | +| (const char *,group *,char *,size_t,group **) | | __getgrnam_r | 4 | group ** | +| (const char *,group *,char *,size_t,group **) | | __nscd_getgrnam_r | 0 | const char * | +| (const char *,group *,char *,size_t,group **) | | __nscd_getgrnam_r | 1 | group * | +| (const char *,group *,char *,size_t,group **) | | __nscd_getgrnam_r | 2 | char * | +| (const char *,group *,char *,size_t,group **) | | __nscd_getgrnam_r | 3 | size_t | +| (const char *,group *,char *,size_t,group **) | | __nscd_getgrnam_r | 4 | group ** | +| (const char *,group *,char *,size_t,int *) | | _nss_compat_getgrnam_r | 0 | const char * | +| (const char *,group *,char *,size_t,int *) | | _nss_compat_getgrnam_r | 1 | group * | +| (const char *,group *,char *,size_t,int *) | | _nss_compat_getgrnam_r | 2 | char * | +| (const char *,group *,char *,size_t,int *) | | _nss_compat_getgrnam_r | 3 | size_t | +| (const char *,group *,char *,size_t,int *) | | _nss_compat_getgrnam_r | 4 | int * | +| (const char *,group *,char *,size_t,int *) | | _nss_db_getgrnam_r | 0 | const char * | +| (const char *,group *,char *,size_t,int *) | | _nss_db_getgrnam_r | 1 | group * | +| (const char *,group *,char *,size_t,int *) | | _nss_db_getgrnam_r | 2 | char * | +| (const char *,group *,char *,size_t,int *) | | _nss_db_getgrnam_r | 3 | size_t | +| (const char *,group *,char *,size_t,int *) | | _nss_db_getgrnam_r | 4 | int * | +| (const char *,group *,char *,size_t,int *) | | _nss_files_getgrnam_r | 0 | const char * | +| (const char *,group *,char *,size_t,int *) | | _nss_files_getgrnam_r | 1 | group * | +| (const char *,group *,char *,size_t,int *) | | _nss_files_getgrnam_r | 2 | char * | +| (const char *,group *,char *,size_t,int *) | | _nss_files_getgrnam_r | 3 | size_t | +| (const char *,group *,char *,size_t,int *) | | _nss_files_getgrnam_r | 4 | int * | +| (const char *,group *,char *,size_t,int *) | | _nss_hesiod_getgrnam_r | 0 | const char * | +| (const char *,group *,char *,size_t,int *) | | _nss_hesiod_getgrnam_r | 1 | group * | +| (const char *,group *,char *,size_t,int *) | | _nss_hesiod_getgrnam_r | 2 | char * | +| (const char *,group *,char *,size_t,int *) | | _nss_hesiod_getgrnam_r | 3 | size_t | +| (const char *,group *,char *,size_t,int *) | | _nss_hesiod_getgrnam_r | 4 | int * | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 0 | const char * | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 1 | hostent * | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 2 | char ** | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 3 | size_t * | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 4 | size_t | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 5 | hostent ** | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 6 | nss_status * | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 7 | int | +| (const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots | 8 | int * | +| (const char *,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname_r | 0 | const char * | +| (const char *,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname_r | 1 | hostent * | +| (const char *,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname_r | 2 | char * | +| (const char *,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname_r | 3 | size_t | +| (const char *,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname_r | 4 | hostent ** | +| (const char *,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname_r | 5 | int * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname_r | 0 | const char * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname_r | 1 | hostent * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname_r | 2 | char * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname_r | 3 | size_t | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname_r | 4 | int * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname_r | 5 | int * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname_r | 0 | const char * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname_r | 1 | hostent * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname_r | 2 | char * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname_r | 3 | size_t | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname_r | 4 | int * | +| (const char *,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname_r | 5 | int * | | (const char *,int32_t *) | | OSSL_PARAM_construct_int32 | 0 | const char * | | (const char *,int32_t *) | | OSSL_PARAM_construct_int32 | 1 | int32_t * | | (const char *,int64_t *) | | OSSL_PARAM_construct_int64 | 0 | const char * | | (const char *,int64_t *) | | OSSL_PARAM_construct_int64 | 1 | int64_t * | | (const char *,int *) | | OSSL_PARAM_construct_int | 0 | const char * | | (const char *,int *) | | OSSL_PARAM_construct_int | 1 | int * | +| (const char *,int *) | | ns_datetosecs | 0 | const char * | +| (const char *,int *) | | ns_datetosecs | 1 | int * | | (const char *,int *) | | opt_int | 0 | const char * | | (const char *,int *) | | opt_int | 1 | int * | | (const char *,int *,char **,char **,char **,int *,char **,char **,char **) | | OSSL_HTTP_parse_url | 0 | const char * | @@ -29032,8 +36956,22 @@ getSignatureParameterName | (const char *,int) | | NETSCAPE_SPKI_b64_decode | 1 | int | | (const char *,int) | | RSA_meth_new | 0 | const char * | | (const char *,int) | | RSA_meth_new | 1 | int | +| (const char *,int) | | ftok | 0 | const char * | +| (const char *,int) | | ftok | 1 | int | +| (const char *,int) | | gethostbyname2 | 0 | const char * | +| (const char *,int) | | gethostbyname2 | 1 | int | | (const char *,int) | | parse_yesno | 0 | const char * | | (const char *,int) | | parse_yesno | 1 | int | +| (const char *,int) | | res_gethostbyname2 | 0 | const char * | +| (const char *,int) | | res_gethostbyname2 | 1 | int | +| (const char *,int,..(*)(..),glob_t *) | | __glob | 0 | const char * | +| (const char *,int,..(*)(..),glob_t *) | | __glob | 1 | int | +| (const char *,int,..(*)(..),glob_t *) | | __glob | 2 | ..(*)(..) | +| (const char *,int,..(*)(..),glob_t *) | | __glob | 3 | glob_t * | +| (const char *,int,..(*)(..),glob_t *) | | __glob_lstat_compat | 0 | const char * | +| (const char *,int,..(*)(..),glob_t *) | | __glob_lstat_compat | 1 | int | +| (const char *,int,..(*)(..),glob_t *) | | __glob_lstat_compat | 2 | ..(*)(..) | +| (const char *,int,..(*)(..),glob_t *) | | __glob_lstat_compat | 3 | glob_t * | | (const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *) | | PKCS8_set0_pbe | 0 | const char * | | (const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *) | | PKCS8_set0_pbe | 1 | int | | (const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *) | | PKCS8_set0_pbe | 2 | PKCS8_PRIV_KEY_INFO * | @@ -29044,6 +36982,55 @@ getSignatureParameterName | (const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *,OSSL_LIB_CTX *,const char *) | | PKCS8_set0_pbe_ex | 3 | X509_ALGOR * | | (const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *,OSSL_LIB_CTX *,const char *) | | PKCS8_set0_pbe_ex | 4 | OSSL_LIB_CTX * | | (const char *,int,PKCS8_PRIV_KEY_INFO *,X509_ALGOR *,OSSL_LIB_CTX *,const char *) | | PKCS8_set0_pbe_ex | 5 | const char * | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 0 | const char * | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 1 | int | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 2 | const void * | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 3 | Lmid_t | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 4 | int | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 5 | char *[] | +| (const char *,int,const void *,Lmid_t,int,char *[],char *[]) | | _dl_open | 6 | char *[] | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 0 | const char * | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 1 | int | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 2 | hostent * | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 3 | char * | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 4 | size_t | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 5 | hostent ** | +| (const char *,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyname2_r | 6 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 0 | const char * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 1 | int | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 2 | hostent * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 3 | char * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 4 | size_t | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 5 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyname2_r | 6 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 0 | const char * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 1 | int | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 2 | hostent * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 3 | char * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 4 | size_t | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 5 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyname2_r | 6 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 0 | const char * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 1 | int | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 2 | hostent * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 3 | char * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 4 | size_t | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 5 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 6 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 7 | int32_t * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_dns_gethostbyname3_r | 8 | char ** | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 0 | const char * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 1 | int | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 2 | hostent * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 3 | char * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 4 | size_t | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 5 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 6 | int * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 7 | int32_t * | +| (const char *,int,hostent *,char *,size_t,int *,int *,int32_t *,char **) | | _nss_files_gethostbyname3_r | 8 | char ** | +| (const char *,int,int) | | __old_strpbrk_c2 | 0 | const char * | +| (const char *,int,int) | | __old_strpbrk_c2 | 1 | int | +| (const char *,int,int) | | __old_strpbrk_c2 | 2 | int | | (const char *,int,int,..(*)(..),void *) | | CONF_parse_list | 0 | const char * | | (const char *,int,int,..(*)(..),void *) | | CONF_parse_list | 1 | int | | (const char *,int,int,..(*)(..),void *) | | CONF_parse_list | 2 | int | @@ -29062,13 +37049,30 @@ getSignatureParameterName | (const char *,int,int,const char *,const char *,int,EVP_PKEY **,EVP_PKEY **,EVP_PKEY **,X509 **,stack_st_X509 **,X509_CRL **,stack_st_X509_CRL **) | | load_key_certs_crls | 10 | stack_st_X509 ** | | (const char *,int,int,const char *,const char *,int,EVP_PKEY **,EVP_PKEY **,EVP_PKEY **,X509 **,stack_st_X509 **,X509_CRL **,stack_st_X509_CRL **) | | load_key_certs_crls | 11 | X509_CRL ** | | (const char *,int,int,const char *,const char *,int,EVP_PKEY **,EVP_PKEY **,EVP_PKEY **,X509 **,stack_st_X509 **,X509_CRL **,stack_st_X509_CRL **) | | load_key_certs_crls | 12 | stack_st_X509_CRL ** | +| (const char *,int,int,int) | | __old_strpbrk_c3 | 0 | const char * | +| (const char *,int,int,int) | | __old_strpbrk_c3 | 1 | int | +| (const char *,int,int,int) | | __old_strpbrk_c3 | 2 | int | +| (const char *,int,int,int) | | __old_strpbrk_c3 | 3 | int | | (const char *,int,int,int) | | append_str | 0 | const char * | | (const char *,int,int,int) | | append_str | 1 | int | | (const char *,int,int,int) | | append_str | 2 | int | | (const char *,int,int,int) | | append_str | 3 | int | +| (const char *,int,int,unsigned char *,int) | | ___res_query | 0 | const char * | +| (const char *,int,int,unsigned char *,int) | | ___res_query | 1 | int | +| (const char *,int,int,unsigned char *,int) | | ___res_query | 2 | int | +| (const char *,int,int,unsigned char *,int) | | ___res_query | 3 | unsigned char * | +| (const char *,int,int,unsigned char *,int) | | ___res_query | 4 | int | +| (const char *,int,int,unsigned char *,int) | | ___res_search | 0 | const char * | +| (const char *,int,int,unsigned char *,int) | | ___res_search | 1 | int | +| (const char *,int,int,unsigned char *,int) | | ___res_search | 2 | int | +| (const char *,int,int,unsigned char *,int) | | ___res_search | 3 | unsigned char * | +| (const char *,int,int,unsigned char *,int) | | ___res_search | 4 | int | | (const char *,int,long) | | zSkipValidUtf8 | 0 | const char * | | (const char *,int,long) | | zSkipValidUtf8 | 1 | int | | (const char *,int,long) | | zSkipValidUtf8 | 2 | long | +| (const char *,int,sem_t *) | | __sem_check_add_mapping | 0 | const char * | +| (const char *,int,sem_t *) | | __sem_check_add_mapping | 1 | int | +| (const char *,int,sem_t *) | | __sem_check_add_mapping | 2 | sem_t * | | (const char *,int,stack_st_CONF_VALUE **) | | X509V3_add_value_bool | 0 | const char * | | (const char *,int,stack_st_CONF_VALUE **) | | X509V3_add_value_bool | 1 | int | | (const char *,int,stack_st_CONF_VALUE **) | | X509V3_add_value_bool | 2 | stack_st_CONF_VALUE ** | @@ -29092,6 +37096,23 @@ getSignatureParameterName | (const char *,int,unsigned char **,int *) | | OPENSSL_utf82uni | 1 | int | | (const char *,int,unsigned char **,int *) | | OPENSSL_utf82uni | 2 | unsigned char ** | | (const char *,int,unsigned char **,int *) | | OPENSSL_utf82uni | 3 | int * | +| (const char *,int,void *,void *) | | support_readdir_r_check | 0 | const char * | +| (const char *,int,void *,void *) | | support_readdir_r_check | 1 | int | +| (const char *,int,void *,void *) | | support_readdir_r_check | 2 | void * | +| (const char *,int,void *,void *) | | support_readdir_r_check | 3 | void * | +| (const char *,kw_hash_fct_t) | | lr_open | 0 | const char * | +| (const char *,kw_hash_fct_t) | | lr_open | 1 | kw_hash_fct_t | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 0 | const char * | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 1 | link_map * | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 2 | const Elf64_Sym ** | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 3 | r_scope_elem *[] | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 4 | const r_found_version * | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 5 | int | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 6 | int | +| (const char *,link_map *,const Elf64_Sym **,r_scope_elem *[],const r_found_version *,int,int,link_map *) | | _dl_lookup_symbol_x | 7 | link_map * | +| (const char *,link_map *,unsigned int) | | _dl_audit_objsearch | 0 | const char * | +| (const char *,link_map *,unsigned int) | | _dl_audit_objsearch | 1 | link_map * | +| (const char *,link_map *,unsigned int) | | _dl_audit_objsearch | 2 | unsigned int | | (const char *,long *) | | OSSL_PARAM_construct_long | 0 | const char * | | (const char *,long *) | | OSSL_PARAM_construct_long | 1 | long * | | (const char *,long *) | | opt_long | 0 | const char * | @@ -29102,21 +37123,145 @@ getSignatureParameterName | (const char *,long *,int) | | Jim_StringToWide | 0 | const char * | | (const char *,long *,int) | | Jim_StringToWide | 1 | long * | | (const char *,long *,int) | | Jim_StringToWide | 2 | int | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyname_r | 0 | const char * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyname_r | 1 | netent * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyname_r | 2 | char * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyname_r | 3 | size_t | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyname_r | 4 | int * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyname_r | 5 | int * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyname_r | 0 | const char * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyname_r | 1 | netent * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyname_r | 2 | char * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyname_r | 3 | size_t | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyname_r | 4 | int * | +| (const char *,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyname_r | 5 | int * | +| (const char *,netobj *,u_int,sockaddr *,des_block *) | | authdes_pk_create | 0 | const char * | +| (const char *,netobj *,u_int,sockaddr *,des_block *) | | authdes_pk_create | 1 | netobj * | +| (const char *,netobj *,u_int,sockaddr *,des_block *) | | authdes_pk_create | 2 | u_int | +| (const char *,netobj *,u_int,sockaddr *,des_block *) | | authdes_pk_create | 3 | sockaddr * | +| (const char *,netobj *,u_int,sockaddr *,des_block *) | | authdes_pk_create | 4 | des_block * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_compat_getpwnam_r | 0 | const char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_compat_getpwnam_r | 1 | passwd * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_compat_getpwnam_r | 2 | char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_compat_getpwnam_r | 3 | size_t | +| (const char *,passwd *,char *,size_t,int *) | | _nss_compat_getpwnam_r | 4 | int * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_db_getpwnam_r | 0 | const char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_db_getpwnam_r | 1 | passwd * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_db_getpwnam_r | 2 | char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_db_getpwnam_r | 3 | size_t | +| (const char *,passwd *,char *,size_t,int *) | | _nss_db_getpwnam_r | 4 | int * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_files_getpwnam_r | 0 | const char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_files_getpwnam_r | 1 | passwd * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_files_getpwnam_r | 2 | char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_files_getpwnam_r | 3 | size_t | +| (const char *,passwd *,char *,size_t,int *) | | _nss_files_getpwnam_r | 4 | int * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwnam_r | 0 | const char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwnam_r | 1 | passwd * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwnam_r | 2 | char * | +| (const char *,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwnam_r | 3 | size_t | +| (const char *,passwd *,char *,size_t,int *) | | _nss_hesiod_getpwnam_r | 4 | int * | +| (const char *,passwd *,char *,size_t,passwd **) | | __getpwnam_r | 0 | const char * | +| (const char *,passwd *,char *,size_t,passwd **) | | __getpwnam_r | 1 | passwd * | +| (const char *,passwd *,char *,size_t,passwd **) | | __getpwnam_r | 2 | char * | +| (const char *,passwd *,char *,size_t,passwd **) | | __getpwnam_r | 3 | size_t | +| (const char *,passwd *,char *,size_t,passwd **) | | __getpwnam_r | 4 | passwd ** | +| (const char *,passwd *,char *,size_t,passwd **) | | __nscd_getpwnam_r | 0 | const char * | +| (const char *,passwd *,char *,size_t,passwd **) | | __nscd_getpwnam_r | 1 | passwd * | +| (const char *,passwd *,char *,size_t,passwd **) | | __nscd_getpwnam_r | 2 | char * | +| (const char *,passwd *,char *,size_t,passwd **) | | __nscd_getpwnam_r | 3 | size_t | +| (const char *,passwd *,char *,size_t,passwd **) | | __nscd_getpwnam_r | 4 | passwd ** | +| (const char *,protoent *,char *,size_t,int *) | | _nss_db_getprotobyname_r | 0 | const char * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_db_getprotobyname_r | 1 | protoent * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_db_getprotobyname_r | 2 | char * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_db_getprotobyname_r | 3 | size_t | +| (const char *,protoent *,char *,size_t,int *) | | _nss_db_getprotobyname_r | 4 | int * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_files_getprotobyname_r | 0 | const char * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_files_getprotobyname_r | 1 | protoent * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_files_getprotobyname_r | 2 | char * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_files_getprotobyname_r | 3 | size_t | +| (const char *,protoent *,char *,size_t,int *) | | _nss_files_getprotobyname_r | 4 | int * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobyname_r | 0 | const char * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobyname_r | 1 | protoent * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobyname_r | 2 | char * | +| (const char *,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobyname_r | 3 | size_t | +| (const char *,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobyname_r | 4 | int * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbyname_r | 0 | const char * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbyname_r | 1 | rpcent * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbyname_r | 2 | char * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbyname_r | 3 | size_t | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbyname_r | 4 | int * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbyname_r | 0 | const char * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbyname_r | 1 | rpcent * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbyname_r | 2 | char * | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbyname_r | 3 | size_t | +| (const char *,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbyname_r | 4 | int * | +| (const char *,rpcent *,char *,size_t,rpcent **) | | __getrpcbyname_r | 0 | const char * | +| (const char *,rpcent *,char *,size_t,rpcent **) | | __getrpcbyname_r | 1 | rpcent * | +| (const char *,rpcent *,char *,size_t,rpcent **) | | __getrpcbyname_r | 2 | char * | +| (const char *,rpcent *,char *,size_t,rpcent **) | | __getrpcbyname_r | 3 | size_t | +| (const char *,rpcent *,char *,size_t,rpcent **) | | __getrpcbyname_r | 4 | rpcent ** | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_db_getsgnam_r | 0 | const char * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_db_getsgnam_r | 1 | sgrp * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_db_getsgnam_r | 2 | char * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_db_getsgnam_r | 3 | size_t | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_db_getsgnam_r | 4 | int * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_files_getsgnam_r | 0 | const char * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_files_getsgnam_r | 1 | sgrp * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_files_getsgnam_r | 2 | char * | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_files_getsgnam_r | 3 | size_t | +| (const char *,sgrp *,char *,size_t,int *) | | _nss_files_getsgnam_r | 4 | int * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __getsgnam_r | 0 | const char * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __getsgnam_r | 1 | sgrp * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __getsgnam_r | 2 | char * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __getsgnam_r | 3 | size_t | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __getsgnam_r | 4 | sgrp ** | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __sgetsgent_r | 0 | const char * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __sgetsgent_r | 1 | sgrp * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __sgetsgent_r | 2 | char * | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __sgetsgent_r | 3 | size_t | +| (const char *,sgrp *,char *,size_t,sgrp **) | | __sgetsgent_r | 4 | sgrp ** | | (const char *,size_t *) | | OSSL_PARAM_construct_size_t | 0 | const char * | | (const char *,size_t *) | | OSSL_PARAM_construct_size_t | 1 | size_t * | +| (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 0 | const char * | +| (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 1 | size_t * | +| (const char *,size_t *,int) | | _dl_sysdep_read_whole_file | 2 | int | | (const char *,size_t) | | Curl_getn_scheme_handler | 0 | const char * | | (const char *,size_t) | | Curl_getn_scheme_handler | 1 | size_t | | (const char *,size_t) | | Curl_memdup0 | 0 | const char * | | (const char *,size_t) | | Curl_memdup0 | 1 | size_t | | (const char *,size_t) | | OPENSSL_strnlen | 0 | const char * | | (const char *,size_t) | | OPENSSL_strnlen | 1 | size_t | +| (const char *,size_t) | | __nss_module_allocate | 0 | const char * | +| (const char *,size_t) | | __nss_module_allocate | 1 | size_t | +| (const char *,size_t) | | __strndup | 0 | const char * | +| (const char *,size_t) | | __strndup | 1 | size_t | +| (const char *,size_t) | | charmap_hash | 0 | const char * | +| (const char *,size_t) | | charmap_hash | 1 | size_t | +| (const char *,size_t) | | locfile_hash | 0 | const char * | +| (const char *,size_t) | | locfile_hash | 1 | size_t | +| (const char *,size_t) | | mblen | 0 | const char * | +| (const char *,size_t) | | mblen | 1 | size_t | | (const char *,size_t) | | uv__strndup | 0 | const char * | | (const char *,size_t) | | uv__strndup | 1 | size_t | +| (const char *,size_t) | | xstrndup | 0 | const char * | +| (const char *,size_t) | | xstrndup | 1 | size_t | | (const char *,size_t,char **,size_t *,urlreject) | | Curl_urldecode | 0 | const char * | | (const char *,size_t,char **,size_t *,urlreject) | | Curl_urldecode | 1 | size_t | | (const char *,size_t,char **,size_t *,urlreject) | | Curl_urldecode | 2 | char ** | | (const char *,size_t,char **,size_t *,urlreject) | | Curl_urldecode | 3 | size_t * | | (const char *,size_t,char **,size_t *,urlreject) | | Curl_urldecode | 4 | urlreject | +| (const char *,size_t,const char *) | | __argz_next | 0 | const char * | +| (const char *,size_t,const char *) | | __argz_next | 1 | size_t | +| (const char *,size_t,const char *) | | __argz_next | 2 | const char * | +| (const char *,size_t,const char *) | | argz_next | 0 | const char * | +| (const char *,size_t,const char *) | | argz_next | 1 | size_t | +| (const char *,size_t,const char *) | | argz_next | 2 | const char * | +| (const char *,size_t,const char *) | | envz_entry | 0 | const char * | +| (const char *,size_t,const char *) | | envz_entry | 1 | size_t | +| (const char *,size_t,const char *) | | envz_entry | 2 | const char * | +| (const char *,size_t,const char *) | | envz_get | 0 | const char * | +| (const char *,size_t,const char *) | | envz_get | 1 | size_t | +| (const char *,size_t,const char *) | | envz_get | 2 | const char * | | (const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *) | | mem_iconveha | 0 | const char * | | (const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *) | | mem_iconveha | 1 | size_t | | (const char *,size_t,const char *,const char *,bool,iconv_ilseq_handler,size_t *,char **,size_t *) | | mem_iconveha | 2 | const char * | @@ -29149,10 +37294,44 @@ getSignatureParameterName | (const char *,size_t,dynbuf *,bool) | | jsonquoted | 1 | size_t | | (const char *,size_t,dynbuf *,bool) | | jsonquoted | 2 | dynbuf * | | (const char *,size_t,dynbuf *,bool) | | jsonquoted | 3 | bool | +| (const char *,size_t,int,const char **) | | _nl_find_locale | 0 | const char * | +| (const char *,size_t,int,const char **) | | _nl_find_locale | 1 | size_t | +| (const char *,size_t,int,const char **) | | _nl_find_locale | 2 | int | +| (const char *,size_t,int,const char **) | | _nl_find_locale | 3 | const char ** | | (const char *,size_t,uint32_t *,size_t *) | | idn2_punycode_decode | 0 | const char * | | (const char *,size_t,uint32_t *,size_t *) | | idn2_punycode_decode | 1 | size_t | | (const char *,size_t,uint32_t *,size_t *) | | idn2_punycode_decode | 2 | uint32_t * | | (const char *,size_t,uint32_t *,size_t *) | | idn2_punycode_decode | 3 | size_t * | +| (const char *,size_t,void *) | | __md5_buffer | 0 | const char * | +| (const char *,size_t,void *) | | __md5_buffer | 1 | size_t | +| (const char *,size_t,void *) | | __md5_buffer | 2 | void * | +| (const char *,sockaddr_in *) | | __libc_rpc_gethostbyname | 0 | const char * | +| (const char *,sockaddr_in *) | | __libc_rpc_gethostbyname | 1 | sockaddr_in * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_compat_getspnam_r | 0 | const char * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_compat_getspnam_r | 1 | spwd * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_compat_getspnam_r | 2 | char * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_compat_getspnam_r | 3 | size_t | +| (const char *,spwd *,char *,size_t,int *) | | _nss_compat_getspnam_r | 4 | int * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_db_getspnam_r | 0 | const char * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_db_getspnam_r | 1 | spwd * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_db_getspnam_r | 2 | char * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_db_getspnam_r | 3 | size_t | +| (const char *,spwd *,char *,size_t,int *) | | _nss_db_getspnam_r | 4 | int * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_files_getspnam_r | 0 | const char * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_files_getspnam_r | 1 | spwd * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_files_getspnam_r | 2 | char * | +| (const char *,spwd *,char *,size_t,int *) | | _nss_files_getspnam_r | 3 | size_t | +| (const char *,spwd *,char *,size_t,int *) | | _nss_files_getspnam_r | 4 | int * | +| (const char *,spwd *,char *,size_t,spwd **) | | __getspnam_r | 0 | const char * | +| (const char *,spwd *,char *,size_t,spwd **) | | __getspnam_r | 1 | spwd * | +| (const char *,spwd *,char *,size_t,spwd **) | | __getspnam_r | 2 | char * | +| (const char *,spwd *,char *,size_t,spwd **) | | __getspnam_r | 3 | size_t | +| (const char *,spwd *,char *,size_t,spwd **) | | __getspnam_r | 4 | spwd ** | +| (const char *,spwd *,char *,size_t,spwd **) | | __sgetspent_r | 0 | const char * | +| (const char *,spwd *,char *,size_t,spwd **) | | __sgetspent_r | 1 | spwd * | +| (const char *,spwd *,char *,size_t,spwd **) | | __sgetspent_r | 2 | char * | +| (const char *,spwd *,char *,size_t,spwd **) | | __sgetspent_r | 3 | size_t | +| (const char *,spwd *,char *,size_t,spwd **) | | __sgetspent_r | 4 | spwd ** | | (const char *,sqlite3 **,int,const char *) | | sqlite3_open_v2 | 0 | const char * | | (const char *,sqlite3 **,int,const char *) | | sqlite3_open_v2 | 1 | sqlite3 ** | | (const char *,sqlite3 **,int,const char *) | | sqlite3_open_v2 | 2 | int | @@ -29183,13 +37362,39 @@ getSignatureParameterName | (const char *,stack_st_X509_CRL **,const char *,const char *) | | load_crls | 1 | stack_st_X509_CRL ** | | (const char *,stack_st_X509_CRL **,const char *,const char *) | | load_crls | 2 | const char * | | (const char *,stack_st_X509_CRL **,const char *,const char *) | | load_crls | 3 | const char * | +| (const char *,statvfs64 *) | | __statvfs64 | 0 | const char * | +| (const char *,statvfs64 *) | | __statvfs64 | 1 | statvfs64 * | | (const char *,time_t *) | | OSSL_PARAM_construct_time_t | 0 | const char * | | (const char *,time_t *) | | OSSL_PARAM_construct_time_t | 1 | time_t * | +| (const char *,tm *) | | __getdate_r | 0 | const char * | +| (const char *,tm *) | | __getdate_r | 1 | tm * | +| (const char *,u_char *,unsigned char *) | | __loc_aton | 0 | const char * | +| (const char *,u_char *,unsigned char *) | | __loc_aton | 1 | u_char * | +| (const char *,u_char *,unsigned char *) | | __loc_aton | 2 | unsigned char * | +| (const char *,u_char *,unsigned char *,int) | | inet_nsap_addr | 0 | const char * | +| (const char *,u_char *,unsigned char *,int) | | inet_nsap_addr | 1 | u_char * | +| (const char *,u_char *,unsigned char *,int) | | inet_nsap_addr | 2 | unsigned char * | +| (const char *,u_char *,unsigned char *,int) | | inet_nsap_addr | 3 | int | +| (const char *,u_char *,unsigned char *,size_t) | | __b64_pton | 0 | const char * | +| (const char *,u_char *,unsigned char *,size_t) | | __b64_pton | 1 | u_char * | +| (const char *,u_char *,unsigned char *,size_t) | | __b64_pton | 2 | unsigned char * | +| (const char *,u_char *,unsigned char *,size_t) | | __b64_pton | 3 | size_t | +| (const char *,u_int,sockaddr *,des_block *) | | authdes_create | 0 | const char * | +| (const char *,u_int,sockaddr *,des_block *) | | authdes_create | 1 | u_int | +| (const char *,u_int,sockaddr *,des_block *) | | authdes_create | 2 | sockaddr * | +| (const char *,u_int,sockaddr *,des_block *) | | authdes_create | 3 | des_block * | +| (const char *,u_long *,unsigned long *) | | ns_parse_ttl | 0 | const char * | +| (const char *,u_long *,unsigned long *) | | ns_parse_ttl | 1 | u_long * | +| (const char *,u_long *,unsigned long *) | | ns_parse_ttl | 2 | unsigned long * | | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 0 | const char * | | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 1 | uint16_t * | | (const char *,uint16_t *,size_t) | | uv_wtf8_to_utf16 | 2 | size_t | | (const char *,uint32_t *) | | OSSL_PARAM_construct_uint32 | 0 | const char * | | (const char *,uint32_t *) | | OSSL_PARAM_construct_uint32 | 1 | uint32_t * | +| (const char *,uint32_t) | | __collidx_table_lookup | 0 | const char * | +| (const char *,uint32_t) | | __collidx_table_lookup | 1 | uint32_t | +| (const char *,uint32_t) | | __collseq_table_lookup | 0 | const char * | +| (const char *,uint32_t) | | __collseq_table_lookup | 1 | uint32_t | | (const char *,uint64_t *) | | OSSL_PARAM_construct_uint64 | 0 | const char * | | (const char *,uint64_t *) | | OSSL_PARAM_construct_uint64 | 1 | uint64_t * | | (const char *,unsigned char *) | | Curl_ntlm_core_mk_lm_hash | 0 | const char * | @@ -29205,6 +37410,10 @@ getSignatureParameterName | (const char *,unsigned long *) | | OSSL_PARAM_construct_ulong | 1 | unsigned long * | | (const char *,unsigned long *) | | opt_ulong | 0 | const char * | | (const char *,unsigned long *) | | opt_ulong | 1 | unsigned long * | +| (const char *,va_list) | | _IO_vscanf | 0 | const char * | +| (const char *,va_list) | | _IO_vscanf | 1 | va_list | +| (const char *,va_list) | | __vprintf | 0 | const char * | +| (const char *,va_list) | | __vprintf | 1 | va_list | | (const char *,va_list) | | curl_mvaprintf | 0 | const char * | | (const char *,va_list) | | curl_mvaprintf | 1 | va_list | | (const char *,va_list) | | curl_mvprintf | 0 | const char * | @@ -29216,14 +37425,34 @@ getSignatureParameterName | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 0 | const char * | | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 1 | void ** | | (const char *,void **,size_t) | | OSSL_PARAM_construct_octet_ptr | 2 | size_t | +| (const char *,void *,int) | | support_readdir_check | 0 | const char * | +| (const char *,void *,int) | | support_readdir_check | 1 | void * | +| (const char *,void *,int) | | support_readdir_check | 2 | int | | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 0 | const char * | | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 1 | void * | | (const char *,void *,size_t) | | OSSL_PARAM_construct_octet_string | 2 | size_t | | (const char *,void *,size_t) | | uv__random_readpath | 0 | const char * | | (const char *,void *,size_t) | | uv__random_readpath | 1 | void * | | (const char *,void *,size_t) | | uv__random_readpath | 2 | size_t | +| (const char *,wordexp_t *,int) | | wordexp | 0 | const char * | +| (const char *,wordexp_t *,int) | | wordexp | 1 | wordexp_t * | +| (const char *,wordexp_t *,int) | | wordexp | 2 | int | +| (const char *__restrict__,size_t,mbstate_t *__restrict__) | | mbrlen | 0 | const char *__restrict__ | +| (const char *__restrict__,size_t,mbstate_t *__restrict__) | | mbrlen | 1 | size_t | +| (const char *__restrict__,size_t,mbstate_t *__restrict__) | | mbrlen | 2 | mbstate_t *__restrict__ | | (const char *const *,const char *const *) | | name_cmp | 0 | const char *const * | | (const char *const *,const char *const *) | | name_cmp | 1 | const char *const * | +| (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 0 | const charmap_t * | +| (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 1 | const char * | +| (const charmap_t *,const char *,size_t) | | charmap_find_symbol | 2 | size_t | +| (const charmap_t *,const char *,size_t) | | charmap_find_value | 0 | const charmap_t * | +| (const charmap_t *,const char *,size_t) | | charmap_find_value | 1 | const char * | +| (const charmap_t *,const char *,size_t) | | charmap_find_value | 2 | size_t | +| (const cmsghdr *,uint8_t **) | | inet6_option_next | 0 | const cmsghdr * | +| (const cmsghdr *,uint8_t **) | | inet6_option_next | 1 | uint8_t ** | +| (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 0 | const cmsghdr * | +| (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 1 | uint8_t ** | +| (const cmsghdr *,uint8_t **,int) | | inet6_option_find | 2 | int | | (const curl_easyoption *) | | curl_easy_option_next | 0 | const curl_easyoption * | | (const curve448_point_t) | | ossl_curve448_point_valid | 0 | const curve448_point_t | | (const custom_ext_methods *,ENDPOINT,unsigned int,size_t *) | | custom_ext_find | 0 | const custom_ext_methods * | @@ -29233,19 +37462,76 @@ getSignatureParameterName | (const deque &) | deque | deque | 0 | const deque & | | (const deque &,const Allocator &) | deque | deque | 0 | const deque & | | (const deque &,const Allocator &) | deque | deque | 1 | const class:1 & | +| (const directory_obj *,directory_obj *) | | nis_clone_directory | 0 | const directory_obj * | +| (const directory_obj *,directory_obj *) | | nis_clone_directory | 1 | directory_obj * | +| (const dirent64 **,const dirent64 **) | | __alphasort64 | 0 | const dirent64 ** | +| (const dirent64 **,const dirent64 **) | | __alphasort64 | 1 | const dirent64 ** | +| (const dirent64 **,const dirent64 **) | | __versionsort64 | 0 | const dirent64 ** | +| (const dirent64 **,const dirent64 **) | | __versionsort64 | 1 | const dirent64 ** | +| (const double *) | | __getpayload | 0 | const double * | | (const dynbuf *) | | Curl_dyn_len | 0 | const dynbuf * | | (const dynbuf *) | | Curl_dyn_ptr | 0 | const dynbuf * | | (const dynbuf *) | | Curl_dyn_uptr | 0 | const dynbuf * | | (const dynbuf *) | | curlx_dyn_len | 0 | const dynbuf * | | (const dynbuf *) | | curlx_dyn_ptr | 0 | const dynbuf * | | (const dynbuf *) | | curlx_dyn_uptr | 0 | const dynbuf * | +| (const ether_addr *) | | ether_ntoa | 0 | const ether_addr * | +| (const ether_addr *,char *) | | ether_ntoa_r | 0 | const ether_addr * | +| (const ether_addr *,char *) | | ether_ntoa_r | 1 | char * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_db_getntohost_r | 0 | const ether_addr * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_db_getntohost_r | 1 | etherent * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_db_getntohost_r | 2 | char * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_db_getntohost_r | 3 | size_t | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_db_getntohost_r | 4 | int * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_files_getntohost_r | 0 | const ether_addr * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_files_getntohost_r | 1 | etherent * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_files_getntohost_r | 2 | char * | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_files_getntohost_r | 3 | size_t | +| (const ether_addr *,etherent *,char *,size_t,int *) | | _nss_files_getntohost_r | 4 | int * | +| (const float *) | | __getpayloadf | 0 | const float * | | (const forward_list &) | forward_list | forward_list | 0 | const forward_list & | | (const forward_list &,const Allocator &) | forward_list | forward_list | 0 | const forward_list & | | (const forward_list &,const Allocator &) | forward_list | forward_list | 1 | const class:1 & | +| (const gaicb *const[],int,const timespec *) | | ___gai_suspend_time64 | 0 | const gaicb *const[] | +| (const gaicb *const[],int,const timespec *) | | ___gai_suspend_time64 | 1 | int | +| (const gaicb *const[],int,const timespec *) | | ___gai_suspend_time64 | 2 | const timespec * | | (const gf) | | gf_hibit | 0 | const gf | | (const gf) | | gf_lobit | 0 | const gf | | (const gf,const gf) | | gf_eq | 0 | const gf | | (const gf,const gf) | | gf_eq | 1 | const gf | +| (const glibc_hwcaps_subdirectory *) | | glibc_hwcaps_subdirectory_name | 0 | const glibc_hwcaps_subdirectory * | +| (const group *,const group *__restrict__,FILE *,FILE *__restrict__) | | putgrent | 0 | const group * | +| (const group *,const group *__restrict__,FILE *,FILE *__restrict__) | | putgrent | 1 | const group *__restrict__ | +| (const group *,const group *__restrict__,FILE *,FILE *__restrict__) | | putgrent | 2 | FILE * | +| (const group *,const group *__restrict__,FILE *,FILE *__restrict__) | | putgrent | 3 | FILE *__restrict__ | +| (const group,const size_t,group *,char *,char **) | | __copy_grp | 0 | const group | +| (const group,const size_t,group *,char *,char **) | | __copy_grp | 1 | const size_t | +| (const group,const size_t,group *,char *,char **) | | __copy_grp | 2 | group * | +| (const group,const size_t,group *,char *,char **) | | __copy_grp | 3 | char * | +| (const group,const size_t,group *,char *,char **) | | __copy_grp | 4 | char ** | +| (const hash_table *,const void *,size_t,void **) | | find_entry | 0 | const hash_table * | +| (const hash_table *,const void *,size_t,void **) | | find_entry | 1 | const void * | +| (const hash_table *,const void *,size_t,void **) | | find_entry | 2 | size_t | +| (const hash_table *,const void *,size_t,void **) | | find_entry | 3 | void ** | +| (const hash_table *,void **,const void **,size_t *,void **) | | iterate_table | 0 | const hash_table * | +| (const hash_table *,void **,const void **,size_t *,void **) | | iterate_table | 1 | void ** | +| (const hash_table *,void **,const void **,size_t *,void **) | | iterate_table | 2 | const void ** | +| (const hash_table *,void **,const void **,size_t *,void **) | | iterate_table | 3 | size_t * | +| (const hash_table *,void **,const void **,size_t *,void **) | | iterate_table | 4 | void ** | +| (const int) | | ypprot_err | 0 | const int | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 0 | const int | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 1 | int | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 2 | const char * | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 3 | servent * | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 4 | char * | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 5 | size_t | +| (const int,int,const char *,servent *,char *,size_t,int *) | | _nss_hesiod_getservbyport_r | 6 | int * | +| (const int,int,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobynumber_r | 0 | const int | +| (const int,int,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobynumber_r | 1 | int | +| (const int,int,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobynumber_r | 2 | protoent * | +| (const int,int,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobynumber_r | 3 | char * | +| (const int,int,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobynumber_r | 4 | size_t | +| (const int,int,protoent *,char *,size_t,int *) | | _nss_hesiod_getprotobynumber_r | 5 | int * | | (const int[],BIGNUM *) | | BN_GF2m_arr2poly | 0 | const int[] | | (const int[],BIGNUM *) | | BN_GF2m_arr2poly | 1 | BIGNUM * | | (const int_dhx942_dh *,unsigned char **) | | i2d_int_dhx | 0 | const int_dhx942_dh * | @@ -29253,6 +37539,11 @@ getSignatureParameterName | (const list &) | list | list | 0 | const list & | | (const list &,const Allocator &) | list | list | 0 | const list & | | (const list &,const Allocator &) | list | list | 1 | const class:1 & | +| (const long double *) | | __getpayloadl | 0 | const long double * | +| (const md5_ctx *,void *) | | __md5_read_ctx | 0 | const md5_ctx * | +| (const md5_ctx *,void *) | | __md5_read_ctx | 1 | void * | +| (const mntent *,const char *) | | __hasmntopt | 0 | const mntent * | +| (const mntent *,const char *) | | __hasmntopt | 1 | const char * | | (const nghttp2_extpri *) | | nghttp2_extpri_to_uint8 | 0 | const nghttp2_extpri * | | (const nghttp2_map *) | | nghttp2_map_size | 0 | const nghttp2_map * | | (const nghttp2_map *,..(*)(..),void *) | | nghttp2_map_each | 0 | const nghttp2_map * | @@ -29265,6 +37556,140 @@ getSignatureParameterName | (const nghttp2_settings_entry *,size_t,nghttp2_mem *) | | nghttp2_frame_iv_copy | 0 | const nghttp2_settings_entry * | | (const nghttp2_settings_entry *,size_t,nghttp2_mem *) | | nghttp2_frame_iv_copy | 1 | size_t | | (const nghttp2_settings_entry *,size_t,nghttp2_mem *) | | nghttp2_frame_iv_copy | 2 | nghttp2_mem * | +| (const nis_error) | | nis_sperrno | 0 | const nis_error | +| (const nis_error,const char *) | | nis_sperror | 0 | const nis_error | +| (const nis_error,const char *) | | nis_sperror | 1 | const char * | +| (const nis_error,const char *,char *,size_t) | | nis_sperror_r | 0 | const nis_error | +| (const nis_error,const char *,char *,size_t) | | nis_sperror_r | 1 | const char * | +| (const nis_error,const char *,char *,size_t) | | nis_sperror_r | 2 | char * | +| (const nis_error,const char *,char *,size_t) | | nis_sperror_r | 3 | size_t | +| (const nis_object *,nis_object *) | | nis_clone_object | 0 | const nis_object * | +| (const nis_object *,nis_object *) | | nis_clone_object | 1 | nis_object * | +| (const nis_result *) | | nis_print_result | 0 | const nis_result * | +| (const nis_result *,nis_result *) | | nis_clone_result | 0 | const nis_result * | +| (const nis_result *,nis_result *) | | nis_clone_result | 1 | nis_result * | +| (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 0 | const ns_msg * | +| (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 1 | const ns_rr * | +| (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 2 | const char * | +| (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 3 | const char * | +| (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 4 | char * | +| (const ns_msg *,const ns_rr *,const char *,const char *,char *,size_t) | | ns_sprintrr | 5 | size_t | +| (const old_termios_t *) | | __old_cfgetispeed | 0 | const old_termios_t * | +| (const old_termios_t *) | | __old_cfgetospeed | 0 | const old_termios_t * | +| (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 0 | const passwd * | +| (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 1 | const passwd *__restrict__ | +| (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 2 | FILE * | +| (const passwd *,const passwd *__restrict__,FILE *,FILE *__restrict__) | | putpwent | 3 | FILE *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getcgroup_np | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getcgroup_np | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getcgroup_np | 2 | int * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getcgroup_np | 3 | int *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getschedpolicy | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getschedpolicy | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getschedpolicy | 2 | int * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,int *,int *__restrict__) | | posix_spawnattr_getschedpolicy | 3 | int *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__) | | posix_spawnattr_getpgroup | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__) | | posix_spawnattr_getpgroup | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__) | | posix_spawnattr_getpgroup | 2 | pid_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,pid_t *,pid_t *__restrict__) | | posix_spawnattr_getpgroup | 3 | pid_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sched_param *,sched_param *__restrict__) | | posix_spawnattr_getschedparam | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sched_param *,sched_param *__restrict__) | | posix_spawnattr_getschedparam | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sched_param *,sched_param *__restrict__) | | posix_spawnattr_getschedparam | 2 | sched_param * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sched_param *,sched_param *__restrict__) | | posix_spawnattr_getschedparam | 3 | sched_param *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,short *,short *__restrict__) | | posix_spawnattr_getflags | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,short *,short *__restrict__) | | posix_spawnattr_getflags | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,short *,short *__restrict__) | | posix_spawnattr_getflags | 2 | short * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,short *,short *__restrict__) | | posix_spawnattr_getflags | 3 | short *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigdefault | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigdefault | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigdefault | 2 | sigset_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigdefault | 3 | sigset_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigmask | 0 | const posix_spawnattr_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigmask | 1 | const posix_spawnattr_t *__restrict__ | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigmask | 2 | sigset_t * | +| (const posix_spawnattr_t *,const posix_spawnattr_t *__restrict__,sigset_t *,sigset_t *__restrict__) | | posix_spawnattr_getsigmask | 3 | sigset_t *__restrict__ | +| (const pthread_attr_t *) | | __pthread_setattr_default_np | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,__sigset_t *,sigset_t *) | | __pthread_attr_getsigmask_np | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,__sigset_t *,sigset_t *) | | __pthread_attr_getsigmask_np | 1 | __sigset_t * | +| (const pthread_attr_t *,__sigset_t *,sigset_t *) | | __pthread_attr_getsigmask_np | 2 | sigset_t * | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstacksize | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstacksize | 1 | const pthread_attr_t *__restrict__ | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstacksize | 2 | size_t * | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstacksize | 3 | size_t *__restrict__ | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__) | | __pthread_attr_getstackaddr | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__) | | __pthread_attr_getstackaddr | 1 | const pthread_attr_t *__restrict__ | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__) | | __pthread_attr_getstackaddr | 2 | void ** | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__) | | __pthread_attr_getstackaddr | 3 | void **__restrict__ | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstack | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstack | 1 | const pthread_attr_t *__restrict__ | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstack | 2 | void ** | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstack | 3 | void **__restrict__ | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstack | 4 | size_t * | +| (const pthread_attr_t *,const pthread_attr_t *__restrict__,void **,void **__restrict__,size_t *,size_t *__restrict__) | | __pthread_attr_getstack | 5 | size_t *__restrict__ | +| (const pthread_attr_t *,cpu_set_t *) | | __pthread_attr_getaffinity_old | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,cpu_set_t *) | | __pthread_attr_getaffinity_old | 1 | cpu_set_t * | +| (const pthread_attr_t *,int *) | | __pthread_attr_getschedpolicy | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,int *) | | __pthread_attr_getschedpolicy | 1 | int * | +| (const pthread_attr_t *,sched_param *) | | __pthread_attr_getschedparam | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,sched_param *) | | __pthread_attr_getschedparam | 1 | sched_param * | +| (const pthread_attr_t *,size_t *) | | __pthread_attr_getguardsize | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,size_t *) | | __pthread_attr_getguardsize | 1 | size_t * | +| (const pthread_attr_t *,size_t,cpu_set_t *) | | __pthread_attr_getaffinity_new | 0 | const pthread_attr_t * | +| (const pthread_attr_t *,size_t,cpu_set_t *) | | __pthread_attr_getaffinity_new | 1 | size_t | +| (const pthread_attr_t *,size_t,cpu_set_t *) | | __pthread_attr_getaffinity_new | 2 | cpu_set_t * | +| (const pthread_barrierattr_t *,int *) | | __pthread_barrierattr_getpshared | 0 | const pthread_barrierattr_t * | +| (const pthread_barrierattr_t *,int *) | | __pthread_barrierattr_getpshared | 1 | int * | +| (const pthread_condattr_t *,clockid_t *) | | __pthread_condattr_getclock | 0 | const pthread_condattr_t * | +| (const pthread_condattr_t *,clockid_t *) | | __pthread_condattr_getclock | 1 | clockid_t * | +| (const pthread_mutex_t *,int *) | | __pthread_mutex_getprioceiling | 0 | const pthread_mutex_t * | +| (const pthread_mutex_t *,int *) | | __pthread_mutex_getprioceiling | 1 | int * | +| (const pthread_mutexattr_t *,int *) | | __pthread_mutexattr_getprioceiling | 0 | const pthread_mutexattr_t * | +| (const pthread_mutexattr_t *,int *) | | __pthread_mutexattr_getprioceiling | 1 | int * | +| (const pthread_mutexattr_t *,int *) | | __pthread_mutexattr_getprotocol | 0 | const pthread_mutexattr_t * | +| (const pthread_mutexattr_t *,int *) | | __pthread_mutexattr_getprotocol | 1 | int * | +| (const pthread_mutexattr_t *,int *) | | __pthread_mutexattr_gettype | 0 | const pthread_mutexattr_t * | +| (const pthread_mutexattr_t *,int *) | | __pthread_mutexattr_gettype | 1 | int * | +| (const pthread_rwlockattr_t *,int *) | | __pthread_rwlockattr_getkind_np | 0 | const pthread_rwlockattr_t * | +| (const pthread_rwlockattr_t *,int *) | | __pthread_rwlockattr_getkind_np | 1 | int * | +| (const pthread_rwlockattr_t *,int *) | | __pthread_rwlockattr_getpshared | 0 | const pthread_rwlockattr_t * | +| (const pthread_rwlockattr_t *,int *) | | __pthread_rwlockattr_getpshared | 1 | int * | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 0 | const regex_t * | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 1 | const regex_t *__restrict__ | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 2 | const char * | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 3 | const char *__restrict__ | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 4 | size_t | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 5 | regmatch_t[] | +| (const regex_t *,const regex_t *__restrict__,const char *,const char *__restrict__,size_t,regmatch_t[],int) | | __regexec | 6 | int | +| (const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int) | | __compat_regexec | 0 | const regex_t *__restrict__ | +| (const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int) | | __compat_regexec | 1 | const char *__restrict__ | +| (const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int) | | __compat_regexec | 2 | size_t | +| (const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int) | | __compat_regexec | 3 | regmatch_t[] | +| (const regex_t *__restrict__,const char *__restrict__,size_t,regmatch_t[],int) | | __compat_regexec | 4 | int | +| (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 0 | const repertoire_t * | +| (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 1 | const char * | +| (const repertoire_t *,const char *,size_t) | | repertoire_find_value | 2 | size_t | +| (const repertoire_t *,uint32_t) | | repertoire_find_seq | 0 | const repertoire_t * | +| (const repertoire_t *,uint32_t) | | repertoire_find_seq | 1 | uint32_t | +| (const repertoire_t *,uint32_t) | | repertoire_find_symbol | 0 | const repertoire_t * | +| (const repertoire_t *,uint32_t) | | repertoire_find_symbol | 1 | uint32_t | +| (const res_state,res_state,const char *,char *,size_t) | | __res_hostalias | 0 | const res_state | +| (const res_state,res_state,const char *,char *,size_t) | | __res_hostalias | 1 | res_state | +| (const res_state,res_state,const char *,char *,size_t) | | __res_hostalias | 2 | const char * | +| (const res_state,res_state,const char *,char *,size_t) | | __res_hostalias | 3 | char * | +| (const res_state,res_state,const char *,char *,size_t) | | __res_hostalias | 4 | size_t | +| (const res_sym *,const char *,int *) | | __sym_ston | 0 | const res_sym * | +| (const res_sym *,const char *,int *) | | __sym_ston | 1 | const char * | +| (const res_sym *,const char *,int *) | | __sym_ston | 2 | int * | +| (const res_sym *,int,int *) | | __sym_ntop | 0 | const res_sym * | +| (const res_sym *,int,int *) | | __sym_ntop | 1 | int | +| (const res_sym *,int,int *) | | __sym_ntop | 2 | int * | +| (const res_sym *,int,int *) | | __sym_ntos | 0 | const res_sym * | +| (const res_sym *,int,int *) | | __sym_ntos | 1 | int | +| (const res_sym *,int,int *) | | __sym_ntos | 2 | int * | +| (const resolv_conf *) | | __resolv_conf_allocate | 0 | const resolv_conf * | +| (const resolv_response_context *) | | resolv_response_context_duplicate | 0 | const resolv_response_context * | +| (const sgrp *,FILE *) | | putsgent | 0 | const sgrp * | +| (const sgrp *,FILE *) | | putsgent | 1 | FILE * | | (const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *) | | BrotliZopfliCreateCommands | 0 | const size_t | | (const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *) | | BrotliZopfliCreateCommands | 1 | const size_t | | (const size_t,const size_t,const ZopfliNode *,int *,size_t *,const BrotliEncoderParams *,Command *,size_t *) | | BrotliZopfliCreateCommands | 2 | const ZopfliNode * | @@ -29276,12 +37701,24 @@ getSignatureParameterName | (const sockaddr *,char *,size_t) | | uv_ip_name | 0 | const sockaddr * | | (const sockaddr *,char *,size_t) | | uv_ip_name | 1 | char * | | (const sockaddr *,char *,size_t) | | uv_ip_name | 2 | size_t | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 0 | const sockaddr * | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 1 | const sockaddr *__restrict__ | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 2 | socklen_t | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 3 | char * | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 4 | char *__restrict__ | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 5 | socklen_t | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 6 | char * | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 7 | char *__restrict__ | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 8 | socklen_t | +| (const sockaddr *,const sockaddr *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,char *,char *__restrict__,socklen_t,int) | | getnameinfo | 9 | int | | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 0 | const sockaddr_in6 * | | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 1 | char * | | (const sockaddr_in6 *,char *,size_t) | | uv_ip6_name | 2 | size_t | | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 0 | const sockaddr_in * | | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 1 | char * | | (const sockaddr_in *,char *,size_t) | | uv_ip4_name | 2 | size_t | +| (const spwd *,FILE *) | | putspent | 0 | const spwd * | +| (const spwd *,FILE *) | | putspent | 1 | FILE * | | (const sqlite3_value *) | | sqlite3_value_dup | 0 | const sqlite3_value * | | (const stack_st_SCT *,unsigned char **) | | i2d_SCT_LIST | 0 | const stack_st_SCT * | | (const stack_st_SCT *,unsigned char **) | | i2d_SCT_LIST | 1 | unsigned char ** | @@ -29321,12 +37758,137 @@ getSignatureParameterName | (const stat *) | | get_stat_ctime_ns | 0 | const stat * | | (const stat *) | | get_stat_mtime | 0 | const stat * | | (const stat *) | | get_stat_mtime_ns | 0 | const stat * | +| (const td_thragent_t *,lwpid_t,td_thrhandle_t *) | | __td_ta_lookup_th_unique | 0 | const td_thragent_t * | +| (const td_thragent_t *,lwpid_t,td_thrhandle_t *) | | __td_ta_lookup_th_unique | 1 | lwpid_t | +| (const td_thragent_t *,lwpid_t,td_thrhandle_t *) | | __td_ta_lookup_th_unique | 2 | td_thrhandle_t * | +| (const td_thragent_t *,lwpid_t,td_thrhandle_t *) | | td_ta_map_lwp2thr | 0 | const td_thragent_t * | +| (const td_thragent_t *,lwpid_t,td_thrhandle_t *) | | td_ta_map_lwp2thr | 1 | lwpid_t | +| (const td_thragent_t *,lwpid_t,td_thrhandle_t *) | | td_ta_map_lwp2thr | 2 | td_thrhandle_t * | +| (const td_thragent_t *,ps_prochandle **) | | td_ta_get_ph | 0 | const td_thragent_t * | +| (const td_thragent_t *,ps_prochandle **) | | td_ta_get_ph | 1 | ps_prochandle ** | +| (const td_thragent_t *,pthread_t,td_thrhandle_t *) | | td_ta_map_id2thr | 0 | const td_thragent_t * | +| (const td_thragent_t *,pthread_t,td_thrhandle_t *) | | td_ta_map_id2thr | 1 | pthread_t | +| (const td_thragent_t *,pthread_t,td_thrhandle_t *) | | td_ta_map_id2thr | 2 | td_thrhandle_t * | +| (const td_thragent_t *,td_event_e,td_notify_t *) | | td_ta_event_addr | 0 | const td_thragent_t * | +| (const td_thragent_t *,td_event_e,td_notify_t *) | | td_ta_event_addr | 1 | td_event_e | +| (const td_thragent_t *,td_event_e,td_notify_t *) | | td_ta_event_addr | 2 | td_notify_t * | +| (const td_thragent_t *,td_event_msg_t *) | | td_ta_event_getmsg | 0 | const td_thragent_t * | +| (const td_thragent_t *,td_event_msg_t *) | | td_ta_event_getmsg | 1 | td_event_msg_t * | +| (const td_thrhandle_t *,const thread_key_t,void **) | | td_thr_tsd | 0 | const td_thrhandle_t * | +| (const td_thrhandle_t *,const thread_key_t,void **) | | td_thr_tsd | 1 | const thread_key_t | +| (const td_thrhandle_t *,const thread_key_t,void **) | | td_thr_tsd | 2 | void ** | +| (const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *) | | td_thr_tls_get_addr | 0 | const td_thrhandle_t * | +| (const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *) | | td_thr_tls_get_addr | 1 | psaddr_t | +| (const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *) | | td_thr_tls_get_addr | 2 | size_t | +| (const td_thrhandle_t *,psaddr_t,size_t,psaddr_t *) | | td_thr_tls_get_addr | 3 | psaddr_t * | +| (const td_thrhandle_t *,td_event_msg_t *) | | td_thr_event_getmsg | 0 | const td_thrhandle_t * | +| (const td_thrhandle_t *,td_event_msg_t *) | | td_thr_event_getmsg | 1 | td_event_msg_t * | +| (const td_thrhandle_t *,td_thrinfo_t *) | | td_thr_get_info | 0 | const td_thrhandle_t * | +| (const td_thrhandle_t *,td_thrinfo_t *) | | td_thr_get_info | 1 | td_thrinfo_t * | +| (const td_thrhandle_t *,unsigned long,psaddr_t *) | | td_thr_tlsbase | 0 | const td_thrhandle_t * | +| (const td_thrhandle_t *,unsigned long,psaddr_t *) | | td_thr_tlsbase | 1 | unsigned long | +| (const td_thrhandle_t *,unsigned long,psaddr_t *) | | td_thr_tlsbase | 2 | psaddr_t * | +| (const termios *) | | __cfgetibaud | 0 | const termios * | +| (const termios *) | | __cfgetispeed | 0 | const termios * | +| (const termios *) | | __cfgetobaud | 0 | const termios * | +| (const termios *) | | __cfgetospeed | 0 | const termios * | +| (const time_t *) | | gmtime | 0 | const time_t * | +| (const time_t *) | | localtime | 0 | const time_t * | +| (const time_t *,const time_t *__restrict__,char *,char *__restrict__) | | ctime_r | 0 | const time_t * | +| (const time_t *,const time_t *__restrict__,char *,char *__restrict__) | | ctime_r | 1 | const time_t *__restrict__ | +| (const time_t *,const time_t *__restrict__,char *,char *__restrict__) | | ctime_r | 2 | char * | +| (const time_t *,const time_t *__restrict__,char *,char *__restrict__) | | ctime_r | 3 | char *__restrict__ | +| (const time_t *,const time_t *__restrict__,tm *,tm *__restrict__) | | __gmtime_r | 0 | const time_t * | +| (const time_t *,const time_t *__restrict__,tm *,tm *__restrict__) | | __gmtime_r | 1 | const time_t *__restrict__ | +| (const time_t *,const time_t *__restrict__,tm *,tm *__restrict__) | | __gmtime_r | 2 | tm * | +| (const time_t *,const time_t *__restrict__,tm *,tm *__restrict__) | | __gmtime_r | 3 | tm *__restrict__ | | (const time_t *,tm *) | | OPENSSL_gmtime | 0 | const time_t * | | (const time_t *,tm *) | | OPENSSL_gmtime | 1 | tm * | +| (const time_t *,tm *) | | __localtime_r | 0 | const time_t * | +| (const time_t *,tm *) | | __localtime_r | 1 | tm * | +| (const timeval *,const timezone *) | | __settimeofday | 0 | const timeval * | +| (const timeval *,const timezone *) | | __settimeofday | 1 | const timezone * | +| (const timeval *,timeval *) | | __adjtime | 0 | const timeval * | +| (const timeval *,timeval *) | | __adjtime | 1 | timeval * | +| (const tm *,__locale_data *) | | _nl_get_era_entry | 0 | const tm * | +| (const tm *,__locale_data *) | | _nl_get_era_entry | 1 | __locale_data * | +| (const tm *,char *) | | __asctime_r | 0 | const tm * | +| (const tm *,char *) | | __asctime_r | 1 | char * | | (const u128[16],uint8_t *,const uint8_t *,size_t) | | ossl_polyval_ghash_hash | 0 | const u128[16] | | (const u128[16],uint8_t *,const uint8_t *,size_t) | | ossl_polyval_ghash_hash | 1 | uint8_t * | | (const u128[16],uint8_t *,const uint8_t *,size_t) | | ossl_polyval_ghash_hash | 2 | const uint8_t * | | (const u128[16],uint8_t *,const uint8_t *,size_t) | | ossl_polyval_ghash_hash | 3 | size_t | +| (const u_char *,const unsigned char *) | | ns_get16 | 0 | const u_char * | +| (const u_char *,const unsigned char *) | | ns_get16 | 1 | const unsigned char * | +| (const u_char *,const unsigned char *) | | ns_get32 | 0 | const u_char * | +| (const u_char *,const unsigned char *) | | ns_get32 | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,char *) | | __loc_ntoa | 0 | const u_char * | +| (const u_char *,const unsigned char *,char *) | | __loc_ntoa | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,char *) | | __loc_ntoa | 2 | char * | +| (const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **) | | ns_name_rollback | 0 | const u_char * | +| (const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **) | | ns_name_rollback | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **) | | ns_name_rollback | 2 | const u_char ** | +| (const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **) | | ns_name_rollback | 3 | const unsigned char ** | +| (const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **) | | ns_name_rollback | 4 | const u_char ** | +| (const u_char *,const unsigned char *,const u_char **,const unsigned char **,const u_char **,const unsigned char **) | | ns_name_rollback | 5 | const unsigned char ** | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_cdname | 0 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_cdname | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_cdname | 2 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_cdname | 3 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_cdname | 4 | FILE * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_fqname | 0 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_fqname | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_fqname | 2 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_fqname | 3 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,FILE *) | | __p_fqname | 4 | FILE * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *) | | __p_cdnname | 0 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *) | | __p_cdnname | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *) | | __p_cdnname | 2 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *) | | __p_cdnname | 3 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *) | | __p_cdnname | 4 | int | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,FILE *) | | __p_cdnname | 5 | FILE * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 0 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 2 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 3 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 4 | int | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 5 | char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,int,char *,int) | | __p_fqnname | 6 | int | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 0 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 2 | const u_char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 3 | const unsigned char * | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 4 | ns_sect | +| (const u_char *,const unsigned char *,const u_char *,const unsigned char *,ns_sect,int) | | ns_skiprr | 5 | int | +| (const u_char *,const unsigned char *,int,ns_msg *) | | ns_initparse | 0 | const u_char * | +| (const u_char *,const unsigned char *,int,ns_msg *) | | ns_initparse | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,int,ns_msg *) | | ns_initparse | 2 | int | +| (const u_char *,const unsigned char *,int,ns_msg *) | | ns_initparse | 3 | ns_msg * | +| (const u_char *,const unsigned char *,size_t,char *,size_t) | | __b64_ntop | 0 | const u_char * | +| (const u_char *,const unsigned char *,size_t,char *,size_t) | | __b64_ntop | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,size_t,char *,size_t) | | __b64_ntop | 2 | size_t | +| (const u_char *,const unsigned char *,size_t,char *,size_t) | | __b64_ntop | 3 | char * | +| (const u_char *,const unsigned char *,size_t,char *,size_t) | | __b64_ntop | 4 | size_t | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 0 | const u_char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 2 | size_t | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 3 | const char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 4 | ns_class | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 5 | ns_type | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 6 | u_long | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 7 | unsigned long | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 8 | const u_char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 9 | const unsigned char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 10 | size_t | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 11 | const char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 12 | const char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 13 | char * | +| (const u_char *,const unsigned char *,size_t,const char *,ns_class,ns_type,u_long,unsigned long,const u_char *,const unsigned char *,size_t,const char *,const char *,char *,size_t) | | ns_sprintrrf | 14 | size_t | +| (const u_char *,const unsigned char *,u_char *,unsigned char *,size_t) | | ns_name_ntol | 0 | const u_char * | +| (const u_char *,const unsigned char *,u_char *,unsigned char *,size_t) | | ns_name_ntol | 1 | const unsigned char * | +| (const u_char *,const unsigned char *,u_char *,unsigned char *,size_t) | | ns_name_ntol | 2 | u_char * | +| (const u_char *,const unsigned char *,u_char *,unsigned char *,size_t) | | ns_name_ntol | 3 | unsigned char * | +| (const u_char *,const unsigned char *,u_char *,unsigned char *,size_t) | | ns_name_ntol | 4 | size_t | | (const uint8_t *,SM4_KEY *) | | ossl_sm4_set_key | 0 | const uint8_t * | | (const uint8_t *,SM4_KEY *) | | ossl_sm4_set_key | 1 | SM4_KEY * | | (const uint8_t *,const uint8_t *,uint8_t **,int) | | idn2_register_u8 | 0 | const uint8_t * | @@ -29411,11 +37973,15 @@ getSignatureParameterName | (const unsigned char *) | | Curl_read16_be | 0 | const unsigned char * | | (const unsigned char *) | | Curl_read16_le | 0 | const unsigned char * | | (const unsigned char *) | | Curl_read32_le | 0 | const unsigned char * | +| (const unsigned char *) | | _getlong | 0 | const unsigned char * | +| (const unsigned char *) | | _getshort | 0 | const unsigned char * | | (const unsigned char *) | | _libssh2_ntohu32 | 0 | const unsigned char * | | (const unsigned char *) | | _libssh2_ntohu64 | 0 | const unsigned char * | | (const unsigned char *) | | ossl_quic_vlint_decode_unchecked | 0 | const unsigned char * | | (const unsigned char *) | CStringT | CStringT | 0 | const unsigned char * | | (const unsigned char *) | CStringT | operator= | 0 | const unsigned char * | +| (const unsigned char **,const unsigned char *) | | ___ns_name_skip | 0 | const unsigned char ** | +| (const unsigned char **,const unsigned char *) | | ___ns_name_skip | 1 | const unsigned char * | | (const unsigned char **,long *,int *,int *,long) | | ASN1_get_object | 0 | const unsigned char ** | | (const unsigned char **,long *,int *,int *,long) | | ASN1_get_object | 1 | long * | | (const unsigned char **,long *,int *,int *,long) | | ASN1_get_object | 2 | int * | @@ -29431,6 +37997,8 @@ getSignatureParameterName | (const unsigned char **,long,OSSL_LIB_CTX *,const char *) | | ossl_d2i_X509_PUBKEY_INTERNAL | 1 | long | | (const unsigned char **,long,OSSL_LIB_CTX *,const char *) | | ossl_d2i_X509_PUBKEY_INTERNAL | 2 | OSSL_LIB_CTX * | | (const unsigned char **,long,OSSL_LIB_CTX *,const char *) | | ossl_d2i_X509_PUBKEY_INTERNAL | 3 | const char * | +| (const unsigned char **,printf_info *) | | __handle_registered_modifier_mb | 0 | const unsigned char ** | +| (const unsigned char **,printf_info *) | | __handle_registered_modifier_mb | 1 | printf_info * | | (const unsigned char **,unsigned char *,const unsigned char *,unsigned int) | | nghttp2_select_alpn | 0 | const unsigned char ** | | (const unsigned char **,unsigned char *,const unsigned char *,unsigned int) | | nghttp2_select_alpn | 1 | unsigned char * | | (const unsigned char **,unsigned char *,const unsigned char *,unsigned int) | | nghttp2_select_alpn | 2 | const unsigned char * | @@ -29466,14 +38034,28 @@ getSignatureParameterName | (const unsigned char *,DES_cblock[],long,int,DES_cblock *) | | DES_quad_cksum | 2 | long | | (const unsigned char *,DES_cblock[],long,int,DES_cblock *) | | DES_quad_cksum | 3 | int | | (const unsigned char *,DES_cblock[],long,int,DES_cblock *) | | DES_quad_cksum | 4 | DES_cblock * | +| (const unsigned char *,FILE *) | | __fp_query | 0 | const unsigned char * | +| (const unsigned char *,FILE *) | | __fp_query | 1 | FILE * | | (const unsigned char *,IAtlStringMgr *) | CStringT | CStringT | 0 | const unsigned char * | | (const unsigned char *,IAtlStringMgr *) | CStringT | CStringT | 1 | IAtlStringMgr * | +| (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 0 | const unsigned char * | +| (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 1 | char * | +| (const unsigned char *,char *,size_t) | | ___ns_name_ntop | 2 | size_t | | (const unsigned char *,const int,ARIA_KEY *) | | ossl_aria_set_decrypt_key | 0 | const unsigned char * | | (const unsigned char *,const int,ARIA_KEY *) | | ossl_aria_set_decrypt_key | 1 | const int | | (const unsigned char *,const int,ARIA_KEY *) | | ossl_aria_set_decrypt_key | 2 | ARIA_KEY * | | (const unsigned char *,const int,ARIA_KEY *) | | ossl_aria_set_encrypt_key | 0 | const unsigned char * | | (const unsigned char *,const int,ARIA_KEY *) | | ossl_aria_set_encrypt_key | 1 | const int | | (const unsigned char *,const int,ARIA_KEY *) | | ossl_aria_set_encrypt_key | 2 | ARIA_KEY * | +| (const unsigned char *,const unsigned char *) | | ___dn_skipname | 0 | const unsigned char * | +| (const unsigned char *,const unsigned char *) | | ___dn_skipname | 1 | const unsigned char * | +| (const unsigned char *,const unsigned char *) | | __ns_name_length_uncompressed | 0 | const unsigned char * | +| (const unsigned char *,const unsigned char *) | | __ns_name_length_uncompressed | 1 | const unsigned char * | +| (const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t) | | ___ns_name_unpack | 0 | const unsigned char * | +| (const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t) | | ___ns_name_unpack | 1 | const unsigned char * | +| (const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t) | | ___ns_name_unpack | 2 | const unsigned char * | +| (const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t) | | ___ns_name_unpack | 3 | unsigned char * | +| (const unsigned char *,const unsigned char *,const unsigned char *,unsigned char *,size_t) | | ___ns_name_unpack | 4 | size_t | | (const unsigned char *,hm_header_st *) | | dtls1_get_message_header | 0 | const unsigned char * | | (const unsigned char *,hm_header_st *) | | dtls1_get_message_header | 1 | hm_header_st * | | (const unsigned char *,int) | | Jim_GenHashFunction | 0 | const unsigned char * | @@ -29516,6 +38098,9 @@ getSignatureParameterName | (const unsigned char *,int,EVP_CIPHER *,EVP_CIPHER *,OSSL_LIB_CTX *,const char *) | | ossl_siv128_new | 3 | EVP_CIPHER * | | (const unsigned char *,int,EVP_CIPHER *,EVP_CIPHER *,OSSL_LIB_CTX *,const char *) | | ossl_siv128_new | 4 | OSSL_LIB_CTX * | | (const unsigned char *,int,EVP_CIPHER *,EVP_CIPHER *,OSSL_LIB_CTX *,const char *) | | ossl_siv128_new | 5 | const char * | +| (const unsigned char *,int,FILE *) | | __fp_nquery | 0 | const unsigned char * | +| (const unsigned char *,int,FILE *) | | __fp_nquery | 1 | int | +| (const unsigned char *,int,FILE *) | | __fp_nquery | 2 | FILE * | | (const unsigned char *,int,const BIGNUM *,const BIGNUM *,EC_KEY *) | | ossl_ecdsa_simple_sign_sig | 0 | const unsigned char * | | (const unsigned char *,int,const BIGNUM *,const BIGNUM *,EC_KEY *) | | ossl_ecdsa_simple_sign_sig | 1 | int | | (const unsigned char *,int,const BIGNUM *,const BIGNUM *,EC_KEY *) | | ossl_ecdsa_simple_sign_sig | 2 | const BIGNUM * | @@ -29530,6 +38115,10 @@ getSignatureParameterName | (const unsigned char *,int,const unsigned char *,int,EC_KEY *) | | ossl_sm2_internal_verify | 2 | const unsigned char * | | (const unsigned char *,int,const unsigned char *,int,EC_KEY *) | | ossl_sm2_internal_verify | 3 | int | | (const unsigned char *,int,const unsigned char *,int,EC_KEY *) | | ossl_sm2_internal_verify | 4 | EC_KEY * | +| (const unsigned char *,int,unsigned char *,int) | | ___res_send | 0 | const unsigned char * | +| (const unsigned char *,int,unsigned char *,int) | | ___res_send | 1 | int | +| (const unsigned char *,int,unsigned char *,int) | | ___res_send | 2 | unsigned char * | +| (const unsigned char *,int,unsigned char *,int) | | ___res_send | 3 | int | | (const unsigned char *,int,unsigned char *,unsigned int *,EC_KEY *) | | ossl_sm2_internal_sign | 0 | const unsigned char * | | (const unsigned char *,int,unsigned char *,unsigned int *,EC_KEY *) | | ossl_sm2_internal_sign | 1 | int | | (const unsigned char *,int,unsigned char *,unsigned int *,EC_KEY *) | | ossl_sm2_internal_sign | 2 | unsigned char * | @@ -29556,6 +38145,11 @@ getSignatureParameterName | (const unsigned char *,size_t,QUIC_PN,QUIC_PN *) | | ossl_quic_wire_decode_pkt_hdr_pn | 1 | size_t | | (const unsigned char *,size_t,QUIC_PN,QUIC_PN *) | | ossl_quic_wire_decode_pkt_hdr_pn | 2 | QUIC_PN | | (const unsigned char *,size_t,QUIC_PN,QUIC_PN *) | | ossl_quic_wire_decode_pkt_hdr_pn | 3 | QUIC_PN * | +| (const unsigned char *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specmb | 0 | const unsigned char * | +| (const unsigned char *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specmb | 1 | size_t | +| (const unsigned char *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specmb | 2 | printf_spec * | +| (const unsigned char *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specmb | 3 | size_t * | +| (const unsigned char *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specmb | 4 | bool * | | (const unsigned char *,size_t,size_t *) | | ossl_sm2_plaintext_size | 0 | const unsigned char * | | (const unsigned char *,size_t,size_t *) | | ossl_sm2_plaintext_size | 1 | size_t | | (const unsigned char *,size_t,size_t *) | | ossl_sm2_plaintext_size | 2 | size_t * | @@ -29625,6 +38219,11 @@ getSignatureParameterName | (const unsigned char *,unsigned char *,const SEED_KEY_SCHEDULE *,int) | | SEED_ecb_encrypt | 1 | unsigned char * | | (const unsigned char *,unsigned char *,const SEED_KEY_SCHEDULE *,int) | | SEED_ecb_encrypt | 2 | const SEED_KEY_SCHEDULE * | | (const unsigned char *,unsigned char *,const SEED_KEY_SCHEDULE *,int) | | SEED_ecb_encrypt | 3 | int | +| (const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **) | | ___ns_name_pack | 0 | const unsigned char * | +| (const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **) | | ___ns_name_pack | 1 | unsigned char * | +| (const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **) | | ___ns_name_pack | 2 | int | +| (const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **) | | ___ns_name_pack | 3 | const unsigned char ** | +| (const unsigned char *,unsigned char *,int,const unsigned char **,const unsigned char **) | | ___ns_name_pack | 4 | const unsigned char ** | | (const unsigned char *,unsigned char *,int,long,DES_key_schedule *,DES_cblock *) | | DES_ofb_encrypt | 0 | const unsigned char * | | (const unsigned char *,unsigned char *,int,long,DES_key_schedule *,DES_cblock *) | | DES_ofb_encrypt | 1 | unsigned char * | | (const unsigned char *,unsigned char *,int,long,DES_key_schedule *,DES_cblock *) | | DES_ofb_encrypt | 2 | int | @@ -29981,6 +38580,32 @@ getSignatureParameterName | (const unsigned char[16],unsigned char[16],const SEED_KEY_SCHEDULE *) | | SEED_encrypt | 0 | const unsigned char[16] | | (const unsigned char[16],unsigned char[16],const SEED_KEY_SCHEDULE *) | | SEED_encrypt | 1 | unsigned char[16] | | (const unsigned char[16],unsigned char[16],const SEED_KEY_SCHEDULE *) | | SEED_encrypt | 2 | const SEED_KEY_SCHEDULE * | +| (const unsigned int *) | | __find_specwc | 0 | const unsigned int * | +| (const unsigned int **,printf_info *) | | __handle_registered_modifier_wc | 0 | const unsigned int ** | +| (const unsigned int **,printf_info *) | | __handle_registered_modifier_wc | 1 | printf_info * | +| (const unsigned int *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specwc | 0 | const unsigned int * | +| (const unsigned int *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specwc | 1 | size_t | +| (const unsigned int *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specwc | 2 | printf_spec * | +| (const unsigned int *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specwc | 3 | size_t * | +| (const unsigned int *,size_t,printf_spec *,size_t *,bool *) | | __parse_one_specwc | 4 | bool * | +| (const utmp *) | | __libc_pututline | 0 | const utmp * | +| (const utmp *) | | __login | 0 | const utmp * | +| (const utmp *) | | __pututline | 0 | const utmp * | +| (const utmp *,utmp *,utmp **) | | __getutid_r | 0 | const utmp * | +| (const utmp *,utmp *,utmp **) | | __getutid_r | 1 | utmp * | +| (const utmp *,utmp *,utmp **) | | __getutid_r | 2 | utmp ** | +| (const utmp *,utmp *,utmp **) | | __getutline_r | 0 | const utmp * | +| (const utmp *,utmp *,utmp **) | | __getutline_r | 1 | utmp * | +| (const utmp *,utmp *,utmp **) | | __getutline_r | 2 | utmp ** | +| (const utmp *,utmp *,utmp **) | | __libc_getutid_r | 0 | const utmp * | +| (const utmp *,utmp *,utmp **) | | __libc_getutid_r | 1 | utmp * | +| (const utmp *,utmp *,utmp **) | | __libc_getutid_r | 2 | utmp ** | +| (const utmp *,utmp *,utmp **) | | __libc_getutline_r | 0 | const utmp * | +| (const utmp *,utmp *,utmp **) | | __libc_getutline_r | 1 | utmp * | +| (const utmp *,utmp *,utmp **) | | __libc_getutline_r | 2 | utmp ** | +| (const utmpx *) | | pututxline | 0 | const utmpx * | +| (const utmpx *,utmp *) | | getutmp | 0 | const utmpx * | +| (const utmpx *,utmp *) | | getutmp | 1 | utmp * | | (const uv__io_t *,unsigned int) | | uv__io_active | 0 | const uv__io_t * | | (const uv__io_t *,unsigned int) | | uv__io_active | 1 | unsigned int | | (const uv__statx *,uv_stat_t *) | | uv__statx_to_stat | 0 | const uv__statx * | @@ -30039,8 +38664,36 @@ getSignatureParameterName | (const vector &) | vector | vector | 0 | const vector & | | (const vector &,const Allocator &) | vector | vector | 0 | const vector & | | (const vector &,const Allocator &) | vector | vector | 1 | const class:1 & | +| (const void *) | | inet6_rth_segments | 0 | const void * | +| (const void *,..(*)(..),void *) | | __twalk_r | 0 | const void * | +| (const void *,..(*)(..),void *) | | __twalk_r | 1 | ..(*)(..) | +| (const void *,..(*)(..),void *) | | __twalk_r | 2 | void * | +| (const void *,VISIT,void *) | | add_key | 0 | const void * | +| (const void *,VISIT,void *) | | add_key | 1 | VISIT | +| (const void *,VISIT,void *) | | add_key | 2 | void * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 0 | const void * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 1 | __socklen_t | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 2 | socklen_t | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 3 | int | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 4 | hostent * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 5 | char * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 6 | size_t | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 7 | int * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_files_gethostbyaddr_r | 8 | int * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 0 | const void * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 1 | __socklen_t | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 2 | socklen_t | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 3 | int | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 4 | hostent * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 5 | char * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 6 | size_t | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 7 | int * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 8 | int * | +| (const void *,__socklen_t,socklen_t,int,hostent *,char *,size_t,int *,int *,int32_t *) | | _nss_dns_gethostbyaddr2_r | 9 | int32_t * | | (const void *,const void *) | | Symbolcmpp | 0 | const void * | | (const void *,const void *) | | Symbolcmpp | 1 | const void * | +| (const void *,const void *) | | __gconv_alias_compare | 0 | const void * | +| (const void *,const void *) | | __gconv_alias_compare | 1 | const void * | | (const void *,const void *,int) | | ossl_is_partially_overlapping | 0 | const void * | | (const void *,const void *,int) | | ossl_is_partially_overlapping | 1 | const void * | | (const void *,const void *,int) | | ossl_is_partially_overlapping | 2 | int | @@ -30061,15 +38714,90 @@ getSignatureParameterName | (const void *,const void *,int,int,..(*)(..),int) | | ossl_bsearch | 3 | int | | (const void *,const void *,int,int,..(*)(..),int) | | ossl_bsearch | 4 | ..(*)(..) | | (const void *,const void *,int,int,..(*)(..),int) | | ossl_bsearch | 5 | int | +| (const void *,const void *,size_t *,size_t,__compar_fn_t) | | lfind | 0 | const void * | +| (const void *,const void *,size_t *,size_t,__compar_fn_t) | | lfind | 1 | const void * | +| (const void *,const void *,size_t *,size_t,__compar_fn_t) | | lfind | 2 | size_t * | +| (const void *,const void *,size_t *,size_t,__compar_fn_t) | | lfind | 3 | size_t | +| (const void *,const void *,size_t *,size_t,__compar_fn_t) | | lfind | 4 | __compar_fn_t | | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 0 | const void * | | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 1 | const void * | | (const void *,const void *,size_t) | | chachapoly_timingsafe_bcmp | 2 | size_t | +| (const void *,const void *,size_t,size_t,__compar_fn_t) | | bsearch | 0 | const void * | +| (const void *,const void *,size_t,size_t,__compar_fn_t) | | bsearch | 1 | const void * | +| (const void *,const void *,size_t,size_t,__compar_fn_t) | | bsearch | 2 | size_t | +| (const void *,const void *,size_t,size_t,__compar_fn_t) | | bsearch | 3 | size_t | +| (const void *,const void *,size_t,size_t,__compar_fn_t) | | bsearch | 4 | __compar_fn_t | +| (const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | fwrite_unlocked | 0 | const void * | +| (const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | fwrite_unlocked | 1 | const void *__restrict__ | +| (const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | fwrite_unlocked | 2 | size_t | +| (const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | fwrite_unlocked | 3 | size_t | +| (const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | fwrite_unlocked | 4 | FILE * | +| (const void *,const void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | fwrite_unlocked | 5 | FILE *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 0 | const void * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 1 | const void *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 2 | socklen_t | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 3 | int | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 4 | hostent * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 5 | hostent *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 6 | char * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 7 | char *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 8 | size_t | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 9 | hostent ** | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 10 | hostent **__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 11 | int * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostbyaddr_r | 12 | int *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 0 | const void * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 1 | const void *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 2 | socklen_t | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 3 | int | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 4 | hostent * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 5 | hostent *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 6 | char * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 7 | char *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 8 | size_t | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 9 | hostent ** | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 10 | hostent **__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 11 | int * | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 12 | int *__restrict__ | +| (const void *,const void *__restrict__,socklen_t,int,hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__,int32_t *) | | __gethostbyaddr2_r | 13 | int32_t * | +| (const void *,int) | | inet6_rth_getaddr | 0 | const void * | +| (const void *,int) | | inet6_rth_getaddr | 1 | int | | (const void *,size_t) | | Curl_memdup | 0 | const void * | | (const void *,size_t) | | Curl_memdup | 1 | size_t | +| (const void *,size_t) | | __nis_hash | 0 | const void * | +| (const void *,size_t) | | __nis_hash | 1 | size_t | +| (const void *,size_t) | | __nss_hash | 0 | const void * | +| (const void *,size_t) | | __nss_hash | 1 | size_t | +| (const void *,size_t) | | compute_hashval | 0 | const void * | +| (const void *,size_t) | | compute_hashval | 1 | size_t | | (const void *,size_t,const char *,int) | | CRYPTO_memdup | 0 | const void * | | (const void *,size_t,const char *,int) | | CRYPTO_memdup | 1 | size_t | | (const void *,size_t,const char *,int) | | CRYPTO_memdup | 2 | const char * | | (const void *,size_t,const char *,int) | | CRYPTO_memdup | 3 | int | +| (const void *,size_t,const void *,size_t) | | __memmem | 0 | const void * | +| (const void *,size_t,const void *,size_t) | | __memmem | 1 | size_t | +| (const void *,size_t,const void *,size_t) | | __memmem | 2 | const void * | +| (const void *,size_t,const void *,size_t) | | __memmem | 3 | size_t | +| (const void *,size_t,md5_ctx *) | | __md5_process_block | 0 | const void * | +| (const void *,size_t,md5_ctx *) | | __md5_process_block | 1 | size_t | +| (const void *,size_t,md5_ctx *) | | __md5_process_block | 2 | md5_ctx * | +| (const void *,size_t,md5_ctx *) | | __md5_process_bytes | 0 | const void * | +| (const void *,size_t,md5_ctx *) | | __md5_process_bytes | 1 | size_t | +| (const void *,size_t,md5_ctx *) | | __md5_process_bytes | 2 | md5_ctx * | +| (const void *,size_t,size_t) | | support_blob_repeat_allocate | 0 | const void * | +| (const void *,size_t,size_t) | | support_blob_repeat_allocate | 1 | size_t | +| (const void *,size_t,size_t) | | support_blob_repeat_allocate | 2 | size_t | +| (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 0 | const void * | +| (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 1 | size_t | +| (const void *,size_t,size_t) | | support_blob_repeat_allocate_shared | 2 | size_t | +| (const void *,size_t,size_t,FILE *) | | _IO_fwrite | 0 | const void * | +| (const void *,size_t,size_t,FILE *) | | _IO_fwrite | 1 | size_t | +| (const void *,size_t,size_t,FILE *) | | _IO_fwrite | 2 | size_t | +| (const void *,size_t,size_t,FILE *) | | _IO_fwrite | 3 | FILE * | +| (const void *,size_t,size_t,bool) | | repeat_allocate | 0 | const void * | +| (const void *,size_t,size_t,bool) | | repeat_allocate | 1 | size_t | +| (const void *,size_t,size_t,bool) | | repeat_allocate | 2 | size_t | +| (const void *,size_t,size_t,bool) | | repeat_allocate | 3 | bool | | (const void *,size_t,unsigned char *) | | WHIRLPOOL | 0 | const void * | | (const void *,size_t,unsigned char *) | | WHIRLPOOL | 1 | size_t | | (const void *,size_t,unsigned char *) | | WHIRLPOOL | 2 | unsigned char * | @@ -30077,8 +38805,248 @@ getSignatureParameterName | (const void *,size_t,unsigned char **,size_t *) | | ossl_prov_memdup | 1 | size_t | | (const void *,size_t,unsigned char **,size_t *) | | ossl_prov_memdup | 2 | unsigned char ** | | (const void *,size_t,unsigned char **,size_t *) | | ossl_prov_memdup | 3 | size_t * | +| (const void *,socklen_t,int) | | res_gethostbyaddr | 0 | const void * | +| (const void *,socklen_t,int) | | res_gethostbyaddr | 1 | socklen_t | +| (const void *,socklen_t,int) | | res_gethostbyaddr | 2 | int | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 0 | const void * | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 1 | socklen_t | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 2 | int | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 3 | hostent * | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 4 | char * | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 5 | size_t | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 6 | hostent ** | +| (const void *,socklen_t,int,hostent *,char *,size_t,hostent **,int *) | | __nscd_gethostbyaddr_r | 7 | int * | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 0 | const void * | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 1 | socklen_t | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 2 | int | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 3 | hostent * | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 4 | char * | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 5 | size_t | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 6 | int * | +| (const void *,socklen_t,int,hostent *,char *,size_t,int *,int *) | | _nss_dns_gethostbyaddr_r | 7 | int * | | (const void *,sqlite3 **) | | sqlite3_open16 | 0 | const void * | | (const void *,sqlite3 **) | | sqlite3_open16 | 1 | sqlite3 ** | +| (const void *,unsigned char **,size_t *) | | xget_sigstack_location | 0 | const void * | +| (const void *,unsigned char **,size_t *) | | xget_sigstack_location | 1 | unsigned char ** | +| (const void *,unsigned char **,size_t *) | | xget_sigstack_location | 2 | size_t * | +| (const void *,void *) | | inet6_rth_reverse | 0 | const void * | +| (const void *,void *) | | inet6_rth_reverse | 1 | void * | +| (const void *,void **,__compar_fn_t) | | __tdelete | 0 | const void * | +| (const void *,void **,__compar_fn_t) | | __tdelete | 1 | void ** | +| (const void *,void **,__compar_fn_t) | | __tdelete | 2 | __compar_fn_t | +| (const void *,void **,__compar_fn_t) | | __tsearch | 0 | const void * | +| (const void *,void **,__compar_fn_t) | | __tsearch | 1 | void ** | +| (const void *,void **,__compar_fn_t) | | __tsearch | 2 | __compar_fn_t | +| (const void *,void *,size_t *,size_t,__compar_fn_t) | | lsearch | 0 | const void * | +| (const void *,void *,size_t *,size_t,__compar_fn_t) | | lsearch | 1 | void * | +| (const void *,void *,size_t *,size_t,__compar_fn_t) | | lsearch | 2 | size_t * | +| (const void *,void *,size_t *,size_t,__compar_fn_t) | | lsearch | 3 | size_t | +| (const void *,void *,size_t *,size_t,__compar_fn_t) | | lsearch | 4 | __compar_fn_t | +| (const void *,void *const *,__compar_fn_t) | | __tfind | 0 | const void * | +| (const void *,void *const *,__compar_fn_t) | | __tfind | 1 | void *const * | +| (const void *,void *const *,__compar_fn_t) | | __tfind | 2 | __compar_fn_t | +| (const wchar_t *,__gnuc_va_list) | | __vwprintf | 0 | const wchar_t * | +| (const wchar_t *,__gnuc_va_list) | | __vwprintf | 1 | __gnuc_va_list | +| (const wchar_t *,const wchar_t *) | | __wcscoll | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *) | | __wcscoll | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *) | | wcspbrk | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *) | | wcspbrk | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *) | | wcsstr | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *) | | wcsstr | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *,locale_t) | | __wcscasecmp_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *,locale_t) | | __wcscasecmp_l | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *,locale_t) | | __wcscasecmp_l | 2 | locale_t | +| (const wchar_t *,const wchar_t *,locale_t) | | __wcscoll_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *,locale_t) | | __wcscoll_l | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *,locale_t) | | __wcscoll_l | 2 | locale_t | +| (const wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsncasecmp_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsncasecmp_l | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsncasecmp_l | 2 | size_t | +| (const wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsncasecmp_l | 3 | locale_t | +| (const wchar_t *,const wchar_t *,va_list) | | __vswscanf | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *,va_list) | | __vswscanf | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *,va_list) | | __vswscanf | 2 | va_list | +| (const wchar_t *,const wchar_t *,wchar_t,const char *) | | __correctly_grouped_prefixwc | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *,wchar_t,const char *) | | __correctly_grouped_prefixwc | 1 | const wchar_t * | +| (const wchar_t *,const wchar_t *,wchar_t,const char *) | | __correctly_grouped_prefixwc | 2 | wchar_t | +| (const wchar_t *,const wchar_t *,wchar_t,const char *) | | __correctly_grouped_prefixwc | 3 | const char * | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vwscanf | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vwscanf | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vwscanf | 2 | __gnuc_va_list | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vwscanf | 3 | va_list | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vwscanf | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vwscanf | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vwscanf | 2 | __gnuc_va_list | +| (const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vwscanf | 3 | va_list | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vswscanf | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vswscanf | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vswscanf | 2 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vswscanf | 3 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vswscanf | 4 | __gnuc_va_list | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc23_vswscanf | 5 | va_list | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vswscanf | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vswscanf | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vswscanf | 2 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vswscanf | 3 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vswscanf | 4 | __gnuc_va_list | +| (const wchar_t *,const wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __isoc99_vswscanf | 5 | va_list | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstod | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstod | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstod | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstod | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof128 | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof128 | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof128 | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstof128 | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstold | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstold | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstold | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__) | | wcstold | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstol | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstol | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstol | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstol | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstol | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstoul | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstoul | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstoul | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstoul | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __isoc23_wcstoul | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstod_internal | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstod_internal | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstod_internal | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstod_internal | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstod_internal | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof128_internal | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof128_internal | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof128_internal | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof128_internal | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof128_internal | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof_internal | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof_internal | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof_internal | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof_internal | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstof_internal | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstold_internal | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstold_internal | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstold_internal | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstold_internal | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int) | | __wcstold_internal | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstol_internal | 5 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,int) | | __wcstoul_internal | 5 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstol_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstol_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstol_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstol_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstol_l | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstol_l | 5 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstoul_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstoul_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstoul_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstoul_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstoul_l | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __isoc23_wcstoul_l | 5 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstol_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstol_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstol_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstol_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstol_l | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstol_l | 5 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstoul_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstoul_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstoul_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstoul_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstoul_l | 4 | int | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,int,locale_t) | | __wcstoul_l | 5 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstod_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstod_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstod_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstod_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstod_l | 4 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof128_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof128_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof128_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof128_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof128_l | 4 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstof_l | 4 | locale_t | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstold_l | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstold_l | 1 | const wchar_t *__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstold_l | 2 | wchar_t ** | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstold_l | 3 | wchar_t **__restrict__ | +| (const wchar_t *,const wchar_t *__restrict__,wchar_t **,wchar_t **__restrict__,locale_t) | | __wcstold_l | 4 | locale_t | +| (const wchar_t *,const wchar_t,wchar_t) | | __wcschrnul | 0 | const wchar_t * | +| (const wchar_t *,const wchar_t,wchar_t) | | __wcschrnul | 1 | const wchar_t | +| (const wchar_t *,const wchar_t,wchar_t) | | __wcschrnul | 2 | wchar_t | +| (const wchar_t *,size_t) | | __wcsnlen_generic | 0 | const wchar_t * | +| (const wchar_t *,size_t) | | __wcsnlen_generic | 1 | size_t | +| (const wchar_t *,size_t) | | wcswidth | 0 | const wchar_t * | +| (const wchar_t *,size_t) | | wcswidth | 1 | size_t | +| (const wchar_t *,va_list) | | __vwscanf | 0 | const wchar_t * | +| (const wchar_t *,va_list) | | __vwscanf | 1 | va_list | +| (const wchar_t *,wchar_t **,int) | | __wcstol | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int) | | __wcstol | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int) | | __wcstol | 2 | int | +| (const wchar_t *,wchar_t **,int) | | __wcstoul | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int) | | __wcstoul | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int) | | __wcstoul | 2 | int | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstol_l_internal | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstol_l_internal | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstol_l_internal | 2 | int | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstol_l_internal | 3 | int | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstol_l_internal | 4 | bool | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstol_l_internal | 5 | locale_t | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstoul_l_internal | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstoul_l_internal | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstoul_l_internal | 2 | int | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstoul_l_internal | 3 | int | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstoul_l_internal | 4 | bool | +| (const wchar_t *,wchar_t **,int,int,bool,locale_t) | | ____wcstoul_l_internal | 5 | locale_t | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstod_l_internal | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstod_l_internal | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstod_l_internal | 2 | int | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstod_l_internal | 3 | locale_t | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof128_l_internal | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof128_l_internal | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof128_l_internal | 2 | int | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof128_l_internal | 3 | locale_t | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof_l_internal | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof_l_internal | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof_l_internal | 2 | int | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstof_l_internal | 3 | locale_t | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstold_l_internal | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstold_l_internal | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstold_l_internal | 2 | int | +| (const wchar_t *,wchar_t **,int,locale_t) | | ____wcstold_l_internal | 3 | locale_t | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstod_nan | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstod_nan | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstod_nan | 2 | wchar_t | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstof128_nan | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstof128_nan | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstof128_nan | 2 | wchar_t | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstof_nan | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstof_nan | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstof_nan | 2 | wchar_t | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstold_nan | 0 | const wchar_t * | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstold_nan | 1 | wchar_t ** | +| (const wchar_t *,wchar_t **,wchar_t) | | __wcstold_nan | 2 | wchar_t | | (const_DES_cblock *) | | DES_check_key_parity | 0 | const_DES_cblock * | | (const_iterator,InputIt,InputIt) | deque | insert | 0 | const_iterator | | (const_iterator,InputIt,InputIt) | deque | insert | 1 | func:0 | @@ -30120,6 +39088,32 @@ getSignatureParameterName | (const_iterator,size_type,const T &) | vector | insert | 0 | const_iterator | | (const_iterator,size_type,const T &) | vector | insert | 1 | size_type | | (const_iterator,size_type,const T &) | vector | insert | 2 | const class:0 & | +| (const_nis_name) | | __nis_domain_of | 0 | const_nis_name | +| (const_nis_name) | | nis_domain_of | 0 | const_nis_name | +| (const_nis_name) | | nis_getnames | 0 | const_nis_name | +| (const_nis_name,char *,size_t) | | nis_domain_of_r | 0 | const_nis_name | +| (const_nis_name,char *,size_t) | | nis_domain_of_r | 1 | char * | +| (const_nis_name,char *,size_t) | | nis_domain_of_r | 2 | size_t | +| (const_nis_name,char *,size_t) | | nis_leaf_of_r | 0 | const_nis_name | +| (const_nis_name,char *,size_t) | | nis_leaf_of_r | 1 | char * | +| (const_nis_name,char *,size_t) | | nis_leaf_of_r | 2 | size_t | +| (const_nis_name,char *,size_t) | | nis_name_of_r | 0 | const_nis_name | +| (const_nis_name,char *,size_t) | | nis_name_of_r | 1 | char * | +| (const_nis_name,char *,size_t) | | nis_name_of_r | 2 | size_t | +| (const_nis_name,const unsigned int,unsigned int) | | nis_lookup | 0 | const_nis_name | +| (const_nis_name,const unsigned int,unsigned int) | | nis_lookup | 1 | const unsigned int | +| (const_nis_name,const unsigned int,unsigned int) | | nis_lookup | 2 | unsigned int | +| (const_nis_name,directory_obj **,dir_binding *,unsigned int) | | __prepare_niscall | 0 | const_nis_name | +| (const_nis_name,directory_obj **,dir_binding *,unsigned int) | | __prepare_niscall | 1 | directory_obj ** | +| (const_nis_name,directory_obj **,dir_binding *,unsigned int) | | __prepare_niscall | 2 | dir_binding * | +| (const_nis_name,directory_obj **,dir_binding *,unsigned int) | | __prepare_niscall | 3 | unsigned int | +| (const_nis_name,int,directory_obj **,dir_binding *,unsigned int) | | __nisfind_server | 0 | const_nis_name | +| (const_nis_name,int,directory_obj **,dir_binding *,unsigned int) | | __nisfind_server | 1 | int | +| (const_nis_name,int,directory_obj **,dir_binding *,unsigned int) | | __nisfind_server | 2 | directory_obj ** | +| (const_nis_name,int,directory_obj **,dir_binding *,unsigned int) | | __nisfind_server | 3 | dir_binding * | +| (const_nis_name,int,directory_obj **,dir_binding *,unsigned int) | | __nisfind_server | 4 | unsigned int | +| (const_nis_name,unsigned int) | | __create_ib_request | 0 | const_nis_name | +| (const_nis_name,unsigned int) | | __create_ib_request | 1 | unsigned int | | (cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t) | | Curl_cpool_init | 0 | cpool * | | (cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t) | | Curl_cpool_init | 1 | Curl_cpool_disconnect_cb * | | (cpool *,Curl_cpool_disconnect_cb *,Curl_multi *,Curl_share *,size_t) | | Curl_cpool_init | 2 | Curl_multi * | @@ -30234,6 +39228,130 @@ getSignatureParameterName | (d2i_of_void *,const char *,FILE *,void **,pem_password_cb *,void *) | | PEM_ASN1_read | 3 | void ** | | (d2i_of_void *,const char *,FILE *,void **,pem_password_cb *,void *) | | PEM_ASN1_read | 4 | pem_password_cb * | | (d2i_of_void *,const char *,FILE *,void **,pem_password_cb *,void *) | | PEM_ASN1_read | 5 | void * | +| (database_dyn *) | | gc | 0 | database_dyn * | +| (database_dyn *) | | setup_thread | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdgetnetgrent | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdgetnetgrent | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdgetnetgrent | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdgrbygid | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdgrbygid | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdgrbygid | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdgrbyname | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdgrbyname | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdgrbyname | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdhstai | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdhstai | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdhstai | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyaddr | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyaddr | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyaddr | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyaddrv6 | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyaddrv6 | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyaddrv6 | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyname | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyname | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbyname | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbynamev6 | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbynamev6 | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdhstbynamev6 | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdinitgroups | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdinitgroups | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdinitgroups | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdinnetgr | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdinnetgr | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdinnetgr | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdpwbyname | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdpwbyname | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdpwbyname | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdpwbyuid | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdpwbyuid | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdpwbyuid | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdservbyname | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdservbyname | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdservbyname | 2 | datahead * | +| (database_dyn *,hashentry *,datahead *) | | readdservbyport | 0 | database_dyn * | +| (database_dyn *,hashentry *,datahead *) | | readdservbyport | 1 | hashentry * | +| (database_dyn *,hashentry *,datahead *) | | readdservbyport | 2 | datahead * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgetnetgrent | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgetnetgrent | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgetnetgrent | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgetnetgrent | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgetnetgrent | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbygid | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbygid | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbygid | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbygid | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbygid | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbyname | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbyname | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbyname | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbyname | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addgrbyname | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstai | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstai | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstai | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstai | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstai | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddr | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddr | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddr | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddr | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddr | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddrv6 | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddrv6 | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddrv6 | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddrv6 | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyaddrv6 | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyname | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyname | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyname | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyname | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbyname | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbynamev6 | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbynamev6 | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbynamev6 | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbynamev6 | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addhstbynamev6 | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinitgroups | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinitgroups | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinitgroups | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinitgroups | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinitgroups | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinnetgr | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinnetgr | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinnetgr | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinnetgr | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addinnetgr | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyname | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyname | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyname | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyname | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyname | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyuid | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyuid | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyuid | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyuid | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addpwbyuid | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyname | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyname | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyname | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyname | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyname | 4 | uid_t | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyport | 0 | database_dyn * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyport | 1 | int | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyport | 2 | request_header * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyport | 3 | void * | +| (database_dyn *,int,request_header *,void *,uid_t) | | addservbyport | 4 | uid_t | +| (database_dyn *,size_t,int) | | mempool_alloc | 0 | database_dyn * | +| (database_dyn *,size_t,int) | | mempool_alloc | 1 | size_t | +| (database_dyn *,size_t,int) | | mempool_alloc | 2 | int | +| (database_dyn *,time_t,int) | | prune_cache | 0 | database_dyn * | +| (database_dyn *,time_t,int) | | prune_cache | 1 | time_t | +| (database_dyn *,time_t,int) | | prune_cache | 2 | int | +| (deadline_current_time,deadline) | | __deadline_to_ms | 0 | deadline_current_time | +| (deadline_current_time,deadline) | | __deadline_to_ms | 1 | deadline | +| (deadline_current_time,timeval) | | __deadline_from_timeval | 0 | deadline_current_time | +| (deadline_current_time,timeval) | | __deadline_from_timeval | 1 | timeval | | (deflate_state *,charf *,ulg,int) | | _tr_flush_block | 0 | deflate_state * | | (deflate_state *,charf *,ulg,int) | | _tr_flush_block | 1 | charf * | | (deflate_state *,charf *,ulg,int) | | _tr_flush_block | 2 | ulg | @@ -30248,6 +39366,340 @@ getSignatureParameterName | (deque &&) | deque | deque | 0 | deque && | | (deque &&,const Allocator &) | deque | deque | 0 | deque && | | (deque &&,const Allocator &) | deque | deque | 1 | const class:1 & | +| (dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int) | | __nisbind_create | 0 | dir_binding * | +| (dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int) | | __nisbind_create | 1 | const nis_server * | +| (dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int) | | __nisbind_create | 2 | unsigned int | +| (dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int) | | __nisbind_create | 3 | unsigned int | +| (dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int) | | __nisbind_create | 4 | unsigned int | +| (dir_binding *,const nis_server *,unsigned int,unsigned int,unsigned int,unsigned int) | | __nisbind_create | 5 | unsigned int | +| (dir_binding *,netobj *,nis_cb *) | | __nis_do_callback | 0 | dir_binding * | +| (dir_binding *,netobj *,nis_cb *) | | __nis_do_callback | 1 | netobj * | +| (dir_binding *,netobj *,nis_cb *) | | __nis_do_callback | 2 | nis_cb * | +| (dl_exception *,..(*)(..),void *) | | _dl_catch_exception | 0 | dl_exception * | +| (dl_exception *,..(*)(..),void *) | | _dl_catch_exception | 1 | ..(*)(..) | +| (dl_exception *,..(*)(..),void *) | | _dl_catch_exception | 2 | void * | +| (dl_exception *,const char *,const char *) | | _dl_exception_create | 0 | dl_exception * | +| (dl_exception *,const char *,const char *) | | _dl_exception_create | 1 | const char * | +| (dl_exception *,const char *,const char *) | | _dl_exception_create | 2 | const char * | +| (dl_find_object_internal *,size_t) | | _dlfo_sort_mappings | 0 | dl_find_object_internal * | +| (dl_find_object_internal *,size_t) | | _dlfo_sort_mappings | 1 | size_t | +| (double *,const double *) | | __canonicalize | 0 | double * | +| (double *,const double *) | | __canonicalize | 1 | const double * | +| (double *,double *,int,int,int,const int32_t *) | | __kernel_rem_pio2 | 0 | double * | +| (double *,double *,int,int,int,const int32_t *) | | __kernel_rem_pio2 | 1 | double * | +| (double *,double *,int,int,int,const int32_t *) | | __kernel_rem_pio2 | 2 | int | +| (double *,double *,int,int,int,const int32_t *) | | __kernel_rem_pio2 | 3 | int | +| (double *,double *,int,int,int,const int32_t *) | | __kernel_rem_pio2 | 4 | int | +| (double *,double *,int,int,int,const int32_t *) | | __kernel_rem_pio2 | 5 | const int32_t * | +| (double *,double) | | __setpayload | 0 | double * | +| (double *,double) | | __setpayload | 1 | double | +| (double *,double) | | __setpayloadsig | 0 | double * | +| (double *,double) | | __setpayloadsig | 1 | double | +| (double) | | __acos | 0 | double | +| (double) | | __acosh | 0 | double | +| (double) | | __acospi | 0 | double | +| (double) | | __asin | 0 | double | +| (double) | | __asinh | 0 | double | +| (double) | | __asinpi | 0 | double | +| (double) | | __atan_avx | 0 | double | +| (double) | | __atan_fma | 0 | double | +| (double) | | __atan_fma4 | 0 | double | +| (double) | | __atan_sse2 | 0 | double | +| (double) | | __atanh | 0 | double | +| (double) | | __cbrt | 0 | double | +| (double) | | __ceil_c | 0 | double | +| (double) | | __cos_avx | 0 | double | +| (double) | | __cos_fma | 0 | double | +| (double) | | __cos_fma4 | 0 | double | +| (double) | | __cos_sse2 | 0 | double | +| (double) | | __cosh | 0 | double | +| (double) | | __erf | 0 | double | +| (double) | | __erfc | 0 | double | +| (double) | | __exp2 | 0 | double | +| (double) | | __exp2_compat | 0 | double | +| (double) | | __exp10 | 0 | double | +| (double) | | __exp10_compat | 0 | double | +| (double) | | __exp_compat | 0 | double | +| (double) | | __expm1_fma | 0 | double | +| (double) | | __expm1_sse2 | 0 | double | +| (double) | | __finite | 0 | double | +| (double) | | __floor_c | 0 | double | +| (double) | | __ieee754_acos_fma | 0 | double | +| (double) | | __ieee754_acos_fma4 | 0 | double | +| (double) | | __ieee754_acos_sse2 | 0 | double | +| (double) | | __ieee754_acosh | 0 | double | +| (double) | | __ieee754_asin_fma | 0 | double | +| (double) | | __ieee754_asin_fma4 | 0 | double | +| (double) | | __ieee754_asin_sse2 | 0 | double | +| (double) | | __ieee754_atanh_fma | 0 | double | +| (double) | | __ieee754_atanh_sse2 | 0 | double | +| (double) | | __ieee754_cosh | 0 | double | +| (double) | | __ieee754_exp_avx | 0 | double | +| (double) | | __ieee754_exp_fma | 0 | double | +| (double) | | __ieee754_exp_fma4 | 0 | double | +| (double) | | __ieee754_exp_sse2 | 0 | double | +| (double) | | __ieee754_j0 | 0 | double | +| (double) | | __ieee754_j1 | 0 | double | +| (double) | | __ieee754_log10 | 0 | double | +| (double) | | __ieee754_log_avx | 0 | double | +| (double) | | __ieee754_log_fma | 0 | double | +| (double) | | __ieee754_log_fma4 | 0 | double | +| (double) | | __ieee754_log_sse2 | 0 | double | +| (double) | | __ieee754_sinh_fma | 0 | double | +| (double) | | __ieee754_sinh_sse2 | 0 | double | +| (double) | | __ieee754_y0 | 0 | double | +| (double) | | __ieee754_y1 | 0 | double | +| (double) | | __ilogb | 0 | double | +| (double) | | __isinf | 0 | double | +| (double) | | __isnan | 0 | double | +| (double) | | __j0 | 0 | double | +| (double) | | __j1 | 0 | double | +| (double) | | __lgamma | 0 | double | +| (double) | | __lgamma_compat | 0 | double | +| (double) | | __llogb | 0 | double | +| (double) | | __llround | 0 | double | +| (double) | | __log1p_fma | 0 | double | +| (double) | | __log1p_sse2 | 0 | double | +| (double) | | __log2_compat | 0 | double | +| (double) | | __log2_fma | 0 | double | +| (double) | | __log2_sse2 | 0 | double | +| (double) | | __log2p1 | 0 | double | +| (double) | | __log10 | 0 | double | +| (double) | | __log10p1 | 0 | double | +| (double) | | __log_compat | 0 | double | +| (double) | | __logb | 0 | double | +| (double) | | __math_check_oflow | 0 | double | +| (double) | | __math_check_uflow | 0 | double | +| (double) | | __math_edom | 0 | double | +| (double) | | __math_invalid | 0 | double | +| (double) | | __nearbyint_c | 0 | double | +| (double) | | __nextdown | 0 | double | +| (double) | | __nextup | 0 | double | +| (double) | | __rint_c | 0 | double | +| (double) | | __round | 0 | double | +| (double) | | __roundeven_c | 0 | double | +| (double) | | __significand | 0 | double | +| (double) | | __sin_avx | 0 | double | +| (double) | | __sin_fma | 0 | double | +| (double) | | __sin_fma4 | 0 | double | +| (double) | | __sin_sse2 | 0 | double | +| (double) | | __sinh | 0 | double | +| (double) | | __sinpi | 0 | double | +| (double) | | __sqrt | 0 | double | +| (double) | | __tan_avx | 0 | double | +| (double) | | __tan_fma | 0 | double | +| (double) | | __tan_fma4 | 0 | double | +| (double) | | __tan_sse2 | 0 | double | +| (double) | | __tanh_fma | 0 | double | +| (double) | | __tanh_sse2 | 0 | double | +| (double) | | __tanpi | 0 | double | +| (double) | | __tgamma | 0 | double | +| (double) | | __trunc_c | 0 | double | +| (double) | | __y0 | 0 | double | +| (double) | | __y1 | 0 | double | +| (double) | | dtotimespec | 0 | double | +| (double,double *) | | __modf | 0 | double | +| (double,double *) | | __modf | 1 | double * | +| (double,double *,double *) | | __branred | 0 | double | +| (double,double *,double *) | | __branred | 1 | double * | +| (double,double *,double *) | | __branred | 2 | double * | +| (double,double *,double *) | | __sincos_avx | 0 | double | +| (double,double *,double *) | | __sincos_avx | 1 | double * | +| (double,double *,double *) | | __sincos_avx | 2 | double * | +| (double,double *,double *) | | __sincos_fma | 0 | double | +| (double,double *,double *) | | __sincos_fma | 1 | double * | +| (double,double *,double *) | | __sincos_fma | 2 | double * | +| (double,double *,double *) | | __sincos_fma4 | 0 | double | +| (double,double *,double *) | | __sincos_fma4 | 1 | double * | +| (double,double *,double *) | | __sincos_fma4 | 2 | double * | +| (double,double *,double *) | | __sincos_sse2 | 0 | double | +| (double,double *,double *) | | __sincos_sse2 | 1 | double * | +| (double,double *,double *) | | __sincos_sse2 | 2 | double * | +| (double,double) | | __atan2 | 0 | double | +| (double,double) | | __atan2 | 1 | double | +| (double,double) | | __fadd | 0 | double | +| (double,double) | | __fadd | 1 | double | +| (double,double) | | __fdim | 0 | double | +| (double,double) | | __fdim | 1 | double | +| (double,double) | | __fdiv | 0 | double | +| (double,double) | | __fdiv | 1 | double | +| (double,double) | | __fmaximum | 0 | double | +| (double,double) | | __fmaximum | 1 | double | +| (double,double) | | __fmaximum_mag | 0 | double | +| (double,double) | | __fmaximum_mag | 1 | double | +| (double,double) | | __fmaximum_mag_num | 0 | double | +| (double,double) | | __fmaximum_mag_num | 1 | double | +| (double,double) | | __fmaximum_num | 0 | double | +| (double,double) | | __fmaximum_num | 1 | double | +| (double,double) | | __fmaxmag | 0 | double | +| (double,double) | | __fmaxmag | 1 | double | +| (double,double) | | __fminimum | 0 | double | +| (double,double) | | __fminimum | 1 | double | +| (double,double) | | __fminimum_mag | 0 | double | +| (double,double) | | __fminimum_mag | 1 | double | +| (double,double) | | __fminimum_mag_num | 0 | double | +| (double,double) | | __fminimum_mag_num | 1 | double | +| (double,double) | | __fminimum_num | 0 | double | +| (double,double) | | __fminimum_num | 1 | double | +| (double,double) | | __fminmag | 0 | double | +| (double,double) | | __fminmag | 1 | double | +| (double,double) | | __fmod | 0 | double | +| (double,double) | | __fmod | 1 | double | +| (double,double) | | __fmod_compat | 0 | double | +| (double,double) | | __fmod_compat | 1 | double | +| (double,double) | | __fmul | 0 | double | +| (double,double) | | __fmul | 1 | double | +| (double,double) | | __fsub | 0 | double | +| (double,double) | | __fsub | 1 | double | +| (double,double) | | __hypot | 0 | double | +| (double,double) | | __hypot | 1 | double | +| (double,double) | | __hypot_compat | 0 | double | +| (double,double) | | __hypot_compat | 1 | double | +| (double,double) | | __ieee754_atan2_avx | 0 | double | +| (double,double) | | __ieee754_atan2_avx | 1 | double | +| (double,double) | | __ieee754_atan2_fma | 0 | double | +| (double,double) | | __ieee754_atan2_fma | 1 | double | +| (double,double) | | __ieee754_atan2_fma4 | 0 | double | +| (double,double) | | __ieee754_atan2_fma4 | 1 | double | +| (double,double) | | __ieee754_atan2_sse2 | 0 | double | +| (double,double) | | __ieee754_atan2_sse2 | 1 | double | +| (double,double) | | __ieee754_pow_fma | 0 | double | +| (double,double) | | __ieee754_pow_fma | 1 | double | +| (double,double) | | __ieee754_pow_fma4 | 0 | double | +| (double,double) | | __ieee754_pow_fma4 | 1 | double | +| (double,double) | | __ieee754_pow_sse2 | 0 | double | +| (double,double) | | __ieee754_pow_sse2 | 1 | double | +| (double,double) | | __ieee754_remainder | 0 | double | +| (double,double) | | __ieee754_remainder | 1 | double | +| (double,double) | | __ieee754_scalb | 0 | double | +| (double,double) | | __ieee754_scalb | 1 | double | +| (double,double) | | __nextafter | 0 | double | +| (double,double) | | __nextafter | 1 | double | +| (double,double) | | __pow_compat | 0 | double | +| (double,double) | | __pow_compat | 1 | double | +| (double,double) | | __powr | 0 | double | +| (double,double) | | __powr | 1 | double | +| (double,double) | | __remainder | 0 | double | +| (double,double) | | __remainder | 1 | double | +| (double,double) | | __scalb | 0 | double | +| (double,double) | | __scalb | 1 | double | +| (double,double) | | __x2y2m1 | 0 | double | +| (double,double) | | __x2y2m1 | 1 | double | +| (double,double,double) | | __ffma | 0 | double | +| (double,double,double) | | __ffma | 1 | double | +| (double,double,double) | | __ffma | 2 | double | +| (double,double,double) | | __fma_sse2 | 0 | double | +| (double,double,double) | | __fma_sse2 | 1 | double | +| (double,double,double) | | __fma_sse2 | 2 | double | +| (double,double,double,int) | | __lgamma_product | 0 | double | +| (double,double,double,int) | | __lgamma_product | 1 | double | +| (double,double,double,int) | | __lgamma_product | 2 | double | +| (double,double,double,int) | | __lgamma_product | 3 | int | +| (double,double,int *) | | __remquo | 0 | double | +| (double,double,int *) | | __remquo | 1 | double | +| (double,double,int *) | | __remquo | 2 | int * | +| (double,double,int) | | __kernel_standard | 0 | double | +| (double,double,int) | | __kernel_standard | 1 | double | +| (double,double,int) | | __kernel_standard | 2 | int | +| (double,double,int,double *) | | __gamma_product | 0 | double | +| (double,double,int,double *) | | __gamma_product | 1 | double | +| (double,double,int,double *) | | __gamma_product | 2 | int | +| (double,double,int,double *) | | __gamma_product | 3 | double * | +| (double,int *) | | __frexp | 0 | double | +| (double,int *) | | __frexp | 1 | int * | +| (double,int *) | | __ieee754_gamma_r | 0 | double | +| (double,int *) | | __ieee754_gamma_r | 1 | int * | +| (double,int *) | | __ieee754_lgamma_r | 0 | double | +| (double,int *) | | __ieee754_lgamma_r | 1 | int * | +| (double,int *) | | __lgamma_neg | 0 | double | +| (double,int *) | | __lgamma_neg | 1 | int * | +| (double,int *) | | __lgamma_r | 0 | double | +| (double,int *) | | __lgamma_r | 1 | int * | +| (double,int) | | __ldexp | 0 | double | +| (double,int) | | __ldexp | 1 | int | +| (double,int) | | __scalbn | 0 | double | +| (double,int) | | __scalbn | 1 | int | +| (double,int,char *) | | __gcvt | 0 | double | +| (double,int,char *) | | __gcvt | 1 | int | +| (double,int,char *) | | __gcvt | 2 | char * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __ecvt | 0 | double | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __ecvt | 1 | int | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __ecvt | 2 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __ecvt | 3 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __ecvt | 4 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __ecvt | 5 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __fcvt | 0 | double | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __fcvt | 1 | int | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __fcvt | 2 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __fcvt | 3 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __fcvt | 4 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__) | | __fcvt | 5 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 0 | double | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 1 | int | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 2 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 3 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 4 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 5 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 6 | char * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 7 | char *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __ecvt_r | 8 | size_t | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 0 | double | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 1 | int | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 2 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 3 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 4 | int * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 5 | int *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 6 | char * | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 7 | char *__restrict__ | +| (double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __fcvt_r | 8 | size_t | +| (double,int,unsigned int) | | __fromfp | 0 | double | +| (double,int,unsigned int) | | __fromfp | 1 | int | +| (double,int,unsigned int) | | __fromfp | 2 | unsigned int | +| (double,int,unsigned int) | | __fromfpx | 0 | double | +| (double,int,unsigned int) | | __fromfpx | 1 | int | +| (double,int,unsigned int) | | __fromfpx | 2 | unsigned int | +| (double,int,unsigned int) | | __ufromfp | 0 | double | +| (double,int,unsigned int) | | __ufromfp | 1 | int | +| (double,int,unsigned int) | | __ufromfp | 2 | unsigned int | +| (double,int,unsigned int) | | __ufromfpx | 0 | double | +| (double,int,unsigned int) | | __ufromfpx | 1 | int | +| (double,int,unsigned int) | | __ufromfpx | 2 | unsigned int | +| (double,long double) | | __nexttoward | 0 | double | +| (double,long double) | | __nexttoward | 1 | long double | +| (double,long long) | | __compoundn | 0 | double | +| (double,long long) | | __compoundn | 1 | long long | +| (double,long long) | | __rootn | 0 | double | +| (double,long long) | | __rootn | 1 | long long | +| (double,long) | | __scalbln | 0 | double | +| (double,long) | | __scalbln | 1 | long | +| (double,long) | | __w_scalbln | 0 | double | +| (double,long) | | __w_scalbln | 1 | long | +| (double[],int) | | getloadavg | 0 | double[] | +| (double[],int) | | getloadavg | 1 | int | +| (drand48_data *,drand48_data *__restrict__,double *,double *__restrict__) | | drand48_r | 0 | drand48_data * | +| (drand48_data *,drand48_data *__restrict__,double *,double *__restrict__) | | drand48_r | 1 | drand48_data *__restrict__ | +| (drand48_data *,drand48_data *__restrict__,double *,double *__restrict__) | | drand48_r | 2 | double * | +| (drand48_data *,drand48_data *__restrict__,double *,double *__restrict__) | | drand48_r | 3 | double *__restrict__ | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | lrand48_r | 0 | drand48_data * | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | lrand48_r | 1 | drand48_data *__restrict__ | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | lrand48_r | 2 | long * | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | lrand48_r | 3 | long *__restrict__ | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | mrand48_r | 0 | drand48_data * | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | mrand48_r | 1 | drand48_data *__restrict__ | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | mrand48_r | 2 | long * | +| (drand48_data *,drand48_data *__restrict__,long *,long *__restrict__) | | mrand48_r | 3 | long *__restrict__ | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize | 0 | dynarray_header * | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize | 1 | size_t | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize | 2 | void * | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize | 3 | size_t | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize_clear | 0 | dynarray_header * | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize_clear | 1 | size_t | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize_clear | 2 | void * | +| (dynarray_header *,size_t,void *,size_t) | | __libc_dynarray_resize_clear | 3 | size_t | +| (dynarray_header *,void *,size_t,dynarray_finalize_result *) | | __libc_dynarray_finalize | 0 | dynarray_header * | +| (dynarray_header *,void *,size_t,dynarray_finalize_result *) | | __libc_dynarray_finalize | 1 | void * | +| (dynarray_header *,void *,size_t,dynarray_finalize_result *) | | __libc_dynarray_finalize | 2 | size_t | +| (dynarray_header *,void *,size_t,dynarray_finalize_result *) | | __libc_dynarray_finalize | 3 | dynarray_finalize_result * | | (dynbuf *) | | Curl_dyn_free | 0 | dynbuf * | | (dynbuf *) | | curlx_dyn_free | 0 | dynbuf * | | (dynbuf *,Curl_easy *) | | Curl_http2_request_upgrade | 0 | dynbuf * | @@ -30319,7 +39771,218 @@ getSignatureParameterName | (dynhds *,size_t,size_t) | | Curl_dynhds_init | 0 | dynhds * | | (dynhds *,size_t,size_t) | | Curl_dynhds_init | 1 | size_t | | (dynhds *,size_t,size_t) | | Curl_dynhds_init | 2 | size_t | +| (etherent *,char *,size_t,int *) | | _nss_db_getetherent_r | 0 | etherent * | +| (etherent *,char *,size_t,int *) | | _nss_db_getetherent_r | 1 | char * | +| (etherent *,char *,size_t,int *) | | _nss_db_getetherent_r | 2 | size_t | +| (etherent *,char *,size_t,int *) | | _nss_db_getetherent_r | 3 | int * | +| (etherent *,char *,size_t,int *) | | _nss_files_getetherent_r | 0 | etherent * | +| (etherent *,char *,size_t,int *) | | _nss_files_getetherent_r | 1 | char * | +| (etherent *,char *,size_t,int *) | | _nss_files_getetherent_r | 2 | size_t | +| (etherent *,char *,size_t,int *) | | _nss_files_getetherent_r | 3 | int * | +| (exit_function_list **) | | __new_exitfn | 0 | exit_function_list ** | +| (fexcept_t *,int) | | fegetexceptflag | 0 | fexcept_t * | +| (fexcept_t *,int) | | fegetexceptflag | 1 | int | +| (file_change_detection *,const stat64 *) | | __file_change_detection_for_stat | 0 | file_change_detection * | +| (file_change_detection *,const stat64 *) | | __file_change_detection_for_stat | 1 | const stat64 * | | (fileinfo *) | | Curl_fileinfo_cleanup | 0 | fileinfo * | +| (float *,const float *) | | __canonicalizef | 0 | float * | +| (float *,const float *) | | __canonicalizef | 1 | const float * | +| (float *,float) | | __setpayloadf | 0 | float * | +| (float *,float) | | __setpayloadf | 1 | float | +| (float *,float) | | __setpayloadsigf | 0 | float * | +| (float *,float) | | __setpayloadsigf | 1 | float | +| (float) | | __acosf | 0 | float | +| (float) | | __acoshf | 0 | float | +| (float) | | __acospif | 0 | float | +| (float) | | __asinf | 0 | float | +| (float) | | __asinhf | 0 | float | +| (float) | | __asinpif | 0 | float | +| (float) | | __atanf | 0 | float | +| (float) | | __atanhf | 0 | float | +| (float) | | __atanpif | 0 | float | +| (float) | | __cbrtf | 0 | float | +| (float) | | __ceilf_c | 0 | float | +| (float) | | __cosf_fma | 0 | float | +| (float) | | __cosf_sse2 | 0 | float | +| (float) | | __coshf | 0 | float | +| (float) | | __cospif | 0 | float | +| (float) | | __erfcf | 0 | float | +| (float) | | __erff | 0 | float | +| (float) | | __exp2f_compat | 0 | float | +| (float) | | __exp2f_fma | 0 | float | +| (float) | | __exp2f_sse2 | 0 | float | +| (float) | | __exp2m1f_fma | 0 | float | +| (float) | | __exp2m1f_sse2 | 0 | float | +| (float) | | __exp10f | 0 | float | +| (float) | | __exp10f_compat | 0 | float | +| (float) | | __exp10m1f_fma | 0 | float | +| (float) | | __exp10m1f_sse2 | 0 | float | +| (float) | | __expf_compat | 0 | float | +| (float) | | __expf_fma | 0 | float | +| (float) | | __expf_sse2 | 0 | float | +| (float) | | __expm1f | 0 | float | +| (float) | | __finitef | 0 | float | +| (float) | | __floorf_c | 0 | float | +| (float) | | __ieee754_acosf | 0 | float | +| (float) | | __ieee754_acoshf | 0 | float | +| (float) | | __ieee754_asinf | 0 | float | +| (float) | | __ieee754_atanhf | 0 | float | +| (float) | | __ieee754_coshf | 0 | float | +| (float) | | __ieee754_j0f | 0 | float | +| (float) | | __ieee754_j1f | 0 | float | +| (float) | | __ieee754_log10f | 0 | float | +| (float) | | __ieee754_sinhf | 0 | float | +| (float) | | __ieee754_y0f | 0 | float | +| (float) | | __ieee754_y1f | 0 | float | +| (float) | | __ilogbf | 0 | float | +| (float) | | __isinff | 0 | float | +| (float) | | __isnanf | 0 | float | +| (float) | | __j0f | 0 | float | +| (float) | | __j1f | 0 | float | +| (float) | | __lgammaf | 0 | float | +| (float) | | __lgammaf_compat | 0 | float | +| (float) | | __llogbf | 0 | float | +| (float) | | __llroundf | 0 | float | +| (float) | | __log1pf | 0 | float | +| (float) | | __log2f_compat | 0 | float | +| (float) | | __log2f_fma | 0 | float | +| (float) | | __log2f_sse2 | 0 | float | +| (float) | | __log2p1f | 0 | float | +| (float) | | __log10f | 0 | float | +| (float) | | __log10p1f | 0 | float | +| (float) | | __logbf | 0 | float | +| (float) | | __logf_compat | 0 | float | +| (float) | | __logf_fma | 0 | float | +| (float) | | __logf_sse2 | 0 | float | +| (float) | | __lroundf | 0 | float | +| (float) | | __math_edomf | 0 | float | +| (float) | | __math_invalidf | 0 | float | +| (float) | | __nearbyintf_c | 0 | float | +| (float) | | __nextdownf | 0 | float | +| (float) | | __nextupf | 0 | float | +| (float) | | __rintf_c | 0 | float | +| (float) | | __roundevenf_c | 0 | float | +| (float) | | __roundf | 0 | float | +| (float) | | __significandf | 0 | float | +| (float) | | __sinf_fma | 0 | float | +| (float) | | __sinf_sse2 | 0 | float | +| (float) | | __sinhf | 0 | float | +| (float) | | __sinpif | 0 | float | +| (float) | | __sqrtf | 0 | float | +| (float) | | __tanf | 0 | float | +| (float) | | __tanhf | 0 | float | +| (float) | | __tanpif | 0 | float | +| (float) | | __tgammaf | 0 | float | +| (float) | | __truncf_c | 0 | float | +| (float) | | __y0f | 0 | float | +| (float) | | __y1f | 0 | float | +| (float,float *) | | __modff | 0 | float | +| (float,float *) | | __modff | 1 | float * | +| (float,float *,float *) | | __sincosf_fma | 0 | float | +| (float,float *,float *) | | __sincosf_fma | 1 | float * | +| (float,float *,float *) | | __sincosf_fma | 2 | float * | +| (float,float *,float *) | | __sincosf_sse2 | 0 | float | +| (float,float *,float *) | | __sincosf_sse2 | 1 | float * | +| (float,float *,float *) | | __sincosf_sse2 | 2 | float * | +| (float,float) | | __atan2f | 0 | float | +| (float,float) | | __atan2f | 1 | float | +| (float,float) | | __atan2pif | 0 | float | +| (float,float) | | __atan2pif | 1 | float | +| (float,float) | | __fdimf | 0 | float | +| (float,float) | | __fdimf | 1 | float | +| (float,float) | | __fmaximum_mag_numf | 0 | float | +| (float,float) | | __fmaximum_mag_numf | 1 | float | +| (float,float) | | __fmaximum_magf | 0 | float | +| (float,float) | | __fmaximum_magf | 1 | float | +| (float,float) | | __fmaximum_numf | 0 | float | +| (float,float) | | __fmaximum_numf | 1 | float | +| (float,float) | | __fmaximumf | 0 | float | +| (float,float) | | __fmaximumf | 1 | float | +| (float,float) | | __fmaxmagf | 0 | float | +| (float,float) | | __fmaxmagf | 1 | float | +| (float,float) | | __fminimum_mag_numf | 0 | float | +| (float,float) | | __fminimum_mag_numf | 1 | float | +| (float,float) | | __fminimum_magf | 0 | float | +| (float,float) | | __fminimum_magf | 1 | float | +| (float,float) | | __fminimum_numf | 0 | float | +| (float,float) | | __fminimum_numf | 1 | float | +| (float,float) | | __fminimumf | 0 | float | +| (float,float) | | __fminimumf | 1 | float | +| (float,float) | | __fminmagf | 0 | float | +| (float,float) | | __fminmagf | 1 | float | +| (float,float) | | __fmod_compatf | 0 | float | +| (float,float) | | __fmod_compatf | 1 | float | +| (float,float) | | __fmodf | 0 | float | +| (float,float) | | __fmodf | 1 | float | +| (float,float) | | __hypotf | 0 | float | +| (float,float) | | __hypotf | 1 | float | +| (float,float) | | __hypotf_compat | 0 | float | +| (float,float) | | __hypotf_compat | 1 | float | +| (float,float) | | __ieee754_atan2f | 0 | float | +| (float,float) | | __ieee754_atan2f | 1 | float | +| (float,float) | | __ieee754_remainderf | 0 | float | +| (float,float) | | __ieee754_remainderf | 1 | float | +| (float,float) | | __ieee754_scalbf | 0 | float | +| (float,float) | | __ieee754_scalbf | 1 | float | +| (float,float) | | __nextafterf | 0 | float | +| (float,float) | | __nextafterf | 1 | float | +| (float,float) | | __powf_compat | 0 | float | +| (float,float) | | __powf_compat | 1 | float | +| (float,float) | | __powf_fma | 0 | float | +| (float,float) | | __powf_fma | 1 | float | +| (float,float) | | __powf_sse2 | 0 | float | +| (float,float) | | __powf_sse2 | 1 | float | +| (float,float) | | __powrf | 0 | float | +| (float,float) | | __powrf | 1 | float | +| (float,float) | | __remainderf | 0 | float | +| (float,float) | | __remainderf | 1 | float | +| (float,float) | | __scalbf | 0 | float | +| (float,float) | | __scalbf | 1 | float | +| (float,float) | | __x2y2m1f | 0 | float | +| (float,float) | | __x2y2m1f | 1 | float | +| (float,float,float) | | __fmaf_sse2 | 0 | float | +| (float,float,float) | | __fmaf_sse2 | 1 | float | +| (float,float,float) | | __fmaf_sse2 | 2 | float | +| (float,float,int *) | | __remquof | 0 | float | +| (float,float,int *) | | __remquof | 1 | float | +| (float,float,int *) | | __remquof | 2 | int * | +| (float,float,int) | | __kernel_standard_f | 0 | float | +| (float,float,int) | | __kernel_standard_f | 1 | float | +| (float,float,int) | | __kernel_standard_f | 2 | int | +| (float,int *) | | __frexpf | 0 | float | +| (float,int *) | | __frexpf | 1 | int * | +| (float,int *) | | __ieee754_gammaf_r | 0 | float | +| (float,int *) | | __ieee754_gammaf_r | 1 | int * | +| (float,int *) | | __ieee754_lgammaf_r | 0 | float | +| (float,int *) | | __ieee754_lgammaf_r | 1 | int * | +| (float,int *) | | __lgammaf_r | 0 | float | +| (float,int *) | | __lgammaf_r | 1 | int * | +| (float,int) | | __ldexpf | 0 | float | +| (float,int) | | __ldexpf | 1 | int | +| (float,int) | | __scalbnf | 0 | float | +| (float,int) | | __scalbnf | 1 | int | +| (float,int,unsigned int) | | __fromfpf | 0 | float | +| (float,int,unsigned int) | | __fromfpf | 1 | int | +| (float,int,unsigned int) | | __fromfpf | 2 | unsigned int | +| (float,int,unsigned int) | | __fromfpxf | 0 | float | +| (float,int,unsigned int) | | __fromfpxf | 1 | int | +| (float,int,unsigned int) | | __fromfpxf | 2 | unsigned int | +| (float,int,unsigned int) | | __ufromfpf | 0 | float | +| (float,int,unsigned int) | | __ufromfpf | 1 | int | +| (float,int,unsigned int) | | __ufromfpf | 2 | unsigned int | +| (float,int,unsigned int) | | __ufromfpxf | 0 | float | +| (float,int,unsigned int) | | __ufromfpxf | 1 | int | +| (float,int,unsigned int) | | __ufromfpxf | 2 | unsigned int | +| (float,long double) | | __nexttowardf | 0 | float | +| (float,long double) | | __nexttowardf | 1 | long double | +| (float,long long) | | __compoundnf | 0 | float | +| (float,long long) | | __compoundnf | 1 | long long | +| (float,long long) | | __rootnf | 0 | float | +| (float,long long) | | __rootnf | 1 | long long | +| (float,long) | | __scalblnf | 0 | float | +| (float,long) | | __scalblnf | 1 | long | +| (float,long) | | __w_scalblnf | 0 | float | +| (float,long) | | __w_scalblnf | 1 | long | | (format_string,Args &&) | | format | 0 | format_string | | (format_string,Args &&) | | format | 1 | func:0 && | | (forward_list &&) | forward_list | forward_list | 0 | forward_list && | @@ -30327,6 +39990,28 @@ getSignatureParameterName | (forward_list &&,const Allocator &) | forward_list | forward_list | 1 | const class:1 & | | (ftp_parselist_data *) | | Curl_ftp_parselist_geterror | 0 | ftp_parselist_data * | | (ftp_parselist_data **) | | Curl_ftp_parselist_data_free | 0 | ftp_parselist_data ** | +| (fuse_in_header *,uint32_t) | | support_fuse_cast_internal | 0 | fuse_in_header * | +| (fuse_in_header *,uint32_t) | | support_fuse_cast_internal | 1 | uint32_t | +| (fuse_in_header *,uint32_t,size_t,char **) | | support_fuse_cast_name_internal | 0 | fuse_in_header * | +| (fuse_in_header *,uint32_t,size_t,char **) | | support_fuse_cast_name_internal | 1 | uint32_t | +| (fuse_in_header *,uint32_t,size_t,char **) | | support_fuse_cast_name_internal | 2 | size_t | +| (fuse_in_header *,uint32_t,size_t,char **) | | support_fuse_cast_name_internal | 3 | char ** | +| (gaicb *) | | __gai_enqueue_request | 0 | gaicb * | +| (gaicb *) | | __gai_error | 0 | gaicb * | +| (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 0 | gconv_fcts * | +| (gconv_fcts *,const char *) | | __wcsmbs_named_conv | 1 | const char * | +| (gconv_spec *,__gconv_t *,int) | | __gconv_open | 0 | gconv_spec * | +| (gconv_spec *,__gconv_t *,int) | | __gconv_open | 1 | __gconv_t * | +| (gconv_spec *,__gconv_t *,int) | | __gconv_open | 2 | int | +| (gconv_spec *,const char *,const char *) | | __gconv_create_spec | 0 | gconv_spec * | +| (gconv_spec *,const char *,const char *) | | __gconv_create_spec | 1 | const char * | +| (gconv_spec *,const char *,const char *) | | __gconv_create_spec | 2 | const char * | +| (getent_r_function,void **,char **,size_t,size_t *,int *) | | __nss_getent | 0 | getent_r_function | +| (getent_r_function,void **,char **,size_t,size_t *,int *) | | __nss_getent | 1 | void ** | +| (getent_r_function,void **,char **,size_t,size_t *,int *) | | __nss_getent | 2 | char ** | +| (getent_r_function,void **,char **,size_t,size_t *,int *) | | __nss_getent | 3 | size_t | +| (getent_r_function,void **,char **,size_t,size_t *,int *) | | __nss_getent | 4 | size_t * | +| (getent_r_function,void **,char **,size_t,size_t *,int *) | | __nss_getent | 5 | int * | | (gf,const gf,const gf) | | gf_add | 0 | gf | | (gf,const gf,const gf) | | gf_add | 1 | const gf | | (gf,const gf,const gf) | | gf_add | 2 | const gf | @@ -30337,6 +40022,39 @@ getSignatureParameterName | (gf,const uint8_t[56],int,uint8_t) | | gf_deserialize | 1 | const uint8_t[56] | | (gf,const uint8_t[56],int,uint8_t) | | gf_deserialize | 2 | int | | (gf,const uint8_t[56],int,uint8_t) | | gf_deserialize | 3 | uint8_t | +| (gid_t,group *,char *,size_t,group **) | | __nscd_getgrgid_r | 0 | gid_t | +| (gid_t,group *,char *,size_t,group **) | | __nscd_getgrgid_r | 1 | group * | +| (gid_t,group *,char *,size_t,group **) | | __nscd_getgrgid_r | 2 | char * | +| (gid_t,group *,char *,size_t,group **) | | __nscd_getgrgid_r | 3 | size_t | +| (gid_t,group *,char *,size_t,group **) | | __nscd_getgrgid_r | 4 | group ** | +| (group *,char *,char *,size_t,group *,char *) | | __merge_grp | 0 | group * | +| (group *,char *,char *,size_t,group *,char *) | | __merge_grp | 1 | char * | +| (group *,char *,char *,size_t,group *,char *) | | __merge_grp | 2 | char * | +| (group *,char *,char *,size_t,group *,char *) | | __merge_grp | 3 | size_t | +| (group *,char *,char *,size_t,group *,char *) | | __merge_grp | 4 | group * | +| (group *,char *,char *,size_t,group *,char *) | | __merge_grp | 5 | char * | +| (group *,char *,size_t,group **) | | __getgrent_r | 0 | group * | +| (group *,char *,size_t,group **) | | __getgrent_r | 1 | char * | +| (group *,char *,size_t,group **) | | __getgrent_r | 2 | size_t | +| (group *,char *,size_t,group **) | | __getgrent_r | 3 | group ** | +| (group *,char *,size_t,int *) | | _nss_compat_getgrent_r | 0 | group * | +| (group *,char *,size_t,int *) | | _nss_compat_getgrent_r | 1 | char * | +| (group *,char *,size_t,int *) | | _nss_compat_getgrent_r | 2 | size_t | +| (group *,char *,size_t,int *) | | _nss_compat_getgrent_r | 3 | int * | +| (group *,char *,size_t,int *) | | _nss_db_getgrent_r | 0 | group * | +| (group *,char *,size_t,int *) | | _nss_db_getgrent_r | 1 | char * | +| (group *,char *,size_t,int *) | | _nss_db_getgrent_r | 2 | size_t | +| (group *,char *,size_t,int *) | | _nss_db_getgrent_r | 3 | int * | +| (group *,char *,size_t,int *) | | _nss_files_getgrent_r | 0 | group * | +| (group *,char *,size_t,int *) | | _nss_files_getgrent_r | 1 | char * | +| (group *,char *,size_t,int *) | | _nss_files_getgrent_r | 2 | size_t | +| (group *,char *,size_t,int *) | | _nss_files_getgrent_r | 3 | int * | +| (grouping_iterator *,int,locale_t,unsigned int) | | __grouping_iterator_init | 0 | grouping_iterator * | +| (grouping_iterator *,int,locale_t,unsigned int) | | __grouping_iterator_init | 1 | int | +| (grouping_iterator *,int,locale_t,unsigned int) | | __grouping_iterator_init | 2 | locale_t | +| (grouping_iterator *,int,locale_t,unsigned int) | | __grouping_iterator_init | 3 | unsigned int | +| (grouping_iterator *,unsigned int) | | __grouping_iterator_init_none | 0 | grouping_iterator * | +| (grouping_iterator *,unsigned int) | | __grouping_iterator_init_none | 1 | unsigned int | | (gzFile) | | gzclearerr | 0 | gzFile | | (gzFile) | | gzclose | 0 | gzFile | | (gzFile) | | gzclose_w | 0 | gzFile | @@ -30391,6 +40109,26 @@ getSignatureParameterName | (h1_req_parser *,const char *,size_t,const char *,int,CURLcode *) | | Curl_h1_req_parse_read | 5 | CURLcode * | | (h1_req_parser *,size_t) | | Curl_h1_req_parse_init | 0 | h1_req_parser * | | (h1_req_parser *,size_t) | | Curl_h1_req_parse_init | 1 | size_t | +| (hash_table *,const void *,size_t,void *) | | insert_entry | 0 | hash_table * | +| (hash_table *,const void *,size_t,void *) | | insert_entry | 1 | const void * | +| (hash_table *,const void *,size_t,void *) | | insert_entry | 2 | size_t | +| (hash_table *,const void *,size_t,void *) | | insert_entry | 3 | void * | +| (hash_table *,unsigned long) | | init_hash | 0 | hash_table * | +| (hash_table *,unsigned long) | | init_hash | 1 | unsigned long | +| (hostent *,char *,size_t,int *,int *) | | _nss_files_gethostent_r | 0 | hostent * | +| (hostent *,char *,size_t,int *,int *) | | _nss_files_gethostent_r | 1 | char * | +| (hostent *,char *,size_t,int *,int *) | | _nss_files_gethostent_r | 2 | size_t | +| (hostent *,char *,size_t,int *,int *) | | _nss_files_gethostent_r | 3 | int * | +| (hostent *,char *,size_t,int *,int *) | | _nss_files_gethostent_r | 4 | int * | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 0 | hostent * | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 1 | hostent *__restrict__ | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 2 | char * | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 3 | char *__restrict__ | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 4 | size_t | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 5 | hostent ** | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 6 | hostent **__restrict__ | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 7 | int * | +| (hostent *,hostent *__restrict__,char *,char *__restrict__,size_t,hostent **,hostent **__restrict__,int *,int *__restrict__) | | __gethostent_r | 8 | int *__restrict__ | | (hsts **) | | Curl_hsts_cleanup | 0 | hsts ** | | (http_resp **,int,const char *) | | Curl_http_resp_make | 0 | http_resp ** | | (http_resp **,int,const char *) | | Curl_http_resp_make | 1 | int | @@ -30443,6 +40181,21 @@ getSignatureParameterName | (i2d_of_void *,d2i_of_void *,const void *) | | ASN1_dup | 0 | i2d_of_void * | | (i2d_of_void *,d2i_of_void *,const void *) | | ASN1_dup | 1 | d2i_of_void * | | (i2d_of_void *,d2i_of_void *,const void *) | | ASN1_dup | 2 | const void * | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 0 | iconv_t | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 1 | char ** | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 2 | char **__restrict__ | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 3 | size_t * | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 4 | size_t *__restrict__ | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 5 | char ** | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 6 | char **__restrict__ | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 7 | size_t * | +| (iconv_t,char **,char **__restrict__,size_t *,size_t *__restrict__,char **,char **__restrict__,size_t *,size_t *__restrict__) | | iconv | 8 | size_t *__restrict__ | +| (in_addr_t,in_addr_t) | | __inet_makeaddr | 0 | in_addr_t | +| (in_addr_t,in_addr_t) | | __inet_makeaddr | 1 | in_addr_t | +| (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 0 | in_addr_t | +| (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 1 | uint32_t | +| (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 2 | char * | +| (in_addr_t,uint32_t,char *,size_t) | | inet_neta | 3 | size_t | | (int32_t *,int32_t *,int32_t *,int32_t *) | | nghttp2_adjust_local_window_size | 0 | int32_t * | | (int32_t *,int32_t *,int32_t *,int32_t *) | | nghttp2_adjust_local_window_size | 1 | int32_t * | | (int32_t *,int32_t *,int32_t *,int32_t *) | | nghttp2_adjust_local_window_size | 2 | int32_t * | @@ -30455,6 +40208,7 @@ getSignatureParameterName | (int64_t *,const ASN1_ENUMERATED *) | | ASN1_ENUMERATED_get_int64 | 1 | const ASN1_ENUMERATED * | | (int64_t *,const ASN1_INTEGER *) | | ASN1_INTEGER_get_int64 | 0 | int64_t * | | (int64_t *,const ASN1_INTEGER *) | | ASN1_INTEGER_get_int64 | 1 | const ASN1_INTEGER * | +| (int *) | | rresvport | 0 | int * | | (int *,ASN1_TIME **,const ASN1_TIME *) | | ossl_x509_set1_time | 0 | int * | | (int *,ASN1_TIME **,const ASN1_TIME *) | | ossl_x509_set1_time | 1 | ASN1_TIME ** | | (int *,ASN1_TIME **,const ASN1_TIME *) | | ossl_x509_set1_time | 2 | const ASN1_TIME * | @@ -30500,6 +40254,20 @@ getSignatureParameterName | (int *,int) | | X509_PURPOSE_set | 1 | int | | (int *,int) | | X509_TRUST_set | 0 | int * | | (int *,int) | | X509_TRUST_set | 1 | int | +| (int *,int) | | __lll_unlock_elision | 0 | int * | +| (int *,int) | | __lll_unlock_elision | 1 | int | +| (int *,sa_family_t) | | rresvport_af | 0 | int * | +| (int *,sa_family_t) | | rresvport_af | 1 | sa_family_t | +| (int *,short *) | | __lll_trylock_elision | 0 | int * | +| (int *,short *) | | __lll_trylock_elision | 1 | short * | +| (int *,short *,clockid_t,const timespec *,int) | | __lll_clocklock_elision | 0 | int * | +| (int *,short *,clockid_t,const timespec *,int) | | __lll_clocklock_elision | 1 | short * | +| (int *,short *,clockid_t,const timespec *,int) | | __lll_clocklock_elision | 2 | clockid_t | +| (int *,short *,clockid_t,const timespec *,int) | | __lll_clocklock_elision | 3 | const timespec * | +| (int *,short *,clockid_t,const timespec *,int) | | __lll_clocklock_elision | 4 | int | +| (int *,short *,int) | | __lll_lock_elision | 0 | int * | +| (int *,short *,int) | | __lll_lock_elision | 1 | short * | +| (int *,short *,int) | | __lll_lock_elision | 2 | int | | (int *,sqlite3_stmt *) | | shellReset | 0 | int * | | (int *,sqlite3_stmt *) | | shellReset | 1 | sqlite3_stmt * | | (int *,unsigned char **,const ASN1_VALUE **,const ASN1_ITEM *) | | ossl_asn1_enc_restore | 0 | int * | @@ -30524,22 +40292,60 @@ getSignatureParameterName | (int) | | X509_TRUST_get0 | 0 | int | | (int) | | X509_TRUST_get_by_id | 0 | int | | (int) | | X509_VERIFY_PARAM_get0 | 0 | int | +| (int) | | __btowc | 0 | int | +| (int) | | __current_locale_name | 0 | int | +| (int) | | __fdopendir | 0 | int | +| (int) | | __get_errlist | 0 | int | +| (int) | | __get_errname | 0 | int | +| (int) | | __math_invalid_i | 0 | int | +| (int) | | __math_invalidf_i | 0 | int | +| (int) | | __p_class | 0 | int | +| (int) | | __p_rcode | 0 | int | +| (int) | | __p_type | 0 | int | +| (int) | | __pkey_get | 0 | int | +| (int) | | __sigdescr_np | 0 | int | +| (int) | | __strerrordesc_np | 0 | int | +| (int) | | _tolower | 0 | int | +| (int) | | _toupper | 0 | int | +| (int) | | btowc | 0 | int | | (int) | | c_tolower | 0 | int | | (int) | | c_toupper | 0 | int | | (int) | | curlx_sitouz | 0 | int | | (int) | | evp_pkey_type2name | 0 | int | +| (int) | | inet6_option_space | 0 | int | +| (int) | | isalnum | 0 | int | +| (int) | | isalpha | 0 | int | +| (int) | | isblank | 0 | int | +| (int) | | iscntrl | 0 | int | +| (int) | | isdigit | 0 | int | +| (int) | | isgraph | 0 | int | +| (int) | | islower | 0 | int | +| (int) | | isprint | 0 | int | +| (int) | | ispunct | 0 | int | +| (int) | | isspace | 0 | int | +| (int) | | isupper | 0 | int | +| (int) | | isxdigit | 0 | int | | (int) | | ossl_cmp_bodytype_to_string | 0 | int | | (int) | | ossl_tolower | 0 | int | | (int) | | ossl_toupper | 0 | int | +| (int) | | sigabbrev_np | 0 | int | | (int) | | sqlite3_compileoption_get | 0 | int | | (int) | | sqlite3_errstr | 0 | int | +| (int) | | strerrorname_np | 0 | int | +| (int) | | support_report_failure | 0 | int | +| (int) | | svcudp_create | 0 | int | | (int) | | tls13_alert_code | 0 | int | +| (int) | | toascii | 0 | int | +| (int) | | tolower | 0 | int | +| (int) | | toupper | 0 | int | +| (int) | | uabs | 0 | int | | (int) | | uv__accept | 0 | int | | (int) | | uv_err_name | 0 | int | | (int) | | uv_get_osfhandle | 0 | int | | (int) | | uv_strerror | 0 | int | | (int) | | uv_translate_sys_error | 0 | int | | (int) | | zError | 0 | int | +| (int) | __pthread_cleanup_class | __setdoit | 0 | int | | (int,BIO_ADDR *,int) | | BIO_accept_ex | 0 | int | | (int,BIO_ADDR *,int) | | BIO_accept_ex | 1 | BIO_ADDR * | | (int,BIO_ADDR *,int) | | BIO_accept_ex | 2 | int | @@ -30591,6 +40397,18 @@ getSignatureParameterName | (int,EVP_PKEY **,const unsigned char **,long,OSSL_LIB_CTX *,const char *) | | ossl_d2i_PrivateKey_legacy | 3 | long | | (int,EVP_PKEY **,const unsigned char **,long,OSSL_LIB_CTX *,const char *) | | ossl_d2i_PrivateKey_legacy | 4 | OSSL_LIB_CTX * | | (int,EVP_PKEY **,const unsigned char **,long,OSSL_LIB_CTX *,const char *) | | ossl_d2i_PrivateKey_legacy | 5 | const char * | +| (int,FILE *) | | _IO_putc | 0 | int | +| (int,FILE *) | | _IO_putc | 1 | FILE * | +| (int,FILE *) | | __putc_unlocked | 0 | int | +| (int,FILE *) | | __putc_unlocked | 1 | FILE * | +| (int,FILE *) | | fputc | 0 | int | +| (int,FILE *) | | fputc | 1 | FILE * | +| (int,FILE *) | | fputc_unlocked | 0 | int | +| (int,FILE *) | | fputc_unlocked | 1 | FILE * | +| (int,FILE *) | | putc_unlocked | 0 | int | +| (int,FILE *) | | putc_unlocked | 1 | FILE * | +| (int,FILE *) | | ungetc | 0 | int | +| (int,FILE *) | | ungetc | 1 | FILE * | | (int,LPCOLESTR) | CComBSTR | CComBSTR | 0 | int | | (int,LPCOLESTR) | CComBSTR | CComBSTR | 1 | LPCOLESTR | | (int,LPCSTR) | CComBSTR | CComBSTR | 0 | int | @@ -30631,6 +40449,38 @@ getSignatureParameterName | (int,X509_STORE_CTX *) | | verify_callback | 1 | X509_STORE_CTX * | | (int,XCHAR) | CStringT | Insert | 0 | int | | (int,XCHAR) | CStringT | Insert | 1 | XCHAR | +| (int,_Float128) | | __ieee754_jnf128 | 0 | int | +| (int,_Float128) | | __ieee754_jnf128 | 1 | _Float128 | +| (int,_Float128) | | __ieee754_ynf128 | 0 | int | +| (int,_Float128) | | __ieee754_ynf128 | 1 | _Float128 | +| (int,_Float128) | | __jnf128 | 0 | int | +| (int,_Float128) | | __jnf128 | 1 | _Float128 | +| (int,_Float128) | | __ynf128 | 0 | int | +| (int,_Float128) | | __ynf128 | 1 | _Float128 | +| (int,__locale_data *) | | _nl_select_era_entry | 0 | int | +| (int,__locale_data *) | | _nl_select_era_entry | 1 | __locale_data * | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 0 | int | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 1 | __off64_t * | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 2 | off64_t * | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 3 | int | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 4 | __off64_t * | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 5 | off64_t * | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 6 | size_t | +| (int,__off64_t *,off64_t *,int,__off64_t *,off64_t *,size_t,unsigned int) | | support_copy_file_range | 7 | unsigned int | +| (int,aiocb *) | | __aio_fsync | 0 | int | +| (int,aiocb *) | | __aio_fsync | 1 | aiocb * | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_21 | 0 | int | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_21 | 1 | aiocb *const[] | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_21 | 2 | int | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_21 | 3 | sigevent * | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_24 | 0 | int | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_24 | 1 | aiocb *const[] | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_24 | 2 | int | +| (int,aiocb *const[],int,sigevent *) | | __lio_listio_24 | 3 | sigevent * | +| (int,bool,int,const stat64 *) | | __alloc_dir | 0 | int | +| (int,bool,int,const stat64 *) | | __alloc_dir | 1 | bool | +| (int,bool,int,const stat64 *) | | __alloc_dir | 2 | int | +| (int,bool,int,const stat64 *) | | __alloc_dir | 3 | const stat64 * | | (int,char **) | | BIO_accept | 0 | int | | (int,char **) | | BIO_accept | 1 | char ** | | (int,char **) | | uv_setup_args | 0 | int | @@ -30791,6 +40641,33 @@ getSignatureParameterName | (int,char **,const OPTIONS *) | | opt_init | 0 | int | | (int,char **,const OPTIONS *) | | opt_init | 1 | char ** | | (int,char **,const OPTIONS *) | | opt_init | 2 | const OPTIONS * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_only_r | 0 | int | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_only_r | 1 | char ** | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_only_r | 2 | const char * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_only_r | 3 | const option * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_only_r | 4 | int * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_only_r | 5 | _getopt_data * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_r | 0 | int | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_r | 1 | char ** | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_r | 2 | const char * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_r | 3 | const option * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_r | 4 | int * | +| (int,char **,const char *,const option *,int *,_getopt_data *) | | _getopt_long_r | 5 | _getopt_data * | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 0 | int | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 1 | char ** | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 2 | const char * | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 3 | const option * | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 4 | int * | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 5 | int | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 6 | _getopt_data * | +| (int,char **,const char *,const option *,int *,int,_getopt_data *,int) | | _getopt_internal_r | 7 | int | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 0 | int | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 1 | char ** | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 2 | const char * | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 3 | const option * | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 4 | int * | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 5 | int | +| (int,char **,const char *,const option *,int *,int,int) | | _getopt_internal | 6 | int | | (int,char **,gengetopt_args_info *) | | cmdline_parser | 0 | int | | (int,char **,gengetopt_args_info *) | | cmdline_parser | 1 | char ** | | (int,char **,gengetopt_args_info *) | | cmdline_parser | 2 | gengetopt_args_info * | @@ -30815,12 +40692,38 @@ getSignatureParameterName | (int,char *,size_t) | | Curl_strerror | 0 | int | | (int,char *,size_t) | | Curl_strerror | 1 | char * | | (int,char *,size_t) | | Curl_strerror | 2 | size_t | +| (int,char *,size_t) | | __strerror_r | 0 | int | +| (int,char *,size_t) | | __strerror_r | 1 | char * | +| (int,char *,size_t) | | __strerror_r | 2 | size_t | +| (int,char *,size_t) | | __ttyname_r | 0 | int | +| (int,char *,size_t) | | __ttyname_r | 1 | char * | +| (int,char *,size_t) | | __ttyname_r | 2 | size_t | | (int,char *,size_t) | | uv_err_name_r | 0 | int | | (int,char *,size_t) | | uv_err_name_r | 1 | char * | | (int,char *,size_t) | | uv_err_name_r | 2 | size_t | | (int,char *,size_t) | | uv_strerror_r | 0 | int | | (int,char *,size_t) | | uv_strerror_r | 1 | char * | | (int,char *,size_t) | | uv_strerror_r | 2 | size_t | +| (int,char *,size_t,size_t) | | __ttyname_r_chk | 0 | int | +| (int,char *,size_t,size_t) | | __ttyname_r_chk | 1 | char * | +| (int,char *,size_t,size_t) | | __ttyname_r_chk | 2 | size_t | +| (int,char *,size_t,size_t) | | __ttyname_r_chk | 3 | size_t | +| (int,char *const *,const char *) | | __posix_getopt | 0 | int | +| (int,char *const *,const char *) | | __posix_getopt | 1 | char *const * | +| (int,char *const *,const char *) | | __posix_getopt | 2 | const char * | +| (int,char *const *,const char *) | | getopt | 0 | int | +| (int,char *const *,const char *) | | getopt | 1 | char *const * | +| (int,char *const *,const char *) | | getopt | 2 | const char * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long | 0 | int | +| (int,char *const *,const char *,const option *,int *) | | getopt_long | 1 | char *const * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long | 2 | const char * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long | 3 | const option * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long | 4 | int * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long_only | 0 | int | +| (int,char *const *,const char *,const option *,int *) | | getopt_long_only | 1 | char *const * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long_only | 2 | const char * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long_only | 3 | const option * | +| (int,char *const *,const char *,const option *,int *) | | getopt_long_only | 4 | int * | | (int,const EVP_CIPHER *,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *) | | PKCS8_encrypt | 0 | int | | (int,const EVP_CIPHER *,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *) | | PKCS8_encrypt | 1 | const EVP_CIPHER * | | (int,const EVP_CIPHER *,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *) | | PKCS8_encrypt | 2 | const char * | @@ -30846,11 +40749,73 @@ getSignatureParameterName | (int,const OSSL_STORE_INFO *) | | OSSL_STORE_INFO_get0_data | 1 | const OSSL_STORE_INFO * | | (int,const char *) | | BIO_meth_new | 0 | int | | (int,const char *) | | BIO_meth_new | 1 | const char * | +| (int,const char *) | | _IO_new_fdopen | 0 | int | +| (int,const char *) | | _IO_new_fdopen | 1 | const char * | | (int,const char *) | | gzdopen | 0 | int | | (int,const char *) | | gzdopen | 1 | const char * | +| (int,const char *) | | setlocale | 0 | int | +| (int,const char *) | | setlocale | 1 | const char * | +| (int,const char *) | | xsetlocale | 0 | int | +| (int,const char *) | | xsetlocale | 1 | const char * | +| (int,const char **) | | _nl_load_locale_from_archive | 0 | int | +| (int,const char **) | | _nl_load_locale_from_archive | 1 | const char ** | | (int,const char **,int *) | | sqlite3_keyword_name | 0 | int | | (int,const char **,int *) | | sqlite3_keyword_name | 1 | const char ** | | (int,const char **,int *) | | sqlite3_keyword_name | 2 | int * | +| (int,const char *,__gnuc_va_list) | | verr | 0 | int | +| (int,const char *,__gnuc_va_list) | | verr | 1 | const char * | +| (int,const char *,__gnuc_va_list) | | verr | 2 | __gnuc_va_list | +| (int,const char *,__gnuc_va_list) | | verrx | 0 | int | +| (int,const char *,__gnuc_va_list) | | verrx | 1 | const char * | +| (int,const char *,__gnuc_va_list) | | verrx | 2 | __gnuc_va_list | +| (int,const char *,__gnuc_va_list,va_list,unsigned int) | | __vsyslog_internal | 0 | int | +| (int,const char *,__gnuc_va_list,va_list,unsigned int) | | __vsyslog_internal | 1 | const char * | +| (int,const char *,__gnuc_va_list,va_list,unsigned int) | | __vsyslog_internal | 2 | __gnuc_va_list | +| (int,const char *,__gnuc_va_list,va_list,unsigned int) | | __vsyslog_internal | 3 | va_list | +| (int,const char *,__gnuc_va_list,va_list,unsigned int) | | __vsyslog_internal | 4 | unsigned int | +| (int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknod | 0 | int | +| (int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknod | 1 | const char * | +| (int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknod | 2 | __mode_t | +| (int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknod | 3 | mode_t | +| (int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknod | 4 | __dev_t * | +| (int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknod | 5 | dev_t * | +| (int,const char *,const char *,const charmap_t *) | | find_locale | 0 | int | +| (int,const char *,const char *,const charmap_t *) | | find_locale | 1 | const char * | +| (int,const char *,const char *,const charmap_t *) | | find_locale | 2 | const char * | +| (int,const char *,const char *,const charmap_t *) | | find_locale | 3 | const charmap_t * | +| (int,const char *,const char *,const charmap_t *,localedef_t *) | | load_locale | 0 | int | +| (int,const char *,const char *,const charmap_t *,localedef_t *) | | load_locale | 1 | const char * | +| (int,const char *,const char *,const charmap_t *,localedef_t *) | | load_locale | 2 | const char * | +| (int,const char *,const char *,const charmap_t *,localedef_t *) | | load_locale | 3 | const charmap_t * | +| (int,const char *,const char *,const charmap_t *,localedef_t *) | | load_locale | 4 | localedef_t * | +| (int,const char *,const char *,int,localedef_t *) | | add_to_readlist | 0 | int | +| (int,const char *,const char *,int,localedef_t *) | | add_to_readlist | 1 | const char * | +| (int,const char *,const char *,int,localedef_t *) | | add_to_readlist | 2 | const char * | +| (int,const char *,const char *,int,localedef_t *) | | add_to_readlist | 3 | int | +| (int,const char *,const char *,int,localedef_t *) | | add_to_readlist | 4 | localedef_t * | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 0 | int | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 1 | const char * | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 2 | const char *__restrict__ | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 3 | servent * | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 4 | servent *__restrict__ | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 5 | char * | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 6 | char *__restrict__ | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 7 | size_t | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 8 | servent ** | +| (int,const char *,const char *__restrict__,servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservbyport_r | 9 | servent **__restrict__ | +| (int,const char *,const timespec[2],int) | | __utimensat | 0 | int | +| (int,const char *,const timespec[2],int) | | __utimensat | 1 | const char * | +| (int,const char *,const timespec[2],int) | | __utimensat | 2 | const timespec[2] | +| (int,const char *,const timespec[2],int) | | __utimensat | 3 | int | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 0 | int | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 1 | const char * | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 2 | int | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 3 | int | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 4 | const unsigned char * | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 5 | int | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 6 | const unsigned char * | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 7 | unsigned char * | +| (int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_mkquery | 8 | int | | (int,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *) | | PKCS12_SAFEBAG_create_pkcs8_encrypt | 0 | int | | (int,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *) | | PKCS12_SAFEBAG_create_pkcs8_encrypt | 1 | const char * | | (int,const char *,int,unsigned char *,int,int,PKCS8_PRIV_KEY_INFO *) | | PKCS12_SAFEBAG_create_pkcs8_encrypt | 2 | int | @@ -30883,10 +40848,60 @@ getSignatureParameterName | (int,const char *,int,unsigned char *,int,int,stack_st_PKCS12_SAFEBAG *,OSSL_LIB_CTX *,const char *) | | PKCS12_pack_p7encdata_ex | 6 | stack_st_PKCS12_SAFEBAG * | | (int,const char *,int,unsigned char *,int,int,stack_st_PKCS12_SAFEBAG *,OSSL_LIB_CTX *,const char *) | | PKCS12_pack_p7encdata_ex | 7 | OSSL_LIB_CTX * | | (int,const char *,int,unsigned char *,int,int,stack_st_PKCS12_SAFEBAG *,OSSL_LIB_CTX *,const char *) | | PKCS12_pack_p7encdata_ex | 8 | const char * | +| (int,const char *,locale_t) | | __newlocale | 0 | int | +| (int,const char *,locale_t) | | __newlocale | 1 | const char * | +| (int,const char *,locale_t) | | __newlocale | 2 | locale_t | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyport_r | 0 | int | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyport_r | 1 | const char * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyport_r | 2 | servent * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyport_r | 3 | char * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyport_r | 4 | size_t | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_db_getservbyport_r | 5 | int * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyport_r | 0 | int | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyport_r | 1 | const char * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyport_r | 2 | servent * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyport_r | 3 | char * | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyport_r | 4 | size_t | +| (int,const char *,servent *,char *,size_t,int *) | | _nss_files_getservbyport_r | 5 | int * | +| (int,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyport_r | 0 | int | +| (int,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyport_r | 1 | const char * | +| (int,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyport_r | 2 | servent * | +| (int,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyport_r | 3 | char * | +| (int,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyport_r | 4 | size_t | +| (int,const char *,servent *,char *,size_t,servent **) | | __nscd_getservbyport_r | 5 | servent ** | +| (int,const char *,va_list) | | ___vprintf_chk | 0 | int | +| (int,const char *,va_list) | | ___vprintf_chk | 1 | const char * | +| (int,const char *,va_list) | | ___vprintf_chk | 2 | va_list | +| (int,const char *,va_list) | | __vdprintf | 0 | int | +| (int,const char *,va_list) | | __vdprintf | 1 | const char * | +| (int,const char *,va_list) | | __vdprintf | 2 | va_list | +| (int,const char *,va_list) | | __vsyslog | 0 | int | +| (int,const char *,va_list) | | __vsyslog | 1 | const char * | +| (int,const char *,va_list) | | __vsyslog | 2 | va_list | +| (int,const char *,va_list,unsigned int) | | __vdprintf_internal | 0 | int | +| (int,const char *,va_list,unsigned int) | | __vdprintf_internal | 1 | const char * | +| (int,const char *,va_list,unsigned int) | | __vdprintf_internal | 2 | va_list | +| (int,const char *,va_list,unsigned int) | | __vdprintf_internal | 3 | unsigned int | +| (int,const char *,void *,size_t) | | inet_net_pton | 0 | int | +| (int,const char *,void *,size_t) | | inet_net_pton | 1 | const char * | +| (int,const char *,void *,size_t) | | inet_net_pton | 2 | void * | +| (int,const char *,void *,size_t) | | inet_net_pton | 3 | size_t | | (int,const regex_t *,char *,size_t) | | jim_regerror | 0 | int | | (int,const regex_t *,char *,size_t) | | jim_regerror | 1 | const regex_t * | | (int,const regex_t *,char *,size_t) | | jim_regerror | 2 | char * | | (int,const regex_t *,char *,size_t) | | jim_regerror | 3 | size_t | +| (int,const sigset_t *,sigset_t *) | | __pthread_sigmask | 0 | int | +| (int,const sigset_t *,sigset_t *) | | __pthread_sigmask | 1 | const sigset_t * | +| (int,const sigset_t *,sigset_t *) | | __pthread_sigmask | 2 | sigset_t * | +| (int,const sigset_t *,sigset_t *) | | __sigprocmask | 0 | int | +| (int,const sigset_t *,sigset_t *) | | __sigprocmask | 1 | const sigset_t * | +| (int,const sigset_t *,sigset_t *) | | __sigprocmask | 2 | sigset_t * | +| (int,const timespec[2]) | | __futimens | 0 | int | +| (int,const timespec[2]) | | __futimens | 1 | const timespec[2] | +| (int,const u_char *,const unsigned char *,char *) | | inet_nsap_ntoa | 0 | int | +| (int,const u_char *,const unsigned char *,char *) | | inet_nsap_ntoa | 1 | const u_char * | +| (int,const u_char *,const unsigned char *,char *) | | inet_nsap_ntoa | 2 | const unsigned char * | +| (int,const u_char *,const unsigned char *,char *) | | inet_nsap_ntoa | 3 | char * | | (int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__) | | BrotliStoreUncompressedMetaBlock | 0 | int | | (int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__) | | BrotliStoreUncompressedMetaBlock | 1 | const uint8_t *__restrict__ | | (int,const uint8_t *__restrict__,size_t,size_t,size_t,size_t *__restrict__,uint8_t *__restrict__) | | BrotliStoreUncompressedMetaBlock | 2 | size_t | @@ -30942,12 +40957,93 @@ getSignatureParameterName | (int,const void *,char *,size_t) | | uv_inet_ntop | 1 | const void * | | (int,const void *,char *,size_t) | | uv_inet_ntop | 2 | char * | | (int,const void *,char *,size_t) | | uv_inet_ntop | 3 | size_t | +| (int,const void *,char *,socklen_t,size_t) | | __inet_ntop_chk | 0 | int | +| (int,const void *,char *,socklen_t,size_t) | | __inet_ntop_chk | 1 | const void * | +| (int,const void *,char *,socklen_t,size_t) | | __inet_ntop_chk | 2 | char * | +| (int,const void *,char *,socklen_t,size_t) | | __inet_ntop_chk | 3 | socklen_t | +| (int,const void *,char *,socklen_t,size_t) | | __inet_ntop_chk | 4 | size_t | | (int,const void *,const char *,int) | | Curl_ip2addr | 0 | int | | (int,const void *,const char *,int) | | Curl_ip2addr | 1 | const void * | | (int,const void *,const char *,int) | | Curl_ip2addr | 2 | const char * | | (int,const void *,const char *,int) | | Curl_ip2addr | 3 | int | +| (int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t) | | __inet_ntop | 0 | int | +| (int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t) | | __inet_ntop | 1 | const void * | +| (int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t) | | __inet_ntop | 2 | const void *__restrict__ | +| (int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t) | | __inet_ntop | 3 | char * | +| (int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t) | | __inet_ntop | 4 | char *__restrict__ | +| (int,const void *,const void *__restrict__,char *,char *__restrict__,socklen_t) | | __inet_ntop | 5 | socklen_t | +| (int,const void *,int,char *,size_t) | | inet_net_ntop | 0 | int | +| (int,const void *,int,char *,size_t) | | inet_net_ntop | 1 | const void * | +| (int,const void *,int,char *,size_t) | | inet_net_ntop | 2 | int | +| (int,const void *,int,char *,size_t) | | inet_net_ntop | 3 | char * | +| (int,const void *,int,char *,size_t) | | inet_net_ntop | 4 | size_t | +| (int,const void *,size_t) | | _nl_intern_locale_data | 0 | int | +| (int,const void *,size_t) | | _nl_intern_locale_data | 1 | const void * | +| (int,const void *,size_t) | | _nl_intern_locale_data | 2 | size_t | +| (int,const void *,size_t) | | writeall | 0 | int | +| (int,const void *,size_t) | | writeall | 1 | const void * | +| (int,const void *,size_t) | | writeall | 2 | size_t | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 0 | int | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 1 | const void * | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 2 | size_t | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 3 | datahead * | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 4 | bool | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 5 | database_dyn * | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 6 | uid_t | +| (int,const void *,size_t,datahead *,bool,database_dyn *,uid_t,bool) | | cache_add | 7 | bool | +| (int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vwprintf_chk | 0 | int | +| (int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vwprintf_chk | 1 | const wchar_t * | +| (int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vwprintf_chk | 2 | const wchar_t *__restrict__ | +| (int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vwprintf_chk | 3 | __gnuc_va_list | +| (int,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vwprintf_chk | 4 | va_list | +| (int,dl_exception *,const char *) | | _dl_signal_cexception | 0 | int | +| (int,dl_exception *,const char *) | | _dl_signal_cexception | 1 | dl_exception * | +| (int,dl_exception *,const char *) | | _dl_signal_cexception | 2 | const char * | +| (int,dl_exception *,const char *) | | _dl_signal_exception | 0 | int | +| (int,dl_exception *,const char *) | | _dl_signal_exception | 1 | dl_exception * | +| (int,dl_exception *,const char *) | | _dl_signal_exception | 2 | const char * | +| (int,double) | | __ieee754_jn | 0 | int | +| (int,double) | | __ieee754_jn | 1 | double | +| (int,double) | | __ieee754_yn | 0 | int | +| (int,double) | | __ieee754_yn | 1 | double | +| (int,double) | | __jn | 0 | int | +| (int,double) | | __jn | 1 | double | +| (int,double) | | __yn | 0 | int | +| (int,double) | | __yn | 1 | double | +| (int,exit_function_list **,bool,bool) | | __run_exit_handlers | 0 | int | +| (int,exit_function_list **,bool,bool) | | __run_exit_handlers | 1 | exit_function_list ** | +| (int,exit_function_list **,bool,bool) | | __run_exit_handlers | 2 | bool | +| (int,exit_function_list **,bool,bool) | | __run_exit_handlers | 3 | bool | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 0 | int | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 1 | fd_set * | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 2 | fd_set * | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 3 | fd_set * | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 4 | const timespec * | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 5 | const __jmpbuf_arch_t * | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 6 | const __sigset_t * | +| (int,fd_set *,fd_set *,fd_set *,const timespec *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | __pselect | 7 | const sigset_t * | +| (int,fd_to_filename *) | | __fd_to_filename | 0 | int | +| (int,fd_to_filename *) | | __fd_to_filename | 1 | fd_to_filename * | +| (int,float) | | __ieee754_jnf | 0 | int | +| (int,float) | | __ieee754_jnf | 1 | float | +| (int,float) | | __ieee754_ynf | 0 | int | +| (int,float) | | __ieee754_ynf | 1 | float | +| (int,float) | | __jnf | 0 | int | +| (int,float) | | __jnf | 1 | float | +| (int,float) | | __ynf | 0 | int | +| (int,float) | | __ynf | 1 | float | +| (int,gaicb *[],int,sigevent *) | | __getaddrinfo_a | 0 | int | +| (int,gaicb *[],int,sigevent *) | | __getaddrinfo_a | 1 | gaicb *[] | +| (int,gaicb *[],int,sigevent *) | | __getaddrinfo_a | 2 | int | +| (int,gaicb *[],int,sigevent *) | | __getaddrinfo_a | 3 | sigevent * | | (int,gzFile) | | gzungetc | 0 | int | | (int,gzFile) | | gzungetc | 1 | gzFile | +| (int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *) | | getipv4sourcefilter | 0 | int | +| (int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *) | | getipv4sourcefilter | 1 | in_addr | +| (int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *) | | getipv4sourcefilter | 2 | in_addr | +| (int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *) | | getipv4sourcefilter | 3 | uint32_t * | +| (int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *) | | getipv4sourcefilter | 4 | uint32_t * | +| (int,in_addr,in_addr,uint32_t *,uint32_t *,in_addr *) | | getipv4sourcefilter | 5 | in_addr * | | (int,int *,int *,int) | | sqlite3_status | 0 | int | | (int,int *,int *,int) | | sqlite3_status | 1 | int * | | (int,int *,int *,int) | | sqlite3_status | 2 | int * | @@ -30958,8 +41054,14 @@ getSignatureParameterName | (int,int) | | EVP_MD_meth_new | 1 | int | | (int,int) | | EVP_PKEY_meth_new | 0 | int | | (int,int) | | EVP_PKEY_meth_new | 1 | int | +| (int,int) | | __isctype | 0 | int | +| (int,int) | | __isctype | 1 | int | | (int,int) | | acttab_alloc | 0 | int | | (int,int) | | acttab_alloc | 1 | int | +| (int,int) | | div | 0 | int | +| (int,int) | | div | 1 | int | +| (int,int) | | inet6_rth_space | 0 | int | +| (int,int) | | inet6_rth_space | 1 | int | | (int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[]) | | BrotliEncoderCompress | 0 | int | | (int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[]) | | BrotliEncoderCompress | 1 | int | | (int,int,BrotliEncoderMode,size_t,const uint8_t[],size_t *,uint8_t[]) | | BrotliEncoderCompress | 2 | BrotliEncoderMode | @@ -30976,14 +41078,43 @@ getSignatureParameterName | (int,int,const char *) | | OSSL_CMP_STATUSINFO_new | 0 | int | | (int,int,const char *) | | OSSL_CMP_STATUSINFO_new | 1 | int | | (int,int,const char *) | | OSSL_CMP_STATUSINFO_new | 2 | const char * | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vdprintf_chk | 0 | int | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vdprintf_chk | 1 | int | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vdprintf_chk | 2 | const char * | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vdprintf_chk | 3 | __gnuc_va_list | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vdprintf_chk | 4 | va_list | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vsyslog_chk | 0 | int | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vsyslog_chk | 1 | int | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vsyslog_chk | 2 | const char * | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vsyslog_chk | 3 | __gnuc_va_list | +| (int,int,const char *,__gnuc_va_list,va_list) | | __vsyslog_chk | 4 | va_list | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 0 | int | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 1 | int | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 2 | const char * | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 3 | __mode_t | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 4 | mode_t | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 5 | __dev_t * | +| (int,int,const char *,__mode_t,mode_t,__dev_t *,dev_t *) | | __xmknodat | 6 | dev_t * | | (int,int,const char *,const char *) | | EVP_PKEY_asn1_new | 0 | int | | (int,int,const char *,const char *) | | EVP_PKEY_asn1_new | 1 | int | | (int,int,const char *,const char *) | | EVP_PKEY_asn1_new | 2 | const char * | | (int,int,const char *,const char *) | | EVP_PKEY_asn1_new | 3 | const char * | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 0 | int | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 1 | int | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 2 | const char * | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 3 | unsigned int | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 4 | const char * | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 5 | va_list | +| (int,int,const char *,unsigned int,const char *,va_list,unsigned int) | | __error_at_line_internal | 6 | unsigned int | | (int,int,const char *,va_list) | | ERR_vset_error | 0 | int | | (int,int,const char *,va_list) | | ERR_vset_error | 1 | int | | (int,int,const char *,va_list) | | ERR_vset_error | 2 | const char * | | (int,int,const char *,va_list) | | ERR_vset_error | 3 | va_list | +| (int,int,const char *,va_list,unsigned int) | | __error_internal | 0 | int | +| (int,int,const char *,va_list,unsigned int) | | __error_internal | 1 | int | +| (int,int,const char *,va_list,unsigned int) | | __error_internal | 2 | const char * | +| (int,int,const char *,va_list,unsigned int) | | __error_internal | 3 | va_list | +| (int,int,const char *,va_list,unsigned int) | | __error_internal | 4 | unsigned int | | (int,int,const unsigned char *,int) | | PKCS5_pbe_set | 0 | int | | (int,int,const unsigned char *,int) | | PKCS5_pbe_set | 1 | int | | (int,int,const unsigned char *,int) | | PKCS5_pbe_set | 2 | const unsigned char * | @@ -31025,20 +41156,129 @@ getSignatureParameterName | (int,int,void *) | | ossl_X509_ALGOR_from_nid | 0 | int | | (int,int,void *) | | ossl_X509_ALGOR_from_nid | 1 | int | | (int,int,void *) | | ossl_X509_ALGOR_from_nid | 2 | void * | +| (int,locale_t) | | __isalnum_l | 0 | int | +| (int,locale_t) | | __isalnum_l | 1 | locale_t | +| (int,locale_t) | | __isalpha_l | 0 | int | +| (int,locale_t) | | __isalpha_l | 1 | locale_t | +| (int,locale_t) | | __isblank_l | 0 | int | +| (int,locale_t) | | __isblank_l | 1 | locale_t | +| (int,locale_t) | | __iscntrl_l | 0 | int | +| (int,locale_t) | | __iscntrl_l | 1 | locale_t | +| (int,locale_t) | | __isdigit_l | 0 | int | +| (int,locale_t) | | __isdigit_l | 1 | locale_t | +| (int,locale_t) | | __isgraph_l | 0 | int | +| (int,locale_t) | | __isgraph_l | 1 | locale_t | +| (int,locale_t) | | __islower_l | 0 | int | +| (int,locale_t) | | __islower_l | 1 | locale_t | +| (int,locale_t) | | __isprint_l | 0 | int | +| (int,locale_t) | | __isprint_l | 1 | locale_t | +| (int,locale_t) | | __ispunct_l | 0 | int | +| (int,locale_t) | | __ispunct_l | 1 | locale_t | +| (int,locale_t) | | __isspace_l | 0 | int | +| (int,locale_t) | | __isspace_l | 1 | locale_t | +| (int,locale_t) | | __isupper_l | 0 | int | +| (int,locale_t) | | __isupper_l | 1 | locale_t | +| (int,locale_t) | | __isxdigit_l | 0 | int | +| (int,locale_t) | | __isxdigit_l | 1 | locale_t | +| (int,locale_t) | | __tolower_l | 0 | int | +| (int,locale_t) | | __tolower_l | 1 | locale_t | +| (int,locale_t) | | __toupper_l | 0 | int | +| (int,locale_t) | | __toupper_l | 1 | locale_t | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 0 | int | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 1 | loff_t * | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 2 | off64_t * | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 3 | int | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 4 | loff_t * | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 5 | off64_t * | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 6 | size_t | +| (int,loff_t *,off64_t *,int,loff_t *,off64_t *,size_t,unsigned int) | | xcopy_file_range | 7 | unsigned int | +| (int,long double) | | __ieee754_jnl | 0 | int | +| (int,long double) | | __ieee754_jnl | 1 | long double | +| (int,long double) | | __ieee754_ynl | 0 | int | +| (int,long double) | | __ieee754_ynl | 1 | long double | +| (int,long double) | | __jnl | 0 | int | +| (int,long double) | | __jnl | 1 | long double | +| (int,long double) | | __ynl | 0 | int | +| (int,long double) | | __ynl | 1 | long double | | (int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *) | | CRYPTO_get_ex_new_index | 0 | int | | (int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *) | | CRYPTO_get_ex_new_index | 1 | long | | (int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *) | | CRYPTO_get_ex_new_index | 2 | void * | | (int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *) | | CRYPTO_get_ex_new_index | 3 | CRYPTO_EX_new * | | (int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *) | | CRYPTO_get_ex_new_index | 4 | CRYPTO_EX_dup * | | (int,long,void *,CRYPTO_EX_new *,CRYPTO_EX_dup *,CRYPTO_EX_free *) | | CRYPTO_get_ex_new_index | 5 | CRYPTO_EX_free * | +| (int,protoent *,char *,size_t,int *) | | _nss_db_getprotobynumber_r | 0 | int | +| (int,protoent *,char *,size_t,int *) | | _nss_db_getprotobynumber_r | 1 | protoent * | +| (int,protoent *,char *,size_t,int *) | | _nss_db_getprotobynumber_r | 2 | char * | +| (int,protoent *,char *,size_t,int *) | | _nss_db_getprotobynumber_r | 3 | size_t | +| (int,protoent *,char *,size_t,int *) | | _nss_db_getprotobynumber_r | 4 | int * | +| (int,protoent *,char *,size_t,int *) | | _nss_files_getprotobynumber_r | 0 | int | +| (int,protoent *,char *,size_t,int *) | | _nss_files_getprotobynumber_r | 1 | protoent * | +| (int,protoent *,char *,size_t,int *) | | _nss_files_getprotobynumber_r | 2 | char * | +| (int,protoent *,char *,size_t,int *) | | _nss_files_getprotobynumber_r | 3 | size_t | +| (int,protoent *,char *,size_t,int *) | | _nss_files_getprotobynumber_r | 4 | int * | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 0 | int | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 1 | protoent * | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 2 | protoent *__restrict__ | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 3 | char * | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 4 | char *__restrict__ | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 5 | size_t | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 6 | protoent ** | +| (int,protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotobynumber_r | 7 | protoent **__restrict__ | +| (int,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbynumber_r | 0 | int | +| (int,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbynumber_r | 1 | rpcent * | +| (int,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbynumber_r | 2 | char * | +| (int,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbynumber_r | 3 | size_t | +| (int,rpcent *,char *,size_t,int *) | | _nss_db_getrpcbynumber_r | 4 | int * | +| (int,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbynumber_r | 0 | int | +| (int,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbynumber_r | 1 | rpcent * | +| (int,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbynumber_r | 2 | char * | +| (int,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbynumber_r | 3 | size_t | +| (int,rpcent *,char *,size_t,int *) | | _nss_files_getrpcbynumber_r | 4 | int * | +| (int,rpcent *,char *,size_t,rpcent **) | | __getrpcbynumber_r | 0 | int | +| (int,rpcent *,char *,size_t,rpcent **) | | __getrpcbynumber_r | 1 | rpcent * | +| (int,rpcent *,char *,size_t,rpcent **) | | __getrpcbynumber_r | 2 | char * | +| (int,rpcent *,char *,size_t,rpcent **) | | __getrpcbynumber_r | 3 | size_t | +| (int,rpcent *,char *,size_t,rpcent **) | | __getrpcbynumber_r | 4 | rpcent ** | | (int,size_t) | | ossl_calculate_comp_expansion | 0 | int | | (int,size_t) | | ossl_calculate_comp_expansion | 1 | size_t | +| (int,sockaddr *,socklen_t *) | | xaccept | 0 | int | +| (int,sockaddr *,socklen_t *) | | xaccept | 1 | sockaddr * | +| (int,sockaddr *,socklen_t *) | | xaccept | 2 | socklen_t * | +| (int,sockaddr *,socklen_t *,int) | | xaccept4 | 0 | int | +| (int,sockaddr *,socklen_t *,int) | | xaccept4 | 1 | sockaddr * | +| (int,sockaddr *,socklen_t *,int) | | xaccept4 | 2 | socklen_t * | +| (int,sockaddr *,socklen_t *,int) | | xaccept4 | 3 | int | | (int,sqlite3_int64 *,sqlite3_int64 *,int) | | sqlite3_status64 | 0 | int | | (int,sqlite3_int64 *,sqlite3_int64 *,int) | | sqlite3_status64 | 1 | sqlite3_int64 * | | (int,sqlite3_int64 *,sqlite3_int64 *,int) | | sqlite3_status64 | 2 | sqlite3_int64 * | | (int,sqlite3_int64 *,sqlite3_int64 *,int) | | sqlite3_status64 | 3 | int | | (int,stat *) | | stat_time_normalize | 0 | int | | (int,stat *) | | stat_time_normalize | 1 | stat * | +| (int,statvfs64 *) | | __fstatvfs64 | 0 | int | +| (int,statvfs64 *) | | __fstatvfs64 | 1 | statvfs64 * | +| (int,u_int,u_int) | | svcfd_create | 0 | int | +| (int,u_int,u_int) | | svcfd_create | 1 | u_int | +| (int,u_int,u_int) | | svcfd_create | 2 | u_int | +| (int,u_int,u_int) | | svctcp_create | 0 | int | +| (int,u_int,u_int) | | svctcp_create | 1 | u_int | +| (int,u_int,u_int) | | svctcp_create | 2 | u_int | +| (int,u_int,u_int) | | svcudp_bufcreate | 0 | int | +| (int,u_int,u_int) | | svcudp_bufcreate | 1 | u_int | +| (int,u_int,u_int) | | svcudp_bufcreate | 2 | u_int | +| (int,u_int,u_int) | | svcunixfd_create | 0 | int | +| (int,u_int,u_int) | | svcunixfd_create | 1 | u_int | +| (int,u_int,u_int) | | svcunixfd_create | 2 | u_int | +| (int,u_int,u_int,char *) | | svcunix_create | 0 | int | +| (int,u_int,u_int,char *) | | svcunix_create | 1 | u_int | +| (int,u_int,u_int,char *) | | svcunix_create | 2 | u_int | +| (int,u_int,u_int,char *) | | svcunix_create | 3 | char * | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 0 | int | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 1 | uint32_t | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 2 | const sockaddr * | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 3 | socklen_t | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 4 | uint32_t * | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 5 | uint32_t * | +| (int,uint32_t,const sockaddr *,socklen_t,uint32_t *,uint32_t *,sockaddr_storage *) | | getsourcefilter | 6 | sockaddr_storage * | | (int,unsigned char *,int,const char *,const char *) | | ASN1_OBJECT_create | 0 | int | | (int,unsigned char *,int,const char *,const char *) | | ASN1_OBJECT_create | 1 | unsigned char * | | (int,unsigned char *,int,const char *,const char *) | | ASN1_OBJECT_create | 2 | int | @@ -31061,9 +41301,13 @@ getSignatureParameterName | (int,void *) | | OSSL_STORE_INFO_new | 1 | void * | | (int,void *) | | sqlite3_randomness | 0 | int | | (int,void *) | | sqlite3_randomness | 1 | void * | +| (int,void *,size_t) | | __readall | 0 | int | +| (int,void *,size_t) | | __readall | 1 | void * | +| (int,void *,size_t) | | __readall | 2 | size_t | | (int_dhx942_dh **,const unsigned char **,long) | | d2i_int_dhx | 0 | int_dhx942_dh ** | | (int_dhx942_dh **,const unsigned char **,long) | | d2i_int_dhx | 1 | const unsigned char ** | | (int_dhx942_dh **,const unsigned char **,long) | | d2i_int_dhx | 2 | long | +| (intptr_t) | | __sbrk | 0 | intptr_t | | (lemon *) | | ResortStates | 0 | lemon * | | (lemon *) | | getstate | 0 | lemon * | | (lemon *,action *) | | compute_action | 0 | lemon * | @@ -31086,6 +41330,154 @@ getSignatureParameterName | (lhash_st_CONF_VALUE *,const char *,long *) | | CONF_load | 0 | lhash_st_CONF_VALUE * | | (lhash_st_CONF_VALUE *,const char *,long *) | | CONF_load | 1 | const char * | | (lhash_st_CONF_VALUE *,const char *,long *) | | CONF_load | 2 | long * | +| (linereader *) | | lr_eof | 0 | linereader * | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 0 | linereader * | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 1 | const charmap_t * | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 2 | const char * | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 3 | localedef_t * | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 4 | token_t | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 5 | int | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 6 | const char * | +| (linereader *,const charmap_t *,const char *,localedef_t *,token_t,int,const char *,int) | | handle_copy | 7 | int | +| (linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int) | | lr_token | 0 | linereader * | +| (linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int) | | lr_token | 1 | const charmap_t * | +| (linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int) | | lr_token | 2 | localedef_t * | +| (linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int) | | lr_token | 3 | const repertoire_t * | +| (linereader *,const charmap_t *,localedef_t *,const repertoire_t *,int) | | lr_token | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | address_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | address_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | address_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | address_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | address_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | identification_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | identification_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | identification_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | identification_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | identification_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | measurement_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | measurement_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | measurement_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | measurement_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | measurement_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | messages_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | messages_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | messages_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | messages_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | messages_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | monetary_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | monetary_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | monetary_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | monetary_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | monetary_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | name_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | name_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | name_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | name_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | name_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | numeric_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | numeric_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | numeric_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | numeric_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | numeric_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | paper_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | paper_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | paper_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | paper_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | paper_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | telephone_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | telephone_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | telephone_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | telephone_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | telephone_read | 4 | int | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | time_read | 0 | linereader * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | time_read | 1 | localedef_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | time_read | 2 | const charmap_t * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | time_read | 3 | const char * | +| (linereader *,localedef_t *,const charmap_t *,const char *,int) | | time_read | 4 | int | +| (link_map *) | | __rtld_malloc_init_real | 0 | link_map * | +| (link_map *) | | _dl_find_object_update | 0 | link_map * | +| (link_map **,unsigned int,bool,bool) | | _dl_sort_maps | 0 | link_map ** | +| (link_map **,unsigned int,bool,bool) | | _dl_sort_maps | 1 | unsigned int | +| (link_map **,unsigned int,bool,bool) | | _dl_sort_maps | 2 | bool | +| (link_map **,unsigned int,bool,bool) | | _dl_sort_maps | 3 | bool | +| (link_map *,Dl_serinfo *,bool) | | _dl_rtld_di_serinfo | 0 | link_map * | +| (link_map *,Dl_serinfo *,bool) | | _dl_rtld_di_serinfo | 1 | Dl_serinfo * | +| (link_map *,Dl_serinfo *,bool) | | _dl_rtld_di_serinfo | 2 | bool | +| (link_map *,Elf64_Word) | | _dl_fixup | 0 | link_map * | +| (link_map *,Elf64_Word) | | _dl_fixup | 1 | Elf64_Word | +| (link_map *,Elf64_Word,Elf64_Addr,void *,long *) | | _dl_profile_fixup | 0 | link_map * | +| (link_map *,Elf64_Word,Elf64_Addr,void *,long *) | | _dl_profile_fixup | 1 | Elf64_Word | +| (link_map *,Elf64_Word,Elf64_Addr,void *,long *) | | _dl_profile_fixup | 2 | Elf64_Addr | +| (link_map *,Elf64_Word,Elf64_Addr,void *,long *) | | _dl_profile_fixup | 3 | void * | +| (link_map *,Elf64_Word,Elf64_Addr,void *,long *) | | _dl_profile_fixup | 4 | long * | +| (link_map *,Lmid_t) | | _dl_add_to_namespace_list | 0 | link_map * | +| (link_map *,Lmid_t) | | _dl_add_to_namespace_list | 1 | Lmid_t | +| (link_map *,Lmid_t) | | _dl_audit_objopen | 0 | link_map * | +| (link_map *,Lmid_t) | | _dl_audit_objopen | 1 | Lmid_t | +| (link_map *,Lmid_t,uintptr_t *) | | la_objopen | 0 | link_map * | +| (link_map *,Lmid_t,uintptr_t *) | | la_objopen | 1 | Lmid_t | +| (link_map *,Lmid_t,uintptr_t *) | | la_objopen | 2 | uintptr_t * | +| (link_map *,const Elf64_Sym *,void **,lookup_t) | | _dl_audit_symbind_alt | 0 | link_map * | +| (link_map *,const Elf64_Sym *,void **,lookup_t) | | _dl_audit_symbind_alt | 1 | const Elf64_Sym * | +| (link_map *,const Elf64_Sym *,void **,lookup_t) | | _dl_audit_symbind_alt | 2 | void ** | +| (link_map *,const Elf64_Sym *,void **,lookup_t) | | _dl_audit_symbind_alt | 3 | lookup_t | +| (link_map *,const char *,char *) | | _dl_dst_substitute | 0 | link_map * | +| (link_map *,const char *,char *) | | _dl_dst_substitute | 1 | const char * | +| (link_map *,const char *,char *) | | _dl_dst_substitute | 2 | char * | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_new_object | 0 | link_map * | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_new_object | 1 | const char * | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_new_object | 2 | int | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_new_object | 3 | int | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_new_object | 4 | int | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_new_object | 5 | Lmid_t | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_object | 0 | link_map * | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_object | 1 | const char * | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_object | 2 | int | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_object | 3 | int | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_object | 4 | int | +| (link_map *,const char *,int,int,int,Lmid_t) | | _dl_map_object | 5 | Lmid_t | +| (link_map *,const char *,uint32_t,const char *,uint32_t) | | _dl_lookup_direct | 0 | link_map * | +| (link_map *,const char *,uint32_t,const char *,uint32_t) | | _dl_lookup_direct | 1 | const char * | +| (link_map *,const char *,uint32_t,const char *,uint32_t) | | _dl_lookup_direct | 2 | uint32_t | +| (link_map *,const char *,uint32_t,const char *,uint32_t) | | _dl_lookup_direct | 3 | const char * | +| (link_map *,const char *,uint32_t,const char *,uint32_t) | | _dl_lookup_direct | 4 | uint32_t | +| (link_map *,int,char **,char **) | | _dl_init | 0 | link_map * | +| (link_map *,int,char **,char **) | | _dl_init | 1 | int | +| (link_map *,int,char **,char **) | | _dl_init | 2 | char ** | +| (link_map *,int,char **,char **) | | _dl_init | 3 | char ** | +| (link_map *,int,const Elf64_Phdr *) | | _dl_process_pt_gnu_property | 0 | link_map * | +| (link_map *,int,const Elf64_Phdr *) | | _dl_process_pt_gnu_property | 1 | int | +| (link_map *,int,const Elf64_Phdr *) | | _dl_process_pt_gnu_property | 2 | const Elf64_Phdr * | +| (link_map *,link_map **,unsigned int,int,int) | | _dl_map_object_deps | 0 | link_map * | +| (link_map *,link_map **,unsigned int,int,int) | | _dl_map_object_deps | 1 | link_map ** | +| (link_map *,link_map **,unsigned int,int,int) | | _dl_map_object_deps | 2 | unsigned int | +| (link_map *,link_map **,unsigned int,int,int) | | _dl_map_object_deps | 3 | int | +| (link_map *,link_map **,unsigned int,int,int) | | _dl_map_object_deps | 4 | int | +| (link_map *,link_map_public *,bool) | | _dl_close_worker | 0 | link_map * | +| (link_map *,link_map_public *,bool) | | _dl_close_worker | 1 | link_map_public * | +| (link_map *,link_map_public *,bool) | | _dl_close_worker | 2 | bool | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object | 0 | link_map * | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object | 1 | r_scope_elem *[] | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object | 2 | int | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object | 3 | int | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object_no_relro | 0 | link_map * | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object_no_relro | 1 | r_scope_elem *[] | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object_no_relro | 2 | int | +| (link_map *,r_scope_elem *[],int,int) | | _dl_relocate_object_no_relro | 3 | int | +| (link_map *,reloc_result *,Elf64_Addr *,void *,long *) | | _dl_audit_pltenter | 0 | link_map * | +| (link_map *,reloc_result *,Elf64_Addr *,void *,long *) | | _dl_audit_pltenter | 1 | reloc_result * | +| (link_map *,reloc_result *,Elf64_Addr *,void *,long *) | | _dl_audit_pltenter | 2 | Elf64_Addr * | +| (link_map *,reloc_result *,Elf64_Addr *,void *,long *) | | _dl_audit_pltenter | 3 | void * | +| (link_map *,reloc_result *,Elf64_Addr *,void *,long *) | | _dl_audit_pltenter | 4 | long * | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 0 | link_map * | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 1 | reloc_result * | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 2 | const void * | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 3 | const Elf64_Sym * | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 4 | Elf64_Addr * | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 5 | lookup_t | +| (link_map *,reloc_result *,const void *,const Elf64_Sym *,Elf64_Addr *,lookup_t,bool) | | _dl_audit_symbind | 6 | bool | +| (link_map *,size_t) | | _dl_make_tlsdesc_dynamic | 0 | link_map * | +| (link_map *,size_t) | | _dl_make_tlsdesc_dynamic | 1 | size_t | | (list &&) | list | list | 0 | list && | | (list &&,const Allocator &) | list | list | 0 | list && | | (list &&,const Allocator &) | list | list | 1 | const class:1 & | @@ -31095,6 +41487,37 @@ getSignatureParameterName | (list_head *,list_node *) | | _libssh2_list_add | 1 | list_node * | | (list_node *) | | _libssh2_list_next | 0 | list_node * | | (list_node *) | | _libssh2_list_prev | 0 | list_node * | +| (list_t *,list_t *) | | __nptl_stack_list_add | 0 | list_t * | +| (list_t *,list_t *) | | __nptl_stack_list_add | 1 | list_t * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 0 | loaded_l10nfile ** | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 1 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 2 | size_t | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 3 | int | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 4 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 5 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 6 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 7 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 8 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 9 | const char * | +| (loaded_l10nfile **,const char *,size_t,int,const char *,const char *,const char *,const char *,const char *,const char *,int) | | _nl_make_l10nflist | 10 | int | +| (loaded_l10nfile *,binding *,const char *,int,size_t *) | | _nl_find_msg | 0 | loaded_l10nfile * | +| (loaded_l10nfile *,binding *,const char *,int,size_t *) | | _nl_find_msg | 1 | binding * | +| (loaded_l10nfile *,binding *,const char *,int,size_t *) | | _nl_find_msg | 2 | const char * | +| (loaded_l10nfile *,binding *,const char *,int,size_t *) | | _nl_find_msg | 3 | int | +| (loaded_l10nfile *,binding *,const char *,int,size_t *) | | _nl_find_msg | 4 | size_t * | +| (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 0 | locale_file * | +| (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 1 | const uint32_t * | +| (locale_file *,const uint32_t *,size_t) | | add_locale_uint32_array | 2 | size_t | +| (locale_file *,size_t) | | init_locale_data | 0 | locale_file * | +| (locale_file *,size_t) | | init_locale_data | 1 | size_t | +| (locale_t) | | __duplocale | 0 | locale_t | +| (locale_t,const char *,const char *) | | __translated_number_width | 0 | locale_t | +| (locale_t,const char *,const char *) | | __translated_number_width | 1 | const char * | +| (locale_t,const char *,const char *) | | __translated_number_width | 2 | const char * | +| (locarhandle *,const char *,locale_data_t,bool) | | add_locale_to_archive | 0 | locarhandle * | +| (locarhandle *,const char *,locale_data_t,bool) | | add_locale_to_archive | 1 | const char * | +| (locarhandle *,const char *,locale_data_t,bool) | | add_locale_to_archive | 2 | locale_data_t | +| (locarhandle *,const char *,locale_data_t,bool) | | add_locale_to_archive | 3 | bool | | (long *,const char *) | | secs2ms | 0 | long * | | (long *,const char *) | | secs2ms | 1 | const char * | | (long *,const char *) | | str2num | 0 | long * | @@ -31107,10 +41530,342 @@ getSignatureParameterName | (long *,const char *,long) | | str2unummax | 0 | long * | | (long *,const char *,long) | | str2unummax | 1 | const char * | | (long *,const char *,long) | | str2unummax | 2 | long | +| (long double *,const long double *) | | __canonicalizel | 0 | long double * | +| (long double *,const long double *) | | __canonicalizel | 1 | const long double * | +| (long double *,long double) | | __setpayloadl | 0 | long double * | +| (long double *,long double) | | __setpayloadl | 1 | long double | +| (long double *,long double) | | __setpayloadsigl | 0 | long double * | +| (long double *,long double) | | __setpayloadsigl | 1 | long double | +| (long double) | | __acoshl | 0 | long double | +| (long double) | | __acosl | 0 | long double | +| (long double) | | __acospil | 0 | long double | +| (long double) | | __asinhl | 0 | long double | +| (long double) | | __asinl | 0 | long double | +| (long double) | | __asinpil | 0 | long double | +| (long double) | | __atanhl | 0 | long double | +| (long double) | | __cbrtl | 0 | long double | +| (long double) | | __coshl | 0 | long double | +| (long double) | | __cosl | 0 | long double | +| (long double) | | __erfcl | 0 | long double | +| (long double) | | __erfl | 0 | long double | +| (long double) | | __exp2l | 0 | long double | +| (long double) | | __exp10l | 0 | long double | +| (long double) | | __expl | 0 | long double | +| (long double) | | __ieee754_acoshl | 0 | long double | +| (long double) | | __ieee754_asinl | 0 | long double | +| (long double) | | __ieee754_atanhl | 0 | long double | +| (long double) | | __ieee754_coshl | 0 | long double | +| (long double) | | __ieee754_j0l | 0 | long double | +| (long double) | | __ieee754_j1l | 0 | long double | +| (long double) | | __ieee754_sinhl | 0 | long double | +| (long double) | | __ieee754_y0l | 0 | long double | +| (long double) | | __ieee754_y1l | 0 | long double | +| (long double) | | __iscanonicall | 0 | long double | +| (long double) | | __isinfl | 0 | long double | +| (long double) | | __isnanl | 0 | long double | +| (long double) | | __j0l | 0 | long double | +| (long double) | | __j1l | 0 | long double | +| (long double) | | __lgammal | 0 | long double | +| (long double) | | __lgammal_compat | 0 | long double | +| (long double) | | __llroundl | 0 | long double | +| (long double) | | __log2l | 0 | long double | +| (long double) | | __log2p1l | 0 | long double | +| (long double) | | __log10l | 0 | long double | +| (long double) | | __log10p1l | 0 | long double | +| (long double) | | __logl | 0 | long double | +| (long double) | | __lroundl | 0 | long double | +| (long double) | | __nextdownl | 0 | long double | +| (long double) | | __nextupl | 0 | long double | +| (long double) | | __roundevenl | 0 | long double | +| (long double) | | __roundl | 0 | long double | +| (long double) | | __sinhl | 0 | long double | +| (long double) | | __sinl | 0 | long double | +| (long double) | | __sinpil | 0 | long double | +| (long double) | | __sqrtl | 0 | long double | +| (long double) | | __tanhl | 0 | long double | +| (long double) | | __tanl | 0 | long double | +| (long double) | | __tanpil | 0 | long double | +| (long double) | | __tgammal | 0 | long double | +| (long double) | | __y0l | 0 | long double | +| (long double) | | __y1l | 0 | long double | +| (long double,int *) | | __frexpl | 0 | long double | +| (long double,int *) | | __frexpl | 1 | int * | +| (long double,int *) | | __ieee754_gammal_r | 0 | long double | +| (long double,int *) | | __ieee754_gammal_r | 1 | int * | +| (long double,int *) | | __ieee754_lgammal_r | 0 | long double | +| (long double,int *) | | __ieee754_lgammal_r | 1 | int * | +| (long double,int *) | | __lgamma_negl | 0 | long double | +| (long double,int *) | | __lgamma_negl | 1 | int * | +| (long double,int *) | | __lgammal_r | 0 | long double | +| (long double,int *) | | __lgammal_r | 1 | int * | +| (long double,int) | | __ldexpl | 0 | long double | +| (long double,int) | | __ldexpl | 1 | int | +| (long double,int,char *) | | __qgcvt | 0 | long double | +| (long double,int,char *) | | __qgcvt | 1 | int | +| (long double,int,char *) | | __qgcvt | 2 | char * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qecvt | 0 | long double | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qecvt | 1 | int | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qecvt | 2 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qecvt | 3 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qecvt | 4 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qecvt | 5 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qfcvt | 0 | long double | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qfcvt | 1 | int | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qfcvt | 2 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qfcvt | 3 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qfcvt | 4 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__) | | __qfcvt | 5 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 0 | long double | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 1 | int | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 2 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 3 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 4 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 5 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 6 | char * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 7 | char *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qecvt_r | 8 | size_t | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 0 | long double | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 1 | int | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 2 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 3 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 4 | int * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 5 | int *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 6 | char * | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 7 | char *__restrict__ | +| (long double,int,int *,int *__restrict__,int *,int *__restrict__,char *,char *__restrict__,size_t) | | __qfcvt_r | 8 | size_t | +| (long double,int,unsigned int) | | __fromfpl | 0 | long double | +| (long double,int,unsigned int) | | __fromfpl | 1 | int | +| (long double,int,unsigned int) | | __fromfpl | 2 | unsigned int | +| (long double,int,unsigned int) | | __fromfpxl | 0 | long double | +| (long double,int,unsigned int) | | __fromfpxl | 1 | int | +| (long double,int,unsigned int) | | __fromfpxl | 2 | unsigned int | +| (long double,int,unsigned int) | | __ufromfpl | 0 | long double | +| (long double,int,unsigned int) | | __ufromfpl | 1 | int | +| (long double,int,unsigned int) | | __ufromfpl | 2 | unsigned int | +| (long double,int,unsigned int) | | __ufromfpxl | 0 | long double | +| (long double,int,unsigned int) | | __ufromfpxl | 1 | int | +| (long double,int,unsigned int) | | __ufromfpxl | 2 | unsigned int | +| (long double,long double *) | | __ieee754_rem_pio2l | 0 | long double | +| (long double,long double *) | | __ieee754_rem_pio2l | 1 | long double * | +| (long double,long double *) | | __modfl | 0 | long double | +| (long double,long double *) | | __modfl | 1 | long double * | +| (long double,long double *,long double *) | | __sincosl | 0 | long double | +| (long double,long double *,long double *) | | __sincosl | 1 | long double * | +| (long double,long double *,long double *) | | __sincosl | 2 | long double * | +| (long double,long double) | | __atan2l | 0 | long double | +| (long double,long double) | | __atan2l | 1 | long double | +| (long double,long double) | | __daddl | 0 | long double | +| (long double,long double) | | __daddl | 1 | long double | +| (long double,long double) | | __ddivl | 0 | long double | +| (long double,long double) | | __ddivl | 1 | long double | +| (long double,long double) | | __dmull | 0 | long double | +| (long double,long double) | | __dmull | 1 | long double | +| (long double,long double) | | __dsubl | 0 | long double | +| (long double,long double) | | __dsubl | 1 | long double | +| (long double,long double) | | __faddl | 0 | long double | +| (long double,long double) | | __faddl | 1 | long double | +| (long double,long double) | | __fdiml | 0 | long double | +| (long double,long double) | | __fdiml | 1 | long double | +| (long double,long double) | | __fdivl | 0 | long double | +| (long double,long double) | | __fdivl | 1 | long double | +| (long double,long double) | | __fmaximum_mag_numl | 0 | long double | +| (long double,long double) | | __fmaximum_mag_numl | 1 | long double | +| (long double,long double) | | __fmaximum_magl | 0 | long double | +| (long double,long double) | | __fmaximum_magl | 1 | long double | +| (long double,long double) | | __fmaximum_numl | 0 | long double | +| (long double,long double) | | __fmaximum_numl | 1 | long double | +| (long double,long double) | | __fmaximuml | 0 | long double | +| (long double,long double) | | __fmaximuml | 1 | long double | +| (long double,long double) | | __fmaxmagl | 0 | long double | +| (long double,long double) | | __fmaxmagl | 1 | long double | +| (long double,long double) | | __fminimum_mag_numl | 0 | long double | +| (long double,long double) | | __fminimum_mag_numl | 1 | long double | +| (long double,long double) | | __fminimum_magl | 0 | long double | +| (long double,long double) | | __fminimum_magl | 1 | long double | +| (long double,long double) | | __fminimum_numl | 0 | long double | +| (long double,long double) | | __fminimum_numl | 1 | long double | +| (long double,long double) | | __fminimuml | 0 | long double | +| (long double,long double) | | __fminimuml | 1 | long double | +| (long double,long double) | | __fminmagl | 0 | long double | +| (long double,long double) | | __fminmagl | 1 | long double | +| (long double,long double) | | __fmodl | 0 | long double | +| (long double,long double) | | __fmodl | 1 | long double | +| (long double,long double) | | __fmull | 0 | long double | +| (long double,long double) | | __fmull | 1 | long double | +| (long double,long double) | | __fsubl | 0 | long double | +| (long double,long double) | | __fsubl | 1 | long double | +| (long double,long double) | | __hypotl | 0 | long double | +| (long double,long double) | | __hypotl | 1 | long double | +| (long double,long double) | | __ieee754_hypotl | 0 | long double | +| (long double,long double) | | __ieee754_hypotl | 1 | long double | +| (long double,long double) | | __kernel_cosl | 0 | long double | +| (long double,long double) | | __kernel_cosl | 1 | long double | +| (long double,long double) | | __nextafterl | 0 | long double | +| (long double,long double) | | __nextafterl | 1 | long double | +| (long double,long double) | | __powl | 0 | long double | +| (long double,long double) | | __powl | 1 | long double | +| (long double,long double) | | __powrl | 0 | long double | +| (long double,long double) | | __powrl | 1 | long double | +| (long double,long double) | | __remainderl | 0 | long double | +| (long double,long double) | | __remainderl | 1 | long double | +| (long double,long double) | | __scalbl | 0 | long double | +| (long double,long double) | | __scalbl | 1 | long double | +| (long double,long double) | | __x2y2m1l | 0 | long double | +| (long double,long double) | | __x2y2m1l | 1 | long double | +| (long double,long double,int *) | | __remquol | 0 | long double | +| (long double,long double,int *) | | __remquol | 1 | long double | +| (long double,long double,int *) | | __remquol | 2 | int * | +| (long double,long double,int) | | __kernel_sinl | 0 | long double | +| (long double,long double,int) | | __kernel_sinl | 1 | long double | +| (long double,long double,int) | | __kernel_sinl | 2 | int | +| (long double,long double,int) | | __kernel_standard_l | 0 | long double | +| (long double,long double,int) | | __kernel_standard_l | 1 | long double | +| (long double,long double,int) | | __kernel_standard_l | 2 | int | +| (long double,long double,int) | | __kernel_tanl | 0 | long double | +| (long double,long double,int) | | __kernel_tanl | 1 | long double | +| (long double,long double,int) | | __kernel_tanl | 2 | int | +| (long double,long double,int,long double *) | | __gamma_productl | 0 | long double | +| (long double,long double,int,long double *) | | __gamma_productl | 1 | long double | +| (long double,long double,int,long double *) | | __gamma_productl | 2 | int | +| (long double,long double,int,long double *) | | __gamma_productl | 3 | long double * | +| (long double,long double,long double) | | __dfmal | 0 | long double | +| (long double,long double,long double) | | __dfmal | 1 | long double | +| (long double,long double,long double) | | __dfmal | 2 | long double | +| (long double,long double,long double) | | __ffmal | 0 | long double | +| (long double,long double,long double) | | __ffmal | 1 | long double | +| (long double,long double,long double) | | __ffmal | 2 | long double | +| (long double,long double,long double) | | __fmal | 0 | long double | +| (long double,long double,long double) | | __fmal | 1 | long double | +| (long double,long double,long double) | | __fmal | 2 | long double | +| (long double,long double,long double,int) | | __lgamma_productl | 0 | long double | +| (long double,long double,long double,int) | | __lgamma_productl | 1 | long double | +| (long double,long double,long double,int) | | __lgamma_productl | 2 | long double | +| (long double,long double,long double,int) | | __lgamma_productl | 3 | int | +| (long double,long long) | | __compoundnl | 0 | long double | +| (long double,long long) | | __compoundnl | 1 | long long | +| (long double,long long) | | __rootnl | 0 | long double | +| (long double,long long) | | __rootnl | 1 | long long | +| (long double,long) | | __scalblnl | 0 | long double | +| (long double,long) | | __scalblnl | 1 | long | +| (long double,long) | | __w_scalblnl | 0 | long double | +| (long double,long) | | __w_scalblnl | 1 | long | | (long long *) | | uv__get_constrained_cpu | 0 | long long * | +| (long long) | | llabs | 0 | long long | +| (long long) | | ullabs | 0 | long long | +| (long long,long long) | | lldiv | 0 | long long | +| (long long,long long) | | lldiv | 1 | long long | +| (long) | | __fdelt_chk | 0 | long | +| (long) | | __math_invalid_li | 0 | long | +| (long) | | __math_invalidf_li | 0 | long | | (long) | | curlx_sltosi | 0 | long | | (long) | | curlx_sltoui | 0 | long | | (long) | | curlx_sltous | 0 | long | +| (long) | | l64a | 0 | long | +| (long) | | ulabs | 0 | long | +| (long,drand48_data *) | | __srand48_r | 0 | long | +| (long,drand48_data *) | | __srand48_r | 1 | drand48_data * | +| (long,long) | | ldiv | 0 | long | +| (long,long) | | ldiv | 1 | long | +| (md5_ctx *,void *) | | __md5_finish_ctx | 0 | md5_ctx * | +| (md5_ctx *,void *) | | __md5_finish_ctx | 1 | void * | +| (mp_ptr,mp_size_t,int *,int *,_Float128) | | __mpn_extract_float128 | 0 | mp_ptr | +| (mp_ptr,mp_size_t,int *,int *,_Float128) | | __mpn_extract_float128 | 1 | mp_size_t | +| (mp_ptr,mp_size_t,int *,int *,_Float128) | | __mpn_extract_float128 | 2 | int * | +| (mp_ptr,mp_size_t,int *,int *,_Float128) | | __mpn_extract_float128 | 3 | int * | +| (mp_ptr,mp_size_t,int *,int *,_Float128) | | __mpn_extract_float128 | 4 | _Float128 | +| (mp_ptr,mp_size_t,int *,int *,double) | | __mpn_extract_double | 0 | mp_ptr | +| (mp_ptr,mp_size_t,int *,int *,double) | | __mpn_extract_double | 1 | mp_size_t | +| (mp_ptr,mp_size_t,int *,int *,double) | | __mpn_extract_double | 2 | int * | +| (mp_ptr,mp_size_t,int *,int *,double) | | __mpn_extract_double | 3 | int * | +| (mp_ptr,mp_size_t,int *,int *,double) | | __mpn_extract_double | 4 | double | +| (mp_ptr,mp_size_t,int *,int *,long double) | | __mpn_extract_long_double | 0 | mp_ptr | +| (mp_ptr,mp_size_t,int *,int *,long double) | | __mpn_extract_long_double | 1 | mp_size_t | +| (mp_ptr,mp_size_t,int *,int *,long double) | | __mpn_extract_long_double | 2 | int * | +| (mp_ptr,mp_size_t,int *,int *,long double) | | __mpn_extract_long_double | 3 | int * | +| (mp_ptr,mp_size_t,int *,int *,long double) | | __mpn_extract_long_double | 4 | long double | +| (mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_divrem | 0 | mp_ptr | +| (mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_divrem | 1 | mp_size_t | +| (mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_divrem | 2 | mp_ptr | +| (mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_divrem | 3 | mp_size_t | +| (mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_divrem | 4 | mp_srcptr | +| (mp_ptr,mp_size_t,mp_ptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_divrem | 5 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t) | | __mpn_impn_sqr_n_basecase | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t) | | __mpn_impn_sqr_n_basecase | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t) | | __mpn_impn_sqr_n_basecase | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_add_1 | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_add_1 | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_add_1 | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_add_1 | 3 | mp_limb_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_divmod_1 | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_divmod_1 | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_divmod_1 | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_divmod_1 | 3 | mp_limb_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_sub_1 | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_sub_1 | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_sub_1 | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_sub_1 | 3 | mp_limb_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_sqr_n | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_sqr_n | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_sqr_n | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_sqr_n | 3 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_add | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_add | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_add | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_add | 3 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_add | 4 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_mul | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_mul | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_mul | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_mul | 3 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_mul | 4 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_sub | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_sub | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_sub | 2 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_sub | 3 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_size_t,mp_srcptr,mp_size_t) | | __mpn_sub | 4 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_impn_mul_n_basecase | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_impn_mul_n_basecase | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_impn_mul_n_basecase | 2 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_impn_mul_n_basecase | 3 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_mul_n | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_mul_n | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_mul_n | 2 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t) | | __mpn_mul_n | 3 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_mul_n | 0 | mp_ptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_mul_n | 1 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_mul_n | 2 | mp_srcptr | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_mul_n | 3 | mp_size_t | +| (mp_ptr,mp_srcptr,mp_srcptr,mp_size_t,mp_ptr) | | __mpn_impn_mul_n | 4 | mp_ptr | +| (mp_srcptr,int,int) | | __mpn_construct_double | 0 | mp_srcptr | +| (mp_srcptr,int,int) | | __mpn_construct_double | 1 | int | +| (mp_srcptr,int,int) | | __mpn_construct_double | 2 | int | +| (mp_srcptr,int,int) | | __mpn_construct_float | 0 | mp_srcptr | +| (mp_srcptr,int,int) | | __mpn_construct_float | 1 | int | +| (mp_srcptr,int,int) | | __mpn_construct_float | 2 | int | +| (mp_srcptr,int,int) | | __mpn_construct_float128 | 0 | mp_srcptr | +| (mp_srcptr,int,int) | | __mpn_construct_float128 | 1 | int | +| (mp_srcptr,int,int) | | __mpn_construct_float128 | 2 | int | +| (mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_mod_1 | 0 | mp_srcptr | +| (mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_mod_1 | 1 | mp_size_t | +| (mp_srcptr,mp_size_t,mp_limb_t) | | __mpn_mod_1 | 2 | mp_limb_t | +| (msghdr *,cmsghdr *) | | __cmsg_nxthdr | 0 | msghdr * | +| (msghdr *,cmsghdr *) | | __cmsg_nxthdr | 1 | cmsghdr * | +| (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 0 | netent * | +| (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 1 | char * | +| (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 2 | size_t | +| (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 3 | int * | +| (netent *,char *,size_t,int *,int *) | | _nss_files_getnetent_r | 4 | int * | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 0 | netent * | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 1 | netent *__restrict__ | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 2 | char * | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 3 | char *__restrict__ | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 4 | size_t | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 5 | netent ** | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 6 | netent **__restrict__ | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 7 | int * | +| (netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetent_r | 8 | int *__restrict__ | +| (netlink_handle *,int) | | __netlink_request | 0 | netlink_handle * | +| (netlink_handle *,int) | | __netlink_request | 1 | int | | (nghttp2_buf *,size_t,nghttp2_mem *) | | nghttp2_buf_init2 | 0 | nghttp2_buf * | | (nghttp2_buf *,size_t,nghttp2_mem *) | | nghttp2_buf_init2 | 1 | size_t | | (nghttp2_buf *,size_t,nghttp2_mem *) | | nghttp2_buf_init2 | 2 | nghttp2_mem * | @@ -31697,18 +42452,211 @@ getSignatureParameterName | (nghttp2_window_update *,uint8_t,int32_t,int32_t) | | nghttp2_frame_window_update_init | 1 | uint8_t | | (nghttp2_window_update *,uint8_t,int32_t,int32_t) | | nghttp2_frame_window_update_init | 2 | int32_t | | (nghttp2_window_update *,uint8_t,int32_t,int32_t) | | nghttp2_frame_window_update_init | 3 | int32_t | +| (nis_server **) | | nis_freeservlist | 0 | nis_server ** | +| (nl_catd,int,int,const char *) | | catgets | 0 | nl_catd | +| (nl_catd,int,int,const char *) | | catgets | 1 | int | +| (nl_catd,int,int,const char *) | | catgets | 2 | int | +| (nl_catd,int,int,const char *) | | catgets | 3 | const char * | +| (nl_item) | | nl_langinfo | 0 | nl_item | +| (nl_item,locale_t) | | __nl_langinfo_l | 0 | nl_item | +| (nl_item,locale_t) | | __nl_langinfo_l | 1 | locale_t | +| (ns_msg *,ns_sect,int,ns_rr *) | | ns_parserr | 0 | ns_msg * | +| (ns_msg *,ns_sect,int,ns_rr *) | | ns_parserr | 1 | ns_sect | +| (ns_msg *,ns_sect,int,ns_rr *) | | ns_parserr | 2 | int | +| (ns_msg *,ns_sect,int,ns_rr *) | | ns_parserr | 3 | ns_rr * | +| (ns_msg,int) | | ns_msg_getflag | 0 | ns_msg | +| (ns_msg,int) | | ns_msg_getflag | 1 | int | +| (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 0 | ns_rr_cursor * | +| (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 1 | const unsigned char * | +| (ns_rr_cursor *,const unsigned char *,size_t) | | __ns_rr_cursor_init | 2 | size_t | +| (ns_rr_cursor *,ns_rr_wire *) | | __ns_rr_cursor_next | 0 | ns_rr_cursor * | +| (ns_rr_cursor *,ns_rr_wire *) | | __ns_rr_cursor_next | 1 | ns_rr_wire * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_aliases_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_aliases_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_aliases_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_aliases_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_aliases_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_ethers_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_ethers_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_ethers_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_ethers_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_ethers_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_group_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_group_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_group_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_group_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_group_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_gshadow_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_gshadow_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_gshadow_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_gshadow_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_gshadow_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_hosts_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_hosts_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_hosts_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_hosts_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_hosts_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_lookup | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_lookup | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_lookup | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_lookup | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_lookup | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_netgroup_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_netgroup_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_netgroup_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_netgroup_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_netgroup_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_networks_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_networks_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_networks_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_networks_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_networks_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_passwd_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_passwd_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_passwd_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_passwd_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_passwd_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_protocols_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_protocols_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_protocols_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_protocols_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_protocols_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_publickey_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_publickey_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_publickey_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_publickey_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_publickey_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_rpc_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_rpc_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_rpc_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_rpc_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_rpc_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_services_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_services_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_services_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_services_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_services_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_shadow_lookup2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_shadow_lookup2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_shadow_lookup2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_shadow_lookup2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **) | | __nss_shadow_lookup2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 0 | nss_action ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 1 | nss_action_list * | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 2 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 3 | const char * | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 4 | void ** | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 5 | int | +| (nss_action **,nss_action_list *,const char *,const char *,void **,int,int) | | __nss_next2 | 6 | int | +| (nss_action *,size_t) | | __nss_action_allocate | 0 | nss_action * | +| (nss_action *,size_t) | | __nss_action_allocate | 1 | size_t | +| (nss_database) | | __nss_database_get_noreload | 0 | nss_database | +| (nss_database,nss_action_list *) | | __nss_database_get | 0 | nss_database | +| (nss_database,nss_action_list *) | | __nss_database_get | 1 | nss_action_list * | +| (nss_database_data *) | | __nss_database_fork_subprocess | 0 | nss_database_data * | +| (nss_files_per_file_data **,nss_files_file,const char *,int *,int *) | | __nss_files_data_open | 0 | nss_files_per_file_data ** | +| (nss_files_per_file_data **,nss_files_file,const char *,int *,int *) | | __nss_files_data_open | 1 | nss_files_file | +| (nss_files_per_file_data **,nss_files_file,const char *,int *,int *) | | __nss_files_data_open | 2 | const char * | +| (nss_files_per_file_data **,nss_files_file,const char *,int *,int *) | | __nss_files_data_open | 3 | int * | +| (nss_files_per_file_data **,nss_files_file,const char *,int *,int *) | | __nss_files_data_open | 4 | int * | +| (nss_module *,const char *) | | __nss_module_get_function | 0 | nss_module * | +| (nss_module *,const char *) | | __nss_module_get_function | 1 | const char * | +| (obstack *) | | _obstack_memory_used | 0 | obstack * | +| (obstack *,const char *,va_list) | | __obstack_vprintf | 0 | obstack * | +| (obstack *,const char *,va_list) | | __obstack_vprintf | 1 | const char * | +| (obstack *,const char *,va_list) | | __obstack_vprintf | 2 | va_list | +| (obstack *,const char *,va_list,unsigned int) | | __obstack_vprintf_internal | 0 | obstack * | +| (obstack *,const char *,va_list,unsigned int) | | __obstack_vprintf_internal | 1 | const char * | +| (obstack *,const char *,va_list,unsigned int) | | __obstack_vprintf_internal | 2 | va_list | +| (obstack *,const char *,va_list,unsigned int) | | __obstack_vprintf_internal | 3 | unsigned int | +| (obstack *,int) | | _obstack_newchunk | 0 | obstack * | +| (obstack *,int) | | _obstack_newchunk | 1 | int | +| (obstack *,int,const char *,__gnuc_va_list,va_list) | | __obstack_vprintf_chk | 0 | obstack * | +| (obstack *,int,const char *,__gnuc_va_list,va_list) | | __obstack_vprintf_chk | 1 | int | +| (obstack *,int,const char *,__gnuc_va_list,va_list) | | __obstack_vprintf_chk | 2 | const char * | +| (obstack *,int,const char *,__gnuc_va_list,va_list) | | __obstack_vprintf_chk | 3 | __gnuc_va_list | +| (obstack *,int,const char *,__gnuc_va_list,va_list) | | __obstack_vprintf_chk | 4 | va_list | +| (obstack *,int,int,..(*)(..),..(*)(..)) | | _obstack_begin | 0 | obstack * | +| (obstack *,int,int,..(*)(..),..(*)(..)) | | _obstack_begin | 1 | int | +| (obstack *,int,int,..(*)(..),..(*)(..)) | | _obstack_begin | 2 | int | +| (obstack *,int,int,..(*)(..),..(*)(..)) | | _obstack_begin | 3 | ..(*)(..) | +| (obstack *,int,int,..(*)(..),..(*)(..)) | | _obstack_begin | 4 | ..(*)(..) | +| (obstack *,int,int,..(*)(..),..(*)(..),void *) | | _obstack_begin_1 | 0 | obstack * | +| (obstack *,int,int,..(*)(..),..(*)(..),void *) | | _obstack_begin_1 | 1 | int | +| (obstack *,int,int,..(*)(..),..(*)(..),void *) | | _obstack_begin_1 | 2 | int | +| (obstack *,int,int,..(*)(..),..(*)(..),void *) | | _obstack_begin_1 | 3 | ..(*)(..) | +| (obstack *,int,int,..(*)(..),..(*)(..),void *) | | _obstack_begin_1 | 4 | ..(*)(..) | +| (obstack *,int,int,..(*)(..),..(*)(..),void *) | | _obstack_begin_1 | 5 | void * | +| (obstack *,void *) | | _obstack_allocated_p | 0 | obstack * | +| (obstack *,void *) | | _obstack_allocated_p | 1 | void * | +| (obstack *,void *) | | obstack_free | 0 | obstack * | +| (obstack *,void *) | | obstack_free | 1 | void * | +| (old_termios_t *,speed_t) | | __old_cfsetispeed | 0 | old_termios_t * | +| (old_termios_t *,speed_t) | | __old_cfsetispeed | 1 | speed_t | +| (old_termios_t *,speed_t) | | __old_cfsetospeed | 0 | old_termios_t * | +| (old_termios_t *,speed_t) | | __old_cfsetospeed | 1 | speed_t | +| (old_termios_t *,speed_t) | | __old_cfsetspeed | 0 | old_termios_t * | +| (old_termios_t *,speed_t) | | __old_cfsetspeed | 1 | speed_t | +| (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 0 | passwd * | +| (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 1 | char * | +| (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 2 | size_t | +| (passwd *,char *,size_t,int *) | | _nss_compat_getpwent_r | 3 | int * | +| (passwd *,char *,size_t,int *) | | _nss_db_getpwent_r | 0 | passwd * | +| (passwd *,char *,size_t,int *) | | _nss_db_getpwent_r | 1 | char * | +| (passwd *,char *,size_t,int *) | | _nss_db_getpwent_r | 2 | size_t | +| (passwd *,char *,size_t,int *) | | _nss_db_getpwent_r | 3 | int * | +| (passwd *,char *,size_t,int *) | | _nss_files_getpwent_r | 0 | passwd * | +| (passwd *,char *,size_t,int *) | | _nss_files_getpwent_r | 1 | char * | +| (passwd *,char *,size_t,int *) | | _nss_files_getpwent_r | 2 | size_t | +| (passwd *,char *,size_t,int *) | | _nss_files_getpwent_r | 3 | int * | +| (passwd *,char *,size_t,passwd **) | | __getpwent_r | 0 | passwd * | +| (passwd *,char *,size_t,passwd **) | | __getpwent_r | 1 | char * | +| (passwd *,char *,size_t,passwd **) | | __getpwent_r | 2 | size_t | +| (passwd *,char *,size_t,passwd **) | | __getpwent_r | 3 | passwd ** | | (pgrs_dir *,curl_off_t,curltime) | | Curl_pgrsLimitWaitTime | 0 | pgrs_dir * | | (pgrs_dir *,curl_off_t,curltime) | | Curl_pgrsLimitWaitTime | 1 | curl_off_t | | (pgrs_dir *,curl_off_t,curltime) | | Curl_pgrsLimitWaitTime | 2 | curltime | +| (pid_t,clockid_t *) | | __clock_getcpuclockid | 0 | pid_t | +| (pid_t,clockid_t *) | | __clock_getcpuclockid | 1 | clockid_t * | | (piterator *) | | pqueue_next | 0 | piterator * | | (plink *) | | Plink_delete | 0 | plink * | | (plink **,config *) | | Plink_add | 0 | plink ** | | (plink **,config *) | | Plink_add | 1 | config * | | (plink **,plink *) | | Plink_copy | 0 | plink ** | | (plink **,plink *) | | Plink_copy | 1 | plink * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *) | | ppoll | 0 | pollfd * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *) | | ppoll | 1 | nfds_t | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *) | | ppoll | 2 | const timespec * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *) | | ppoll | 3 | const __sigset_t * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,const sigset_t *) | | ppoll | 4 | const sigset_t * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long) | | __ppoll_chk | 0 | pollfd * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long) | | __ppoll_chk | 1 | nfds_t | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long) | | __ppoll_chk | 2 | const timespec * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long) | | __ppoll_chk | 3 | const __sigset_t * | +| (pollfd *,nfds_t,const timespec *,const __sigset_t *,unsigned long) | | __ppoll_chk | 4 | unsigned long | | (pollfd[],unsigned int,timediff_t) | | Curl_poll | 0 | pollfd[] | | (pollfd[],unsigned int,timediff_t) | | Curl_poll | 1 | unsigned int | | (pollfd[],unsigned int,timediff_t) | | Curl_poll | 2 | timediff_t | +| (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,int) | | posix_spawnattr_setcgroup_np | 1 | int | +| (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,int) | | posix_spawnattr_setschedpolicy | 1 | int | +| (posix_spawnattr_t *,pid_t) | | posix_spawnattr_setpgroup | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,pid_t) | | posix_spawnattr_setpgroup | 1 | pid_t | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__) | | posix_spawnattr_setschedparam | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__) | | posix_spawnattr_setschedparam | 1 | posix_spawnattr_t *__restrict__ | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__) | | posix_spawnattr_setschedparam | 2 | const sched_param * | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sched_param *,const sched_param *__restrict__) | | posix_spawnattr_setschedparam | 3 | const sched_param *__restrict__ | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigdefault | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigdefault | 1 | posix_spawnattr_t *__restrict__ | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigdefault | 2 | const sigset_t * | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigdefault | 3 | const sigset_t *__restrict__ | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigmask | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigmask | 1 | posix_spawnattr_t *__restrict__ | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigmask | 2 | const sigset_t * | +| (posix_spawnattr_t *,posix_spawnattr_t *__restrict__,const sigset_t *,const sigset_t *__restrict__) | | __posix_spawnattr_setsigmask | 3 | const sigset_t *__restrict__ | +| (posix_spawnattr_t *,short) | | __posix_spawnattr_setflags | 0 | posix_spawnattr_t * | +| (posix_spawnattr_t *,short) | | __posix_spawnattr_setflags | 1 | short | | (pqueue *) | | pqueue_iterator | 0 | pqueue * | | (pqueue *) | | pqueue_peek | 0 | pqueue * | | (pqueue *) | | pqueue_pop | 0 | pqueue * | @@ -31716,8 +42664,124 @@ getSignatureParameterName | (pqueue *,pitem *) | | pqueue_insert | 1 | pitem * | | (pqueue *,unsigned char *) | | pqueue_find | 0 | pqueue * | | (pqueue *,unsigned char *) | | pqueue_find | 1 | unsigned char * | +| (prof *,int,timeval *,unsigned int) | | __sprofil | 0 | prof * | +| (prof *,int,timeval *,unsigned int) | | __sprofil | 1 | int | +| (prof *,int,timeval *,unsigned int) | | __sprofil | 2 | timeval * | +| (prof *,int,timeval *,unsigned int) | | __sprofil | 3 | unsigned int | +| (protoent *,char *,size_t,int *) | | _nss_files_getprotoent_r | 0 | protoent * | +| (protoent *,char *,size_t,int *) | | _nss_files_getprotoent_r | 1 | char * | +| (protoent *,char *,size_t,int *) | | _nss_files_getprotoent_r | 2 | size_t | +| (protoent *,char *,size_t,int *) | | _nss_files_getprotoent_r | 3 | int * | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 0 | protoent * | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 1 | protoent *__restrict__ | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 2 | char * | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 3 | char *__restrict__ | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 4 | size_t | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 5 | protoent ** | +| (protoent *,protoent *__restrict__,char *,char *__restrict__,size_t,protoent **,protoent **__restrict__) | | __getprotoent_r | 6 | protoent **__restrict__ | +| (ps_prochandle *,td_thragent_t **) | | td_ta_new | 0 | ps_prochandle * | +| (ps_prochandle *,td_thragent_t **) | | td_ta_new | 1 | td_thragent_t ** | +| (pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | pthread_attr_setsigmask_np | 0 | pthread_attr_t * | +| (pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | pthread_attr_setsigmask_np | 1 | const __jmpbuf_arch_t * | +| (pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | pthread_attr_setsigmask_np | 2 | const __sigset_t * | +| (pthread_attr_t *,const __jmpbuf_arch_t *,const __sigset_t *,const sigset_t *) | | pthread_attr_setsigmask_np | 3 | const sigset_t * | +| (pthread_attr_t *,const pthread_attr_t *) | | __pthread_attr_copy | 0 | pthread_attr_t * | +| (pthread_attr_t *,const pthread_attr_t *) | | __pthread_attr_copy | 1 | const pthread_attr_t * | +| (pthread_attr_t *,const sched_param *) | | __pthread_attr_setschedparam | 0 | pthread_attr_t * | +| (pthread_attr_t *,const sched_param *) | | __pthread_attr_setschedparam | 1 | const sched_param * | +| (pthread_attr_t *,const sigset_t *) | | __pthread_attr_setsigmask_internal | 0 | pthread_attr_t * | +| (pthread_attr_t *,const sigset_t *) | | __pthread_attr_setsigmask_internal | 1 | const sigset_t * | +| (pthread_attr_t *,cpu_set_t *) | | __pthread_attr_setaffinity_old | 0 | pthread_attr_t * | +| (pthread_attr_t *,cpu_set_t *) | | __pthread_attr_setaffinity_old | 1 | cpu_set_t * | +| (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 0 | pthread_attr_t * | +| (pthread_attr_t *,int) | | __pthread_attr_setschedpolicy | 1 | int | +| (pthread_attr_t *,size_t) | | __pthread_attr_setguardsize | 0 | pthread_attr_t * | +| (pthread_attr_t *,size_t) | | __pthread_attr_setguardsize | 1 | size_t | +| (pthread_attr_t *,size_t) | | __pthread_attr_setstacksize | 0 | pthread_attr_t * | +| (pthread_attr_t *,size_t) | | __pthread_attr_setstacksize | 1 | size_t | +| (pthread_attr_t *,size_t,const cpu_set_t *) | | __pthread_attr_setaffinity_np | 0 | pthread_attr_t * | +| (pthread_attr_t *,size_t,const cpu_set_t *) | | __pthread_attr_setaffinity_np | 1 | size_t | +| (pthread_attr_t *,size_t,const cpu_set_t *) | | __pthread_attr_setaffinity_np | 2 | const cpu_set_t * | +| (pthread_attr_t *,void *) | | __pthread_attr_setstackaddr | 0 | pthread_attr_t * | +| (pthread_attr_t *,void *) | | __pthread_attr_setstackaddr | 1 | void * | +| (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 0 | pthread_attr_t * | +| (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 1 | void * | +| (pthread_attr_t *,void *,size_t) | | __pthread_attr_setstack | 2 | size_t | +| (pthread_barrier_t *,const pthread_barrierattr_t *,unsigned int) | | ___pthread_barrier_init | 0 | pthread_barrier_t * | +| (pthread_barrier_t *,const pthread_barrierattr_t *,unsigned int) | | ___pthread_barrier_init | 1 | const pthread_barrierattr_t * | +| (pthread_barrier_t *,const pthread_barrierattr_t *,unsigned int) | | ___pthread_barrier_init | 2 | unsigned int | +| (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 0 | pthread_barrierattr_t * | +| (pthread_barrierattr_t *,int) | | __pthread_barrierattr_setpshared | 1 | int | +| (pthread_key_t) | | ___pthread_getspecific | 0 | pthread_key_t | +| (pthread_mutex_t *,const pthread_mutexattr_t *) | | ___pthread_mutex_init | 0 | pthread_mutex_t * | +| (pthread_mutex_t *,const pthread_mutexattr_t *) | | ___pthread_mutex_init | 1 | const pthread_mutexattr_t * | +| (pthread_mutex_t *,int,int *) | | __pthread_mutex_setprioceiling | 0 | pthread_mutex_t * | +| (pthread_mutex_t *,int,int *) | | __pthread_mutex_setprioceiling | 1 | int | +| (pthread_mutex_t *,int,int *) | | __pthread_mutex_setprioceiling | 2 | int * | +| (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 0 | pthread_mutexattr_t * | +| (pthread_mutexattr_t *,int) | | ___pthread_mutexattr_settype | 1 | int | +| (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 0 | pthread_mutexattr_t * | +| (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprioceiling | 1 | int | +| (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 0 | pthread_mutexattr_t * | +| (pthread_mutexattr_t *,int) | | __pthread_mutexattr_setprotocol | 1 | int | +| (pthread_rwlock_t *,const pthread_rwlockattr_t *) | | ___pthread_rwlock_init | 0 | pthread_rwlock_t * | +| (pthread_rwlock_t *,const pthread_rwlockattr_t *) | | ___pthread_rwlock_init | 1 | const pthread_rwlockattr_t * | +| (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 0 | pthread_rwlockattr_t * | +| (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setkind_np | 1 | int | +| (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 0 | pthread_rwlockattr_t * | +| (pthread_rwlockattr_t *,int) | | __pthread_rwlockattr_setpshared | 1 | int | | (pthread_t *) | | Curl_thread_destroy | 0 | pthread_t * | | (pthread_t **) | | Curl_thread_join | 0 | pthread_t ** | +| (pthread_t,int,const sched_param *) | | __pthread_setschedparam | 0 | pthread_t | +| (pthread_t,int,const sched_param *) | | __pthread_setschedparam | 1 | int | +| (pthread_t,int,const sched_param *) | | __pthread_setschedparam | 2 | const sched_param * | +| (random_data *,int32_t *) | | __random_r | 0 | random_data * | +| (random_data *,int32_t *) | | __random_r | 1 | int32_t * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 0 | re_pattern_buffer * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 1 | const char * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 2 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 3 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 4 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 5 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *) | | __re_match | 6 | re_registers * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 0 | re_pattern_buffer * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 1 | const char * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 2 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 3 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 4 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 5 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 6 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *) | | __re_search | 7 | re_registers * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 0 | re_pattern_buffer * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 1 | const char * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 2 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 3 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 4 | const char * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 5 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 6 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 7 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 8 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 9 | re_registers * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 10 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,re_registers *,Idx,regoff_t) | | __re_match_2 | 11 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 0 | re_pattern_buffer * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 1 | const char * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 2 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 3 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 4 | const char * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 5 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 6 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 7 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 8 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 9 | regoff_t | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 10 | re_registers * | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 11 | Idx | +| (re_pattern_buffer *,const char *,Idx,regoff_t,const char *,Idx,regoff_t,Idx,regoff_t,regoff_t,re_registers *,Idx,regoff_t) | | __re_search_2 | 12 | regoff_t | +| (re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *) | | __re_set_registers | 0 | re_pattern_buffer * | +| (re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *) | | __re_set_registers | 1 | re_registers * | +| (re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *) | | __re_set_registers | 2 | __re_size_t | +| (re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *) | | __re_set_registers | 3 | regoff_t * | +| (re_pattern_buffer *,re_registers *,__re_size_t,regoff_t *,regoff_t *) | | __re_set_registers | 4 | regoff_t * | | (regex_t *,const char *,int) | | jim_regcomp | 0 | regex_t * | | (regex_t *,const char *,int) | | jim_regcomp | 1 | const char * | | (regex_t *,const char *,int) | | jim_regcomp | 2 | int | @@ -31726,6 +42790,141 @@ getSignatureParameterName | (regex_t *,const char *,size_t,regmatch_t[],int) | | jim_regexec | 2 | size_t | | (regex_t *,const char *,size_t,regmatch_t[],int) | | jim_regexec | 3 | regmatch_t[] | | (regex_t *,const char *,size_t,regmatch_t[],int) | | jim_regexec | 4 | int | +| (request_type,const char *,mapped_database **) | | __nscd_get_mapping | 0 | request_type | +| (request_type,const char *,mapped_database **) | | __nscd_get_mapping | 1 | const char * | +| (request_type,const char *,mapped_database **) | | __nscd_get_mapping | 2 | mapped_database ** | +| (request_type,const char *,size_t,const mapped_database *,size_t) | | __nscd_cache_search | 0 | request_type | +| (request_type,const char *,size_t,const mapped_database *,size_t) | | __nscd_cache_search | 1 | const char * | +| (request_type,const char *,size_t,const mapped_database *,size_t) | | __nscd_cache_search | 2 | size_t | +| (request_type,const char *,size_t,const mapped_database *,size_t) | | __nscd_cache_search | 3 | const mapped_database * | +| (request_type,const char *,size_t,const mapped_database *,size_t) | | __nscd_cache_search | 4 | size_t | +| (request_type,const char *,volatile locked_map_ptr *,int *) | | __nscd_get_map_ref | 0 | request_type | +| (request_type,const char *,volatile locked_map_ptr *,int *) | | __nscd_get_map_ref | 1 | const char * | +| (request_type,const char *,volatile locked_map_ptr *,int *) | | __nscd_get_map_ref | 2 | volatile locked_map_ptr * | +| (request_type,const char *,volatile locked_map_ptr *,int *) | | __nscd_get_map_ref | 3 | int * | +| (request_type,const void *,size_t,database_dyn *,uid_t) | | cache_search | 0 | request_type | +| (request_type,const void *,size_t,database_dyn *,uid_t) | | cache_search | 1 | const void * | +| (request_type,const void *,size_t,database_dyn *,uid_t) | | cache_search | 2 | size_t | +| (request_type,const void *,size_t,database_dyn *,uid_t) | | cache_search | 3 | database_dyn * | +| (request_type,const void *,size_t,database_dyn *,uid_t) | | cache_search | 4 | uid_t | +| (requestlist *,requestlist *,int) | | __aio_remove_request | 0 | requestlist * | +| (requestlist *,requestlist *,int) | | __aio_remove_request | 1 | requestlist * | +| (requestlist *,requestlist *,int) | | __aio_remove_request | 2 | int | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 0 | res_state | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 1 | const char * | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 2 | const char * | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 3 | int | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 4 | int | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 5 | unsigned char * | +| (res_state,const char *,const char *,int,int,unsigned char *,int) | | ___res_nquerydomain | 6 | int | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 0 | res_state | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 1 | const char * | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 2 | int | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 3 | int | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 4 | unsigned char * | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nquery | 5 | int | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 0 | res_state | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 1 | const char * | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 2 | int | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 3 | int | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 4 | unsigned char * | +| (res_state,const char *,int,int,unsigned char *,int) | | ___res_nsearch | 5 | int | +| (res_state,const unsigned char *,int,unsigned char *,int) | | ___res_nsend | 0 | res_state | +| (res_state,const unsigned char *,int,unsigned char *,int) | | ___res_nsend | 1 | const unsigned char * | +| (res_state,const unsigned char *,int,unsigned char *,int) | | ___res_nsend | 2 | int | +| (res_state,const unsigned char *,int,unsigned char *,int) | | ___res_nsend | 3 | unsigned char * | +| (res_state,const unsigned char *,int,unsigned char *,int) | | ___res_nsend | 4 | int | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 0 | res_state | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 1 | int | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 2 | const char * | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 3 | int | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 4 | int | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 5 | const unsigned char * | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 6 | int | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 7 | const unsigned char * | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 8 | unsigned char * | +| (res_state,int,const char *,int,int,const unsigned char *,int,const unsigned char *,unsigned char *,int) | | ___res_nmkquery | 9 | int | +| (res_state,unsigned int) | | __res_get_nsaddr | 0 | res_state | +| (res_state,unsigned int) | | __res_get_nsaddr | 1 | unsigned int | +| (resolv_context *,const char *,char *,size_t) | | __res_context_hostalias | 0 | resolv_context * | +| (resolv_context *,const char *,char *,size_t) | | __res_context_hostalias | 1 | const char * | +| (resolv_context *,const char *,char *,size_t) | | __res_context_hostalias | 2 | char * | +| (resolv_context *,const char *,char *,size_t) | | __res_context_hostalias | 3 | size_t | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 0 | resolv_context * | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 1 | const char * | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 2 | hostent * | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 3 | char ** | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 4 | size_t * | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 5 | size_t | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 6 | hostent ** | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 7 | nss_status * | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 8 | int | +| (resolv_context *,const char *,hostent *,char **,size_t *,size_t,hostent **,nss_status *,int,int *) | | __nss_hostname_digits_dots_context | 9 | int * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 0 | resolv_context * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 1 | const char * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 2 | int | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 3 | int | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 4 | unsigned char * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 5 | int | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 6 | unsigned char ** | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 7 | unsigned char ** | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 8 | int * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 9 | int * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_query | 10 | int * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 0 | resolv_context * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 1 | const char * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 2 | int | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 3 | int | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 4 | unsigned char * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 5 | int | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 6 | unsigned char ** | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 7 | unsigned char ** | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 8 | int * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 9 | int * | +| (resolv_context *,const char *,int,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_search | 10 | int * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 0 | resolv_context * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 1 | const unsigned char * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 2 | int | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 3 | const unsigned char * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 4 | int | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 5 | unsigned char * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 6 | int | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 7 | unsigned char ** | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 8 | unsigned char ** | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 9 | int * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 10 | int * | +| (resolv_context *,const unsigned char *,int,const unsigned char *,int,unsigned char *,int,unsigned char **,unsigned char **,int *,int *,int *) | | __res_context_send | 11 | int * | +| (resolv_context *,const unsigned char *,int,unsigned char *,int,int *) | | __res_handle_no_aaaa | 0 | resolv_context * | +| (resolv_context *,const unsigned char *,int,unsigned char *,int,int *) | | __res_handle_no_aaaa | 1 | const unsigned char * | +| (resolv_context *,const unsigned char *,int,unsigned char *,int,int *) | | __res_handle_no_aaaa | 2 | int | +| (resolv_context *,const unsigned char *,int,unsigned char *,int,int *) | | __res_handle_no_aaaa | 3 | unsigned char * | +| (resolv_context *,const unsigned char *,int,unsigned char *,int,int *) | | __res_handle_no_aaaa | 4 | int | +| (resolv_context *,const unsigned char *,int,unsigned char *,int,int *) | | __res_handle_no_aaaa | 5 | int * | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 0 | resolv_context * | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 1 | int | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 2 | const char * | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 3 | int | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 4 | int | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 5 | const unsigned char * | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 6 | unsigned char * | +| (resolv_context *,int,const char *,int,int,const unsigned char *,unsigned char *,int) | | __res_context_mkquery | 7 | int | +| (resolv_context *,int,unsigned char *,int,int) | | __res_nopt | 0 | resolv_context * | +| (resolv_context *,int,unsigned char *,int,int) | | __res_nopt | 1 | int | +| (resolv_context *,int,unsigned char *,int,int) | | __res_nopt | 2 | unsigned char * | +| (resolv_context *,int,unsigned char *,int,int) | | __res_nopt | 3 | int | +| (resolv_context *,int,unsigned char *,int,int) | | __res_nopt | 4 | int | +| (rpcent *,char *,size_t,int *) | | _nss_db_getrpcent_r | 0 | rpcent * | +| (rpcent *,char *,size_t,int *) | | _nss_db_getrpcent_r | 1 | char * | +| (rpcent *,char *,size_t,int *) | | _nss_db_getrpcent_r | 2 | size_t | +| (rpcent *,char *,size_t,int *) | | _nss_db_getrpcent_r | 3 | int * | +| (rpcent *,char *,size_t,int *) | | _nss_files_getrpcent_r | 0 | rpcent * | +| (rpcent *,char *,size_t,int *) | | _nss_files_getrpcent_r | 1 | char * | +| (rpcent *,char *,size_t,int *) | | _nss_files_getrpcent_r | 2 | size_t | +| (rpcent *,char *,size_t,int *) | | _nss_files_getrpcent_r | 3 | int * | +| (rpcent *,char *,size_t,rpcent **) | | __getrpcent_r | 0 | rpcent * | +| (rpcent *,char *,size_t,rpcent **) | | __getrpcent_r | 1 | char * | +| (rpcent *,char *,size_t,rpcent **) | | __getrpcent_r | 2 | size_t | +| (rpcent *,char *,size_t,rpcent **) | | __getrpcent_r | 3 | rpcent ** | | (rule *,int) | | Configlist_add | 0 | rule * | | (rule *,int) | | Configlist_add | 1 | int | | (rule *,int) | | Configlist_addbasis | 0 | rule * | @@ -31734,6 +42933,23 @@ getSignatureParameterName | (scan_ctx *,const char *,const char *,const char *) | | inithelpscan | 1 | const char * | | (scan_ctx *,const char *,const char *,const char *) | | inithelpscan | 2 | const char * | | (scan_ctx *,const char *,const char *,const char *) | | inithelpscan | 3 | const char * | +| (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 0 | scratch_buffer * | +| (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 1 | size_t | +| (scratch_buffer *,size_t,size_t) | | __libc_scratch_buffer_set_array_size | 2 | size_t | +| (sem_t *,int,unsigned int) | | __new_sem_init | 0 | sem_t * | +| (sem_t *,int,unsigned int) | | __new_sem_init | 1 | int | +| (sem_t *,int,unsigned int) | | __new_sem_init | 2 | unsigned int | +| (servent *,char *,size_t,int *) | | _nss_files_getservent_r | 0 | servent * | +| (servent *,char *,size_t,int *) | | _nss_files_getservent_r | 1 | char * | +| (servent *,char *,size_t,int *) | | _nss_files_getservent_r | 2 | size_t | +| (servent *,char *,size_t,int *) | | _nss_files_getservent_r | 3 | int * | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 0 | servent * | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 1 | servent *__restrict__ | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 2 | char * | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 3 | char *__restrict__ | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 4 | size_t | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 5 | servent ** | +| (servent *,servent *__restrict__,char *,char *__restrict__,size_t,servent **,servent **__restrict__) | | __getservent_r | 6 | servent **__restrict__ | | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 0 | sfparse_parser * | | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 1 | const uint8_t * | | (sfparse_parser *,const uint8_t *,size_t) | | sfparse_parser_init | 2 | size_t | @@ -31755,6 +42971,28 @@ getSignatureParameterName | (sfparse_vec *,const sfparse_vec *) | | sfparse_pctdecode | 1 | const sfparse_vec * | | (sfparse_vec *,const sfparse_vec *) | | sfparse_unescape | 0 | sfparse_vec * | | (sfparse_vec *,const sfparse_vec *) | | sfparse_unescape | 1 | const sfparse_vec * | +| (sgrp *,char *,size_t,int *) | | _nss_db_getsgent_r | 0 | sgrp * | +| (sgrp *,char *,size_t,int *) | | _nss_db_getsgent_r | 1 | char * | +| (sgrp *,char *,size_t,int *) | | _nss_db_getsgent_r | 2 | size_t | +| (sgrp *,char *,size_t,int *) | | _nss_db_getsgent_r | 3 | int * | +| (sgrp *,char *,size_t,int *) | | _nss_files_getsgent_r | 0 | sgrp * | +| (sgrp *,char *,size_t,int *) | | _nss_files_getsgent_r | 1 | char * | +| (sgrp *,char *,size_t,int *) | | _nss_files_getsgent_r | 2 | size_t | +| (sgrp *,char *,size_t,int *) | | _nss_files_getsgent_r | 3 | int * | +| (sgrp *,char *,size_t,sgrp **) | | __getsgent_r | 0 | sgrp * | +| (sgrp *,char *,size_t,sgrp **) | | __getsgent_r | 1 | char * | +| (sgrp *,char *,size_t,sgrp **) | | __getsgent_r | 2 | size_t | +| (sgrp *,char *,size_t,sgrp **) | | __getsgent_r | 3 | sgrp ** | +| (sigset_t *,const sigset_t *,const sigset_t *) | | sigandset | 0 | sigset_t * | +| (sigset_t *,const sigset_t *,const sigset_t *) | | sigandset | 1 | const sigset_t * | +| (sigset_t *,const sigset_t *,const sigset_t *) | | sigandset | 2 | const sigset_t * | +| (sigset_t *,const sigset_t *,const sigset_t *) | | sigorset | 0 | sigset_t * | +| (sigset_t *,const sigset_t *,const sigset_t *) | | sigorset | 1 | const sigset_t * | +| (sigset_t *,const sigset_t *,const sigset_t *) | | sigorset | 2 | const sigset_t * | +| (sigset_t *,int) | | sigaddset | 0 | sigset_t * | +| (sigset_t *,int) | | sigaddset | 1 | int | +| (sigset_t *,int) | | sigdelset | 0 | sigset_t * | +| (sigset_t *,int) | | sigdelset | 1 | int | | (size_t *,const char *) | | next_protos_parse | 0 | size_t * | | (size_t *,const char *) | | next_protos_parse | 1 | const char * | | (size_t *,size_t,unsigned char *,unsigned char **,int *,size_t,size_t,OSSL_LIB_CTX *) | | ssl3_cbc_remove_padding_and_mac | 0 | size_t * | @@ -31776,19 +43014,32 @@ getSignatureParameterName | (size_t *,size_t,unsigned char *,unsigned char **,int *,size_t,size_t,int,OSSL_LIB_CTX *) | | tls1_cbc_remove_padding_and_mac | 8 | OSSL_LIB_CTX * | | (size_t) | | BrotliEncoderMaxCompressedSize | 0 | size_t | | (size_t) | | EVP_PKEY_meth_get0 | 0 | size_t | +| (size_t) | | __libc_malloc | 0 | size_t | +| (size_t) | | __libc_valloc | 0 | size_t | +| (size_t) | | _dl_early_allocate | 0 | size_t | | (size_t) | | curlx_uztosi | 0 | size_t | | (size_t) | | curlx_uztosz | 0 | size_t | | (size_t) | | curlx_uztoui | 0 | size_t | | (size_t) | | curlx_uztoul | 0 | size_t | +| (size_t) | | malloc | 0 | size_t | | (size_t) | | ossl_get_extension_type | 0 | size_t | | (size_t) | | ossl_param_bytes_to_blocks | 0 | size_t | | (size_t) | | ossl_quic_sstream_new | 0 | size_t | | (size_t) | | ssl_cert_new | 0 | size_t | +| (size_t) | | support_next_to_fault_allocate | 0 | size_t | +| (size_t) | | support_next_to_fault_allocate_before | 0 | size_t | +| (size_t) | | support_stack_alloc | 0 | size_t | +| (size_t) | | xalloc_sigstack | 0 | size_t | | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 0 | size_t | | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 1 | OSSL_QTX_IOVEC * | | (size_t,OSSL_QTX_IOVEC *,size_t) | | ossl_quic_sstream_adjust_iov | 2 | size_t | | (size_t,SSL_CTX *) | | ssl_cert_lookup_by_idx | 0 | size_t | | (size_t,SSL_CTX *) | | ssl_cert_lookup_by_idx | 1 | SSL_CTX * | +| (size_t,char *[]) | | delete_locales_from_archive | 0 | size_t | +| (size_t,char *[]) | | delete_locales_from_archive | 1 | char *[] | +| (size_t,char *[],bool) | | add_locales_to_archive | 0 | size_t | +| (size_t,char *[],bool) | | add_locales_to_archive | 1 | char *[] | +| (size_t,char *[],bool) | | add_locales_to_archive | 2 | bool | | (size_t,const QUIC_PKT_HDR *) | | ossl_quic_wire_get_encoded_pkt_hdr_len | 0 | size_t | | (size_t,const QUIC_PKT_HDR *) | | ossl_quic_wire_get_encoded_pkt_hdr_len | 1 | const QUIC_PKT_HDR * | | (size_t,const char **,size_t *) | | conf_ssl_get | 0 | size_t | @@ -31806,6 +43057,17 @@ getSignatureParameterName | (size_t,const uint32_t[],size_t *,char[]) | | _idn2_punycode_encode | 1 | const uint32_t[] | | (size_t,const uint32_t[],size_t *,char[]) | | _idn2_punycode_encode | 2 | size_t * | | (size_t,const uint32_t[],size_t *,char[]) | | _idn2_punycode_encode | 3 | char[] | +| (size_t,hsearch_data *) | | __hcreate_r | 0 | size_t | +| (size_t,hsearch_data *) | | __hcreate_r | 1 | hsearch_data * | +| (size_t,shadow_stack_size_t *) | | __allocate_shadow_stack | 0 | size_t | +| (size_t,shadow_stack_size_t *) | | __allocate_shadow_stack | 1 | shadow_stack_size_t * | +| (size_t,size_t *,int *) | | __malloc_hugepage_config | 0 | size_t | +| (size_t,size_t *,int *) | | __malloc_hugepage_config | 1 | size_t * | +| (size_t,size_t *,int *) | | __malloc_hugepage_config | 2 | int * | +| (size_t,size_t) | | __libc_memalign | 0 | size_t | +| (size_t,size_t) | | __libc_memalign | 1 | size_t | +| (size_t,size_t) | | aligned_alloc | 0 | size_t | +| (size_t,size_t) | | aligned_alloc | 1 | size_t | | (size_t,size_t,Curl_ssl_scache **) | | Curl_ssl_scache_create | 0 | size_t | | (size_t,size_t,Curl_ssl_scache **) | | Curl_ssl_scache_create | 1 | size_t | | (size_t,size_t,Curl_ssl_scache **) | | Curl_ssl_scache_create | 2 | Curl_ssl_scache ** | @@ -31836,9 +43098,13 @@ getSignatureParameterName | (size_t,size_t,void **,const char *,int) | | CRYPTO_aligned_alloc | 2 | void ** | | (size_t,size_t,void **,const char *,int) | | CRYPTO_aligned_alloc | 3 | const char * | | (size_t,size_t,void **,const char *,int) | | CRYPTO_aligned_alloc | 4 | int | +| (size_t,traced_file *) | | register_traced_file | 0 | size_t | +| (size_t,traced_file *) | | register_traced_file | 1 | traced_file * | | (size_t,uint32_t *,uint8_t *) | | BrotliOptimizeHuffmanCountsForRle | 0 | size_t | | (size_t,uint32_t *,uint8_t *) | | BrotliOptimizeHuffmanCountsForRle | 1 | uint32_t * | | (size_t,uint32_t *,uint8_t *) | | BrotliOptimizeHuffmanCountsForRle | 2 | uint8_t * | +| (size_t,void **) | | __libc_alloc_buffer_allocate | 0 | size_t | +| (size_t,void **) | | __libc_alloc_buffer_allocate | 1 | void ** | | (size_type,const T &) | deque | assign | 0 | size_type | | (size_type,const T &) | deque | assign | 1 | const class:0 & | | (size_type,const T &) | forward_list | assign | 0 | size_type | @@ -31863,6 +43129,86 @@ getSignatureParameterName | (slist_wc **,const char *) | | easysrc_add | 1 | const char * | | (slist_wc *,const char *) | | slist_wc_append | 0 | slist_wc * | | (slist_wc *,const char *) | | slist_wc_append | 1 | const char * | +| (sockaddr_in *) | | pmap_getmaps | 0 | sockaddr_in * | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 0 | sockaddr_in * | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 1 | const u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 2 | u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 3 | const u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 4 | u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 5 | const u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 6 | u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 7 | xdrproc_t | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 8 | caddr_t | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 9 | xdrproc_t | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 10 | caddr_t | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 11 | timeval | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,const u_long,u_long,xdrproc_t,caddr_t,xdrproc_t,caddr_t,timeval,u_long *) | | pmap_rmtcall | 12 | u_long * | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int) | | pmap_getport | 0 | sockaddr_in * | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int) | | pmap_getport | 1 | const u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int) | | pmap_getport | 2 | u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int) | | pmap_getport | 3 | const u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int) | | pmap_getport | 4 | u_long | +| (sockaddr_in *,const u_long,u_long,const u_long,u_long,u_int) | | pmap_getport | 5 | u_int | +| (sockaddr_in *,u_long,u_long,int *,u_int,u_int) | | clnttcp_create | 0 | sockaddr_in * | +| (sockaddr_in *,u_long,u_long,int *,u_int,u_int) | | clnttcp_create | 1 | u_long | +| (sockaddr_in *,u_long,u_long,int *,u_int,u_int) | | clnttcp_create | 2 | u_long | +| (sockaddr_in *,u_long,u_long,int *,u_int,u_int) | | clnttcp_create | 3 | int * | +| (sockaddr_in *,u_long,u_long,int *,u_int,u_int) | | clnttcp_create | 4 | u_int | +| (sockaddr_in *,u_long,u_long,int *,u_int,u_int) | | clnttcp_create | 5 | u_int | +| (sockaddr_in *,u_long,u_long,timeval,int *) | | clntudp_create | 0 | sockaddr_in * | +| (sockaddr_in *,u_long,u_long,timeval,int *) | | clntudp_create | 1 | u_long | +| (sockaddr_in *,u_long,u_long,timeval,int *) | | clntudp_create | 2 | u_long | +| (sockaddr_in *,u_long,u_long,timeval,int *) | | clntudp_create | 3 | timeval | +| (sockaddr_in *,u_long,u_long,timeval,int *) | | clntudp_create | 4 | int * | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 0 | sockaddr_in * | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 1 | u_long | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 2 | u_long | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 3 | timeval | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 4 | int * | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 5 | u_int | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int) | | clntudp_bufcreate | 6 | u_int | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 0 | sockaddr_in * | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 1 | u_long | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 2 | u_long | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 3 | timeval | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 4 | int * | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 5 | u_int | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 6 | u_int | +| (sockaddr_in *,u_long,u_long,timeval,int *,u_int,u_int,int) | | __libc_clntudp_bufcreate | 7 | int | +| (sockaddr_in *,u_long,u_long,u_int) | | __pmap_getnisport | 0 | sockaddr_in * | +| (sockaddr_in *,u_long,u_long,u_int) | | __pmap_getnisport | 1 | u_long | +| (sockaddr_in *,u_long,u_long,u_int) | | __pmap_getnisport | 2 | u_long | +| (sockaddr_in *,u_long,u_long,u_int) | | __pmap_getnisport | 3 | u_int | +| (sockaddr_in *,u_long,u_long,u_int,time_t,time_t) | | __libc_rpc_getport | 0 | sockaddr_in * | +| (sockaddr_in *,u_long,u_long,u_int,time_t,time_t) | | __libc_rpc_getport | 1 | u_long | +| (sockaddr_in *,u_long,u_long,u_int,time_t,time_t) | | __libc_rpc_getport | 2 | u_long | +| (sockaddr_in *,u_long,u_long,u_int,time_t,time_t) | | __libc_rpc_getport | 3 | u_int | +| (sockaddr_in *,u_long,u_long,u_int,time_t,time_t) | | __libc_rpc_getport | 4 | time_t | +| (sockaddr_in *,u_long,u_long,u_int,time_t,time_t) | | __libc_rpc_getport | 5 | time_t | +| (sockaddr_un *,const char *) | | __sockaddr_un_set | 0 | sockaddr_un * | +| (sockaddr_un *,const char *) | | __sockaddr_un_set | 1 | const char * | +| (sockaddr_un *,u_long,u_long,int *,u_int,u_int) | | clntunix_create | 0 | sockaddr_un * | +| (sockaddr_un *,u_long,u_long,int *,u_int,u_int) | | clntunix_create | 1 | u_long | +| (sockaddr_un *,u_long,u_long,int *,u_int,u_int) | | clntunix_create | 2 | u_long | +| (sockaddr_un *,u_long,u_long,int *,u_int,u_int) | | clntunix_create | 3 | int * | +| (sockaddr_un *,u_long,u_long,int *,u_int,u_int) | | clntunix_create | 4 | u_int | +| (sockaddr_un *,u_long,u_long,int *,u_int,u_int) | | clntunix_create | 5 | u_int | +| (spwd *,char *,size_t,int *) | | _nss_compat_getspent_r | 0 | spwd * | +| (spwd *,char *,size_t,int *) | | _nss_compat_getspent_r | 1 | char * | +| (spwd *,char *,size_t,int *) | | _nss_compat_getspent_r | 2 | size_t | +| (spwd *,char *,size_t,int *) | | _nss_compat_getspent_r | 3 | int * | +| (spwd *,char *,size_t,int *) | | _nss_db_getspent_r | 0 | spwd * | +| (spwd *,char *,size_t,int *) | | _nss_db_getspent_r | 1 | char * | +| (spwd *,char *,size_t,int *) | | _nss_db_getspent_r | 2 | size_t | +| (spwd *,char *,size_t,int *) | | _nss_db_getspent_r | 3 | int * | +| (spwd *,char *,size_t,int *) | | _nss_files_getspent_r | 0 | spwd * | +| (spwd *,char *,size_t,int *) | | _nss_files_getspent_r | 1 | char * | +| (spwd *,char *,size_t,int *) | | _nss_files_getspent_r | 2 | size_t | +| (spwd *,char *,size_t,int *) | | _nss_files_getspent_r | 3 | int * | +| (spwd *,char *,size_t,spwd **) | | __getspent_r | 0 | spwd * | +| (spwd *,char *,size_t,spwd **) | | __getspent_r | 1 | char * | +| (spwd *,char *,size_t,spwd **) | | __getspent_r | 2 | size_t | +| (spwd *,char *,size_t,spwd **) | | __getspent_r | 3 | spwd ** | | (sqlite3 *) | | close_db | 0 | sqlite3 * | | (sqlite3 *) | | sqlite3CompletionVtabInit | 0 | sqlite3 * | | (sqlite3 *) | | sqlite3_changes | 0 | sqlite3 * | @@ -32542,6 +43888,8 @@ getSignatureParameterName | (stack_st_X509_POLICY_NODE *,const ASN1_OBJECT *) | | ossl_policy_tree_find_sk | 1 | const ASN1_OBJECT * | | (state *,config *) | | State_insert | 0 | state * | | (state *,config *) | | State_insert | 1 | config * | +| (statvfs64 *,const statfs64 *) | | __internal_statvfs64 | 0 | statvfs64 * | +| (statvfs64 *,const statfs64 *) | | __internal_statvfs64 | 1 | const statfs64 * | | (store_netrc *) | | Curl_netrc_cleanup | 0 | store_netrc * | | (store_netrc *,const char *,char **,char **,char *) | | Curl_parsenetrc | 0 | store_netrc * | | (store_netrc *,const char *,char **,char **,char *) | | Curl_parsenetrc | 1 | const char * | @@ -32560,13 +43908,118 @@ getSignatureParameterName | (string_buf *,unsigned char **,size_t *) | | _libssh2_get_string | 0 | string_buf * | | (string_buf *,unsigned char **,size_t *) | | _libssh2_get_string | 1 | unsigned char ** | | (string_buf *,unsigned char **,size_t *) | | _libssh2_get_string | 2 | size_t * | +| (stringtable *,const char *) | | stringtable_add | 0 | stringtable * | +| (stringtable *,const char *) | | stringtable_add | 1 | const char * | +| (stringtable *,stringtable_finalized *) | | stringtable_finalize | 0 | stringtable * | +| (stringtable *,stringtable_finalized *) | | stringtable_finalize | 1 | stringtable_finalized * | +| (support_descriptors *,const char *,FILE *) | | support_descriptors_dump | 0 | support_descriptors * | +| (support_descriptors *,const char *,FILE *) | | support_descriptors_dump | 1 | const char * | +| (support_descriptors *,const char *,FILE *) | | support_descriptors_dump | 2 | FILE * | +| (support_fuse *) | | support_fuse_handle_directory | 0 | support_fuse * | +| (support_fuse *) | | support_fuse_handle_mountpoint | 0 | support_fuse * | +| (support_fuse *) | | support_fuse_mountpoint | 0 | support_fuse * | +| (support_fuse *) | | support_fuse_next | 0 | support_fuse * | +| (support_fuse *) | | support_fuse_prepare_attr | 0 | support_fuse * | +| (support_fuse *) | | support_fuse_prepare_readdir | 0 | support_fuse * | +| (support_fuse *,bool) | | support_fuse_filter_forget | 0 | support_fuse * | +| (support_fuse *,bool) | | support_fuse_filter_forget | 1 | bool | +| (support_fuse *,uint64_t) | | support_fuse_prepare_entry | 0 | support_fuse * | +| (support_fuse *,uint64_t) | | support_fuse_prepare_entry | 1 | uint64_t | +| (support_fuse *,uint64_t,fuse_entry_out **,fuse_open_out **) | | support_fuse_prepare_create | 0 | support_fuse * | +| (support_fuse *,uint64_t,fuse_entry_out **,fuse_open_out **) | | support_fuse_prepare_create | 1 | uint64_t | +| (support_fuse *,uint64_t,fuse_entry_out **,fuse_open_out **) | | support_fuse_prepare_create | 2 | fuse_entry_out ** | +| (support_fuse *,uint64_t,fuse_entry_out **,fuse_open_out **) | | support_fuse_prepare_create | 3 | fuse_open_out ** | +| (support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *) | | support_fuse_dirstream_add | 0 | support_fuse_dirstream * | +| (support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *) | | support_fuse_dirstream_add | 1 | uint64_t | +| (support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *) | | support_fuse_dirstream_add | 2 | uint64_t | +| (support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *) | | support_fuse_dirstream_add | 3 | uint32_t | +| (support_fuse_dirstream *,uint64_t,uint64_t,uint32_t,const char *) | | support_fuse_dirstream_add | 4 | const char * | | (symbol *,lemon *) | | has_destructor | 0 | symbol * | | (symbol *,lemon *) | | has_destructor | 1 | lemon * | +| (tcflag_t,speed_t) | | ___cbaud_to_speed | 0 | tcflag_t | +| (tcflag_t,speed_t) | | ___cbaud_to_speed | 1 | speed_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *) | | _td_locate_field | 0 | td_thragent_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *) | | _td_locate_field | 1 | db_desc_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *) | | _td_locate_field | 2 | int | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *) | | _td_locate_field | 3 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t *) | | _td_locate_field | 4 | psaddr_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *) | | _td_fetch_value | 0 | td_thragent_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *) | | _td_fetch_value | 1 | db_desc_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *) | | _td_fetch_value | 2 | int | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *) | | _td_fetch_value | 3 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *) | | _td_fetch_value | 4 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t *) | | _td_fetch_value | 5 | psaddr_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t) | | _td_store_value | 0 | td_thragent_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t) | | _td_store_value | 1 | db_desc_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t) | | _td_store_value | 2 | int | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t) | | _td_store_value | 3 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t) | | _td_store_value | 4 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,psaddr_t,psaddr_t) | | _td_store_value | 5 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *) | | _td_fetch_value_local | 0 | td_thragent_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *) | | _td_fetch_value_local | 1 | db_desc_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *) | | _td_fetch_value_local | 2 | int | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *) | | _td_fetch_value_local | 3 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *) | | _td_fetch_value_local | 4 | void * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t *) | | _td_fetch_value_local | 5 | psaddr_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t) | | _td_store_value_local | 0 | td_thragent_t * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t) | | _td_store_value_local | 1 | db_desc_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t) | | _td_store_value_local | 2 | int | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t) | | _td_store_value_local | 3 | psaddr_t | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t) | | _td_store_value_local | 4 | void * | +| (td_thragent_t *,db_desc_t,int,psaddr_t,void *,psaddr_t) | | _td_store_value_local | 5 | psaddr_t | +| (td_thragent_t *,psaddr_t *) | | __td_ta_stack_used | 0 | td_thragent_t * | +| (td_thragent_t *,psaddr_t *) | | __td_ta_stack_used | 1 | psaddr_t * | +| (td_thragent_t *,psaddr_t *) | | __td_ta_stack_user | 0 | td_thragent_t * | +| (td_thragent_t *,psaddr_t *) | | __td_ta_stack_user | 1 | psaddr_t * | +| (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 0 | td_thragent_t * | +| (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 1 | uint32_t * | +| (td_thragent_t *,uint32_t *,int) | | _td_check_sizeof | 2 | int | +| (termios *,baud_t) | | __cfsetbaud | 0 | termios * | +| (termios *,baud_t) | | __cfsetbaud | 1 | baud_t | +| (termios *,baud_t) | | __cfsetibaud | 0 | termios * | +| (termios *,baud_t) | | __cfsetibaud | 1 | baud_t | +| (termios *,baud_t) | | __cfsetobaud | 0 | termios * | +| (termios *,baud_t) | | __cfsetobaud | 1 | baud_t | +| (termios *,speed_t) | | __cfsetispeed | 0 | termios * | +| (termios *,speed_t) | | __cfsetispeed | 1 | speed_t | +| (termios *,speed_t) | | __cfsetospeed | 0 | termios * | +| (termios *,speed_t) | | __cfsetospeed | 1 | speed_t | +| (termios *,speed_t) | | __cfsetspeed | 0 | termios * | +| (termios *,speed_t) | | __cfsetspeed | 1 | speed_t | +| (time_t,int,long *,int *,tm *) | | __tzfile_compute | 0 | time_t | +| (time_t,int,long *,int *,tm *) | | __tzfile_compute | 1 | int | +| (time_t,int,long *,int *,tm *) | | __tzfile_compute | 2 | long * | +| (time_t,int,long *,int *,tm *) | | __tzfile_compute | 3 | int * | +| (time_t,int,long *,int *,tm *) | | __tzfile_compute | 4 | tm * | +| (time_t,int,tm *) | | __tz_convert | 0 | time_t | +| (time_t,int,tm *) | | __tz_convert | 1 | int | +| (time_t,int,tm *) | | __tz_convert | 2 | tm * | +| (time_t,long,tm *) | | __offtime | 0 | time_t | +| (time_t,long,tm *) | | __offtime | 1 | long | +| (time_t,long,tm *) | | __offtime | 2 | tm * | +| (time_t,time_t) | | __difftime | 0 | time_t | +| (time_t,time_t) | | __difftime | 1 | time_t | +| (timespec *,int) | | __timespec_get | 0 | timespec * | +| (timespec *,int) | | __timespec_get | 1 | int | +| (timespec *,int) | | __timespec_getres | 0 | timespec * | +| (timespec *,int) | | __timespec_getres | 1 | int | +| (timespec) | | support_timespec_normalize | 0 | timespec | +| (timespec,timespec) | | timespec_add | 0 | timespec | +| (timespec,timespec) | | timespec_add | 1 | timespec | +| (timespec,timespec) | | timespec_sub | 0 | timespec | +| (timespec,timespec) | | timespec_sub | 1 | timespec | | (timeval *) | | curlx_tvtoms | 0 | timeval * | | (timeval *,timediff_t) | | curlx_mstotv | 0 | timeval * | | (timeval *,timediff_t) | | curlx_mstotv | 1 | timediff_t | | (timeval,timeval) | | tvdiff | 0 | timeval | | (timeval,timeval) | | tvdiff | 1 | timeval | +| (tls_index *) | | ___tls_get_addr | 0 | tls_index * | +| (tls_index *) | | __tls_get_addr_slow | 0 | tls_index * | +| (tm *) | | mktime | 0 | tm * | +| (tm *) | | timegm | 0 | tm * | +| (tm *,..(*)(..),mktime_offset_t *) | | __mktime_internal | 0 | tm * | +| (tm *,..(*)(..),mktime_offset_t *) | | __mktime_internal | 1 | ..(*)(..) | +| (tm *,..(*)(..),mktime_offset_t *) | | __mktime_internal | 2 | mktime_offset_t * | | (tm *,const ASN1_TIME *) | | ossl_asn1_time_to_tm | 0 | tm * | | (tm *,const ASN1_TIME *) | | ossl_asn1_time_to_tm | 1 | const ASN1_TIME * | | (tm *,const ASN1_UTCTIME *) | | ossl_asn1_utctime_to_tm | 0 | tm * | @@ -32574,6 +44027,12 @@ getSignatureParameterName | (tm *,int,long) | | OPENSSL_gmtime_adj | 0 | tm * | | (tm *,int,long) | | OPENSSL_gmtime_adj | 1 | int | | (tm *,int,long) | | OPENSSL_gmtime_adj | 2 | long | +| (tunable_id_t) | | __tunable_is_initialized | 0 | tunable_id_t | +| (tunable_id_t,void *) | | __tunable_get_default | 0 | tunable_id_t | +| (tunable_id_t,void *) | | __tunable_get_default | 1 | void * | +| (tunable_id_t,void *,tunable_callback_t) | | __tunable_get_val | 0 | tunable_id_t | +| (tunable_id_t,void *,tunable_callback_t) | | __tunable_get_val | 1 | void * | +| (tunable_id_t,void *,tunable_callback_t) | | __tunable_get_val | 2 | tunable_callback_t | | (u64[2],const u128[16],const u8 *,size_t) | | ossl_gcm_ghash_4bit | 0 | u64[2] | | (u64[2],const u128[16],const u8 *,size_t) | | ossl_gcm_ghash_4bit | 1 | const u128[16] | | (u64[2],const u128[16],const u8 *,size_t) | | ossl_gcm_ghash_4bit | 2 | const u8 * | @@ -32617,6 +44076,25 @@ getSignatureParameterName | (u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32]) | | poly1305_auth | 4 | size_t | | (u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32]) | | poly1305_auth | 5 | const u_char[32] | | (u_char[16],unsigned char[16],const u_char *,const unsigned char *,size_t,const u_char[32],const unsigned char[32]) | | poly1305_auth | 6 | const unsigned char[32] | +| (u_int,unsigned int,u_char *,unsigned char *) | | ns_put16 | 0 | u_int | +| (u_int,unsigned int,u_char *,unsigned char *) | | ns_put16 | 1 | unsigned int | +| (u_int,unsigned int,u_char *,unsigned char *) | | ns_put16 | 2 | u_char * | +| (u_int,unsigned int,u_char *,unsigned char *) | | ns_put16 | 3 | unsigned char * | +| (u_long) | | __p_secstodate | 0 | u_long | +| (u_long,unsigned long) | | __p_option | 0 | u_long | +| (u_long,unsigned long) | | __p_option | 1 | unsigned long | +| (u_long,unsigned long,char *,size_t) | | ns_format_ttl | 0 | u_long | +| (u_long,unsigned long,char *,size_t) | | ns_format_ttl | 1 | unsigned long | +| (u_long,unsigned long,char *,size_t) | | ns_format_ttl | 2 | char * | +| (u_long,unsigned long,char *,size_t) | | ns_format_ttl | 3 | size_t | +| (u_long,unsigned long,u_char *,unsigned char *) | | ns_put32 | 0 | u_long | +| (u_long,unsigned long,u_char *,unsigned char *) | | ns_put32 | 1 | unsigned long | +| (u_long,unsigned long,u_char *,unsigned char *) | | ns_put32 | 2 | u_char * | +| (u_long,unsigned long,u_char *,unsigned char *) | | ns_put32 | 3 | unsigned char * | +| (ucontext_t *,..(*)(..),int,...) | | __makecontext | 0 | ucontext_t * | +| (ucontext_t *,..(*)(..),int,...) | | __makecontext | 1 | ..(*)(..) | +| (ucontext_t *,..(*)(..),int,...) | | __makecontext | 2 | int | +| (ucontext_t *,..(*)(..),int,...) | | __makecontext | 3 | ... | | (ucs4_t *,const uint8_t *,size_t) | | u8_mbtouc_aux | 0 | ucs4_t * | | (ucs4_t *,const uint8_t *,size_t) | | u8_mbtouc_aux | 1 | const uint8_t * | | (ucs4_t *,const uint8_t *,size_t) | | u8_mbtouc_aux | 2 | size_t | @@ -32635,6 +44113,11 @@ getSignatureParameterName | (ucs4_with_ccc *,size_t,ucs4_with_ccc *) | | gl_uninorm_decompose_merge_sort_inplace | 0 | ucs4_with_ccc * | | (ucs4_with_ccc *,size_t,ucs4_with_ccc *) | | gl_uninorm_decompose_merge_sort_inplace | 1 | size_t | | (ucs4_with_ccc *,size_t,ucs4_with_ccc *) | | gl_uninorm_decompose_merge_sort_inplace | 2 | ucs4_with_ccc * | +| (uid_t,passwd *,char *,size_t,passwd **) | | __nscd_getpwuid_r | 0 | uid_t | +| (uid_t,passwd *,char *,size_t,passwd **) | | __nscd_getpwuid_r | 1 | passwd * | +| (uid_t,passwd *,char *,size_t,passwd **) | | __nscd_getpwuid_r | 2 | char * | +| (uid_t,passwd *,char *,size_t,passwd **) | | __nscd_getpwuid_r | 3 | size_t | +| (uid_t,passwd *,char *,size_t,passwd **) | | __nscd_getpwuid_r | 4 | passwd ** | | (uint8_t *,const nghttp2_frame_hd *) | | nghttp2_frame_pack_frame_hd | 0 | uint8_t * | | (uint8_t *,const nghttp2_frame_hd *) | | nghttp2_frame_pack_frame_hd | 1 | const nghttp2_frame_hd * | | (uint8_t *,const nghttp2_priority_spec *) | | nghttp2_frame_pack_priority_spec | 0 | uint8_t * | @@ -32745,6 +44228,8 @@ getSignatureParameterName | (uint16_t **,size_t *,uint16_t **,size_t *,size_t **,size_t *,void *) | | ssl_set_tmp_ecdh_groups | 6 | void * | | (uint16_t,int) | | tls1_group_id2nid | 0 | uint16_t | | (uint16_t,int) | | tls1_group_id2nid | 1 | int | +| (uint16_t,unsigned char *) | | __putshort | 0 | uint16_t | +| (uint16_t,unsigned char *) | | __putshort | 1 | unsigned char * | | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 0 | uint32_t * | | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 1 | SSL_CONNECTION * | | (uint32_t *,SSL_CONNECTION *,int) | | ssl_set_sig_mask | 2 | int | @@ -32758,6 +44243,32 @@ getSignatureParameterName | (uint32_t *,size_t *,int *,uint32_t,size_t,uint8_t *,uint8_t *,size_t) | | nghttp2_hd_decode_length | 5 | uint8_t * | | (uint32_t *,size_t *,int *,uint32_t,size_t,uint8_t *,uint8_t *,size_t) | | nghttp2_hd_decode_length | 6 | uint8_t * | | (uint32_t *,size_t *,int *,uint32_t,size_t,uint8_t *,uint8_t *,size_t) | | nghttp2_hd_decode_length | 7 | size_t | +| (uint32_t) | | __p_time | 0 | uint32_t | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 0 | uint32_t | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 1 | int | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 2 | netent * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 3 | char * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 4 | size_t | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 5 | int * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_dns_getnetbyaddr_r | 6 | int * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 0 | uint32_t | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 1 | int | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 2 | netent * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 3 | char * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 4 | size_t | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 5 | int * | +| (uint32_t,int,netent *,char *,size_t,int *,int *) | | _nss_files_getnetbyaddr_r | 6 | int * | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 0 | uint32_t | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 1 | int | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 2 | netent * | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 3 | netent *__restrict__ | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 4 | char * | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 5 | char *__restrict__ | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 6 | size_t | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 7 | netent ** | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 8 | netent **__restrict__ | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 9 | int * | +| (uint32_t,int,netent *,netent *__restrict__,char *,char *__restrict__,size_t,netent **,netent **__restrict__,int *,int *__restrict__) | | __getnetbyaddr_r | 10 | int *__restrict__ | | (uint32_t,uint32_t *,uint32_t *) | | ossl_ml_dsa_key_compress_power2_round | 0 | uint32_t | | (uint32_t,uint32_t *,uint32_t *) | | ossl_ml_dsa_key_compress_power2_round | 1 | uint32_t * | | (uint32_t,uint32_t *,uint32_t *) | | ossl_ml_dsa_key_compress_power2_round | 2 | uint32_t * | @@ -32772,6 +44283,8 @@ getSignatureParameterName | (uint32_t,uint32_t,uint32_t) | | ossl_ml_dsa_key_compress_use_hint | 0 | uint32_t | | (uint32_t,uint32_t,uint32_t) | | ossl_ml_dsa_key_compress_use_hint | 1 | uint32_t | | (uint32_t,uint32_t,uint32_t) | | ossl_ml_dsa_key_compress_use_hint | 2 | uint32_t | +| (uint32_t,unsigned char *) | | __putlong | 0 | uint32_t | +| (uint32_t,unsigned char *) | | __putlong | 1 | unsigned char * | | (uint64_t *,const ASN1_INTEGER *) | | ASN1_INTEGER_get_uint64 | 0 | uint64_t * | | (uint64_t *,const ASN1_INTEGER *) | | ASN1_INTEGER_get_uint64 | 1 | const ASN1_INTEGER * | | (uint64_t *,int *,const unsigned char **,long) | | ossl_c2i_uint64_int | 0 | uint64_t * | @@ -32900,6 +44413,9 @@ getSignatureParameterName | (unsigned char *,const BIGNUM *,DH *) | | ossl_dh_compute_key | 2 | DH * | | (unsigned char *,const char *) | | ossl_a2i_ipadd | 0 | unsigned char * | | (unsigned char *,const char *) | | ossl_a2i_ipadd | 1 | const char * | +| (unsigned char *,const char *,int) | | data_string | 0 | unsigned char * | +| (unsigned char *,const char *,int) | | data_string | 1 | const char * | +| (unsigned char *,const char *,int) | | data_string | 2 | int | | (unsigned char *,const unsigned char *,const unsigned char *,size_t) | | _libssh2_xor_data | 0 | unsigned char * | | (unsigned char *,const unsigned char *,const unsigned char *,size_t) | | _libssh2_xor_data | 1 | const unsigned char * | | (unsigned char *,const unsigned char *,const unsigned char *,size_t) | | _libssh2_xor_data | 2 | const unsigned char * | @@ -33091,6 +44607,7 @@ getSignatureParameterName | (unsigned char,const char *,ct_log_entry_type_t,uint64_t,const char *,const char *) | | SCT_new_from_base64 | 5 | const char * | | (unsigned char[56],const curve448_scalar_t) | | ossl_curve448_scalar_encode | 0 | unsigned char[56] | | (unsigned char[56],const curve448_scalar_t) | | ossl_curve448_scalar_encode | 1 | const curve448_scalar_t | +| (unsigned int *) | | rand_r | 0 | unsigned int * | | (unsigned int *,const BF_KEY *) | | BF_decrypt | 0 | unsigned int * | | (unsigned int *,const BF_KEY *) | | BF_decrypt | 1 | const BF_KEY * | | (unsigned int *,const BF_KEY *) | | BF_encrypt | 0 | unsigned int * | @@ -33100,17 +44617,45 @@ getSignatureParameterName | (unsigned int *,const CAST_KEY *) | | CAST_encrypt | 0 | unsigned int * | | (unsigned int *,const CAST_KEY *) | | CAST_encrypt | 1 | const CAST_KEY * | | (unsigned int) | | Jim_IntHashFunction | 0 | unsigned int | +| (unsigned int) | | __sleep | 0 | unsigned int | +| (unsigned int) | | __x86_get_cpuid_feature_leaf | 0 | unsigned int | | (unsigned int) | | curlx_uitous | 0 | unsigned int | +| (unsigned int) | | la_version | 0 | unsigned int | | (unsigned int) | | ssl3_get_cipher | 0 | unsigned int | +| (unsigned int,__locale_data *) | | _nl_get_alt_digit | 0 | unsigned int | +| (unsigned int,__locale_data *) | | _nl_get_alt_digit | 1 | __locale_data * | +| (unsigned int,__locale_data *) | | _nl_get_walt_digit | 0 | unsigned int | +| (unsigned int,__locale_data *) | | _nl_get_walt_digit | 1 | __locale_data * | | (unsigned int,char *,size_t *) | | uv_if_indextoiid | 0 | unsigned int | | (unsigned int,char *,size_t *) | | uv_if_indextoiid | 1 | char * | | (unsigned int,char *,size_t *) | | uv_if_indextoiid | 2 | size_t * | | (unsigned int,char *,size_t *) | | uv_if_indextoname | 0 | unsigned int | | (unsigned int,char *,size_t *) | | uv_if_indextoname | 1 | char * | | (unsigned int,char *,size_t *) | | uv_if_indextoname | 2 | size_t * | +| (unsigned int,char *,size_t) | | __initstate | 0 | unsigned int | +| (unsigned int,char *,size_t) | | __initstate | 1 | char * | +| (unsigned int,char *,size_t) | | __initstate | 2 | size_t | +| (unsigned int,char *,size_t,random_data *) | | __initstate_r | 0 | unsigned int | +| (unsigned int,char *,size_t,random_data *) | | __initstate_r | 1 | char * | +| (unsigned int,char *,size_t,random_data *) | | __initstate_r | 2 | size_t | +| (unsigned int,char *,size_t,random_data *) | | __initstate_r | 3 | random_data * | +| (unsigned int,char[16]) | | __if_indextoname | 0 | unsigned int | +| (unsigned int,char[16]) | | __if_indextoname | 1 | char[16] | +| (unsigned int,const char *,int) | | _IO_adjust_column | 0 | unsigned int | +| (unsigned int,const char *,int) | | _IO_adjust_column | 1 | const char * | +| (unsigned int,const char *,int) | | _IO_adjust_column | 2 | int | +| (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 0 | unsigned int | +| (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 1 | const wchar_t * | +| (unsigned int,const wchar_t *,int) | | _IO_adjust_wcolumn | 2 | int | | (unsigned int,int,int) | | ossl_blob_length | 0 | unsigned int | | (unsigned int,int,int) | | ossl_blob_length | 1 | int | | (unsigned int,int,int) | | ossl_blob_length | 2 | int | +| (unsigned int,random_data *) | | __srandom_r | 0 | unsigned int | +| (unsigned int,random_data *) | | __srandom_r | 1 | random_data * | +| (unsigned int,unsigned int) | | __gnu_dev_makedev | 0 | unsigned int | +| (unsigned int,unsigned int) | | __gnu_dev_makedev | 1 | unsigned int | +| (unsigned int,unsigned int) | | gnu_dev_makedev | 0 | unsigned int | +| (unsigned int,unsigned int) | | gnu_dev_makedev | 1 | unsigned int | | (unsigned int[5],const unsigned char[64]) | | SHA1Transform | 0 | unsigned int[5] | | (unsigned int[5],const unsigned char[64]) | | SHA1Transform | 1 | const unsigned char[64] | | (unsigned long *,IDEA_KEY_SCHEDULE *) | | IDEA_encrypt | 0 | unsigned long * | @@ -33191,16 +44736,29 @@ getSignatureParameterName | (unsigned long *,unsigned long *,unsigned long *,int,unsigned long *) | | bn_mul_low_recursive | 2 | unsigned long * | | (unsigned long *,unsigned long *,unsigned long *,int,unsigned long *) | | bn_mul_low_recursive | 3 | int | | (unsigned long *,unsigned long *,unsigned long *,int,unsigned long *) | | bn_mul_low_recursive | 4 | unsigned long * | +| (unsigned long long,char *,unsigned int,int) | | _itoa | 0 | unsigned long long | +| (unsigned long long,char *,unsigned int,int) | | _itoa | 1 | char * | +| (unsigned long long,char *,unsigned int,int) | | _itoa | 2 | unsigned int | +| (unsigned long long,char *,unsigned int,int) | | _itoa | 3 | int | | (unsigned long) | | BN_num_bits_word | 0 | unsigned long | | (unsigned long) | | BUF_MEM_new_ex | 0 | unsigned long | | (unsigned long) | | curlx_ultouc | 0 | unsigned long | | (unsigned long) | | curlx_ultous | 0 | unsigned long | +| (unsigned long) | | next_prime | 0 | unsigned long | | (unsigned long,BIGNUM *,BIGNUM *,int) | | BN_consttime_swap | 0 | unsigned long | | (unsigned long,BIGNUM *,BIGNUM *,int) | | BN_consttime_swap | 1 | BIGNUM * | | (unsigned long,BIGNUM *,BIGNUM *,int) | | BN_consttime_swap | 2 | BIGNUM * | | (unsigned long,BIGNUM *,BIGNUM *,int) | | BN_consttime_swap | 3 | int | | (unsigned long,char *) | | ERR_error_string | 0 | unsigned long | | (unsigned long,char *) | | ERR_error_string | 1 | char * | +| (unsigned long,char *,unsigned int,int) | | _fitoa_word | 0 | unsigned long | +| (unsigned long,char *,unsigned int,int) | | _fitoa_word | 1 | char * | +| (unsigned long,char *,unsigned int,int) | | _fitoa_word | 2 | unsigned int | +| (unsigned long,char *,unsigned int,int) | | _fitoa_word | 3 | int | +| (unsigned long,char *,unsigned int,int) | | _itoa_word | 0 | unsigned long | +| (unsigned long,char *,unsigned int,int) | | _itoa_word | 1 | char * | +| (unsigned long,char *,unsigned int,int) | | _itoa_word | 2 | unsigned int | +| (unsigned long,char *,unsigned int,int) | | _itoa_word | 3 | int | | (unsigned long[8],const unsigned long[8],const unsigned long[8],const unsigned long[8],unsigned long,const unsigned long[8]) | | RSAZ_512_mod_exp | 0 | unsigned long[8] | | (unsigned long[8],const unsigned long[8],const unsigned long[8],const unsigned long[8],unsigned long,const unsigned long[8]) | | RSAZ_512_mod_exp | 1 | const unsigned long[8] | | (unsigned long[8],const unsigned long[8],const unsigned long[8],const unsigned long[8],unsigned long,const unsigned long[8]) | | RSAZ_512_mod_exp | 2 | const unsigned long[8] | @@ -33215,6 +44773,28 @@ getSignatureParameterName | (unsigned long[16],const unsigned long[16],const unsigned long[16],const unsigned long[16],const unsigned long[16],unsigned long) | | RSAZ_1024_mod_exp_avx2 | 5 | unsigned long | | (unsigned short,int) | | dtls1_get_queue_priority | 0 | unsigned short | | (unsigned short,int) | | dtls1_get_queue_priority | 1 | int | +| (unsigned short[3]) | | erand48 | 0 | unsigned short[3] | +| (unsigned short[3]) | | jrand48 | 0 | unsigned short[3] | +| (unsigned short[3]) | | nrand48 | 0 | unsigned short[3] | +| (unsigned short[3],drand48_data *) | | __drand48_iterate | 0 | unsigned short[3] | +| (unsigned short[3],drand48_data *) | | __drand48_iterate | 1 | drand48_data * | +| (unsigned short[3],drand48_data *) | | __seed48_r | 0 | unsigned short[3] | +| (unsigned short[3],drand48_data *) | | __seed48_r | 1 | drand48_data * | +| (unsigned short[3],drand48_data *,double *) | | __erand48_r | 0 | unsigned short[3] | +| (unsigned short[3],drand48_data *,double *) | | __erand48_r | 1 | drand48_data * | +| (unsigned short[3],drand48_data *,double *) | | __erand48_r | 2 | double * | +| (unsigned short[3],drand48_data *,long *) | | __jrand48_r | 0 | unsigned short[3] | +| (unsigned short[3],drand48_data *,long *) | | __jrand48_r | 1 | drand48_data * | +| (unsigned short[3],drand48_data *,long *) | | __jrand48_r | 2 | long * | +| (unsigned short[3],drand48_data *,long *) | | __nrand48_r | 0 | unsigned short[3] | +| (unsigned short[3],drand48_data *,long *) | | __nrand48_r | 1 | drand48_data * | +| (unsigned short[3],drand48_data *,long *) | | __nrand48_r | 2 | long * | +| (unsigned short[7],drand48_data *) | | __lcong48_r | 0 | unsigned short[7] | +| (unsigned short[7],drand48_data *) | | __lcong48_r | 1 | drand48_data * | +| (utmp *,utmp **) | | __getutent_r | 0 | utmp * | +| (utmp *,utmp **) | | __getutent_r | 1 | utmp ** | +| (utmp *,utmp **) | | __libc_getutent_r | 0 | utmp * | +| (utmp *,utmp **) | | __libc_getutent_r | 1 | utmp ** | | (uv__io_t *,uv__io_cb,int) | | uv__io_init | 0 | uv__io_t * | | (uv__io_t *,uv__io_cb,int) | | uv__io_init | 1 | uv__io_cb | | (uv__io_t *,uv__io_cb,int) | | uv__io_init | 2 | int | @@ -33733,7 +45313,20 @@ getSignatureParameterName | (vector &&,const Allocator &) | vector | vector | 0 | vector && | | (vector &&,const Allocator &) | vector | vector | 1 | const class:1 & | | (void *) | | Curl_cpool_upkeep | 0 | void * | +| (void *) | | __dlclose | 0 | void * | +| (void *) | | __libc_dlclose | 0 | void * | +| (void *) | | __libc_free | 0 | void * | +| (void *) | | __malloc_usable_size | 0 | void * | +| (void *) | | _dl_allocate_tls | 0 | void * | +| (void *) | | _dl_close | 0 | void * | +| (void *) | | malloc_usable_size | 0 | void * | | (void *) | | ossl_kdf_data_new | 0 | void * | +| (void *) | | support_shared_free | 0 | void * | +| (void **,..(*)(..)) | | _dl_sysdep_start | 0 | void ** | +| (void **,..(*)(..)) | | _dl_sysdep_start | 1 | ..(*)(..) | +| (void **,size_t,size_t) | | __posix_memalign | 0 | void ** | +| (void **,size_t,size_t) | | __posix_memalign | 1 | size_t | +| (void **,size_t,size_t) | | __posix_memalign | 2 | size_t | | (void *,CRYPTO_THREAD_RETVAL *) | | ossl_crypto_thread_join | 0 | void * | | (void *,CRYPTO_THREAD_RETVAL *) | | ossl_crypto_thread_join | 1 | CRYPTO_THREAD_RETVAL * | | (void *,OSSL_PARAM[]) | | ossl_blake2b_get_ctx_params | 0 | void * | @@ -33754,6 +45347,23 @@ getSignatureParameterName | (void *,PROV_GCM_CTX *,size_t,const PROV_GCM_HW *) | | ossl_gcm_initctx | 3 | const PROV_GCM_HW * | | (void *,block128_f) | | CRYPTO_gcm128_new | 0 | void * | | (void *,block128_f) | | CRYPTO_gcm128_new | 1 | block128_f | +| (void *,bool) | | _dl_allocate_tls_init | 0 | void * | +| (void *,bool) | | _dl_allocate_tls_init | 1 | bool | +| (void *,bool) | | _dl_deallocate_tls | 0 | void * | +| (void *,bool) | | _dl_deallocate_tls | 1 | bool | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 0 | void * | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 1 | char | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 2 | __STRING2_COPY_ARR2 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 3 | __STRING2_COPY_ARR3 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 4 | __STRING2_COPY_ARR4 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 5 | __STRING2_COPY_ARR5 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 6 | __STRING2_COPY_ARR6 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 7 | __STRING2_COPY_ARR7 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 8 | __STRING2_COPY_ARR8 | +| (void *,char,__STRING2_COPY_ARR2,__STRING2_COPY_ARR3,__STRING2_COPY_ARR4,__STRING2_COPY_ARR5,__STRING2_COPY_ARR6,__STRING2_COPY_ARR7,__STRING2_COPY_ARR8,size_t) | | __old_mempcpy_small | 9 | size_t | +| (void *,cmsghdr **,int) | | inet6_option_init | 0 | void * | +| (void *,cmsghdr **,int) | | inet6_option_init | 1 | cmsghdr ** | +| (void *,cmsghdr **,int) | | inet6_option_init | 2 | int | | (void *,const ASN1_ITEM *,ASN1_OCTET_STRING **,ASN1_STRING **) | | ASN1_item_pack | 0 | void * | | (void *,const ASN1_ITEM *,ASN1_OCTET_STRING **,ASN1_STRING **) | | ASN1_item_pack | 1 | const ASN1_ITEM * | | (void *,const ASN1_ITEM *,ASN1_OCTET_STRING **,ASN1_STRING **) | | ASN1_item_pack | 2 | ASN1_OCTET_STRING ** | @@ -33776,9 +45386,18 @@ getSignatureParameterName | (void *,const OSSL_PARAM[]) | | ossl_gcm_set_ctx_params | 1 | const OSSL_PARAM[] | | (void *,const OSSL_PARAM[]) | | ossl_tdes_set_ctx_params | 0 | void * | | (void *,const OSSL_PARAM[]) | | ossl_tdes_set_ctx_params | 1 | const OSSL_PARAM[] | +| (void *,const char *,const char *,void *) | | _dl_vsym | 0 | void * | +| (void *,const char *,const char *,void *) | | _dl_vsym | 1 | const char * | +| (void *,const char *,const char *,void *) | | _dl_vsym | 2 | const char * | +| (void *,const char *,const char *,void *) | | _dl_vsym | 3 | void * | | (void *,const char *,int) | | CRYPTO_secure_free | 0 | void * | | (void *,const char *,int) | | CRYPTO_secure_free | 1 | const char * | | (void *,const char *,int) | | CRYPTO_secure_free | 2 | int | +| (void *,const char *,void *) | | _dl_sym | 0 | void * | +| (void *,const char *,void *) | | _dl_sym | 1 | const char * | +| (void *,const char *,void *) | | _dl_sym | 2 | void * | +| (void *,const in6_addr *) | | inet6_rth_add | 0 | void * | +| (void *,const in6_addr *) | | inet6_rth_add | 1 | const in6_addr * | | (void *,const unsigned char *,size_t,const unsigned char *,size_t,const OSSL_PARAM[]) | | ossl_ccm_dinit | 0 | void * | | (void *,const unsigned char *,size_t,const unsigned char *,size_t,const OSSL_PARAM[]) | | ossl_ccm_dinit | 1 | const unsigned char * | | (void *,const unsigned char *,size_t,const unsigned char *,size_t,const OSSL_PARAM[]) | | ossl_ccm_dinit | 2 | size_t | @@ -33863,6 +45482,10 @@ getSignatureParameterName | (void *,const unsigned char *,unsigned char *,const unsigned char *,size_t,block128_f) | | CRYPTO_128_wrap_pad | 3 | const unsigned char * | | (void *,const unsigned char *,unsigned char *,const unsigned char *,size_t,block128_f) | | CRYPTO_128_wrap_pad | 4 | size_t | | (void *,const unsigned char *,unsigned char *,const unsigned char *,size_t,block128_f) | | CRYPTO_128_wrap_pad | 5 | block128_f | +| (void *,const void *,int,size_t) | | __memccpy | 0 | void * | +| (void *,const void *,int,size_t) | | __memccpy | 1 | const void * | +| (void *,const void *,int,size_t) | | __memccpy | 2 | int | +| (void *,const void *,int,size_t) | | __memccpy | 3 | size_t | | (void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t) | | xferinfo_cb | 0 | void * | | (void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t) | | xferinfo_cb | 1 | curl_off_t | | (void *,curl_off_t,curl_off_t,curl_off_t,curl_off_t) | | xferinfo_cb | 2 | curl_off_t | @@ -33885,12 +45508,30 @@ getSignatureParameterName | (void *,int,size_t,size_t,size_t,uint64_t,const PROV_CIPHER_HW *) | | ossl_tdes_newctx | 4 | size_t | | (void *,int,size_t,size_t,size_t,uint64_t,const PROV_CIPHER_HW *) | | ossl_tdes_newctx | 5 | uint64_t | | (void *,int,size_t,size_t,size_t,uint64_t,const PROV_CIPHER_HW *) | | ossl_tdes_newctx | 6 | const PROV_CIPHER_HW * | +| (void *,int,void *,socklen_t) | | inet6_opt_get_val | 0 | void * | +| (void *,int,void *,socklen_t) | | inet6_opt_get_val | 1 | int | +| (void *,int,void *,socklen_t) | | inet6_opt_get_val | 2 | void * | +| (void *,int,void *,socklen_t) | | inet6_opt_get_val | 3 | socklen_t | +| (void *,int,void *,socklen_t) | | inet6_opt_set_val | 0 | void * | +| (void *,int,void *,socklen_t) | | inet6_opt_set_val | 1 | int | +| (void *,int,void *,socklen_t) | | inet6_opt_set_val | 2 | void * | +| (void *,int,void *,socklen_t) | | inet6_opt_set_val | 3 | socklen_t | | (void *,size_t) | | JimDefaultAllocator | 0 | void * | | (void *,size_t) | | JimDefaultAllocator | 1 | size_t | +| (void *,size_t) | | __arc4random_buf | 0 | void * | +| (void *,size_t) | | __arc4random_buf | 1 | size_t | +| (void *,size_t) | | __libc_realloc | 0 | void * | +| (void *,size_t) | | __libc_realloc | 1 | size_t | +| (void *,size_t) | | __minimal_realloc | 0 | void * | +| (void *,size_t) | | __minimal_realloc | 1 | size_t | +| (void *,size_t) | | getentropy | 0 | void * | +| (void *,size_t) | | getentropy | 1 | size_t | | (void *,size_t) | | uv__random_devurandom | 0 | void * | | (void *,size_t) | | uv__random_devurandom | 1 | size_t | | (void *,size_t) | | uv__random_getrandom | 0 | void * | | (void *,size_t) | | uv__random_getrandom | 1 | size_t | +| (void *,size_t) | | xrealloc | 0 | void * | +| (void *,size_t) | | xrealloc | 1 | size_t | | (void *,size_t,const EC_POINT *,const EC_KEY *,..(*)(..)) | | ECDH_compute_key | 0 | void * | | (void *,size_t,const EC_POINT *,const EC_KEY *,..(*)(..)) | | ECDH_compute_key | 1 | size_t | | (void *,size_t,const EC_POINT *,const EC_KEY *,..(*)(..)) | | ECDH_compute_key | 2 | const EC_POINT * | @@ -33903,6 +45544,17 @@ getSignatureParameterName | (void *,size_t,size_t) | | Curl_hash_str | 0 | void * | | (void *,size_t,size_t) | | Curl_hash_str | 1 | size_t | | (void *,size_t,size_t) | | Curl_hash_str | 2 | size_t | +| (void *,size_t,size_t) | | __libc_reallocarray | 0 | void * | +| (void *,size_t,size_t) | | __libc_reallocarray | 1 | size_t | +| (void *,size_t,size_t) | | __libc_reallocarray | 2 | size_t | +| (void *,size_t,size_t,FILE *) | | _IO_fread | 0 | void * | +| (void *,size_t,size_t,FILE *) | | _IO_fread | 1 | size_t | +| (void *,size_t,size_t,FILE *) | | _IO_fread | 2 | size_t | +| (void *,size_t,size_t,FILE *) | | _IO_fread | 3 | FILE * | +| (void *,size_t,size_t,__compar_fn_t) | | qsort | 0 | void * | +| (void *,size_t,size_t,__compar_fn_t) | | qsort | 1 | size_t | +| (void *,size_t,size_t,__compar_fn_t) | | qsort | 2 | size_t | +| (void *,size_t,size_t,__compar_fn_t) | | qsort | 3 | __compar_fn_t | | (void *,size_t,size_t,const char *,int) | | CRYPTO_clear_realloc | 0 | void * | | (void *,size_t,size_t,const char *,int) | | CRYPTO_clear_realloc | 1 | size_t | | (void *,size_t,size_t,const char *,int) | | CRYPTO_clear_realloc | 2 | size_t | @@ -33916,6 +45568,34 @@ getSignatureParameterName | (void *,size_t,size_t,size_t,unsigned int,uint64_t,const PROV_CIPHER_HW *,void *) | | ossl_cipher_generic_initkey | 5 | uint64_t | | (void *,size_t,size_t,size_t,unsigned int,uint64_t,const PROV_CIPHER_HW *,void *) | | ossl_cipher_generic_initkey | 6 | const PROV_CIPHER_HW * | | (void *,size_t,size_t,size_t,unsigned int,uint64_t,const PROV_CIPHER_HW *,void *) | | ossl_cipher_generic_initkey | 7 | void * | +| (void *,socklen_t) | | inet6_opt_init | 0 | void * | +| (void *,socklen_t) | | inet6_opt_init | 1 | socklen_t | +| (void *,socklen_t,int) | | inet6_opt_finish | 0 | void * | +| (void *,socklen_t,int) | | inet6_opt_finish | 1 | socklen_t | +| (void *,socklen_t,int) | | inet6_opt_finish | 2 | int | +| (void *,socklen_t,int,int) | | inet6_rth_init | 0 | void * | +| (void *,socklen_t,int,int) | | inet6_rth_init | 1 | socklen_t | +| (void *,socklen_t,int,int) | | inet6_rth_init | 2 | int | +| (void *,socklen_t,int,int) | | inet6_rth_init | 3 | int | +| (void *,socklen_t,int,uint8_t *,socklen_t *,void **) | | inet6_opt_next | 0 | void * | +| (void *,socklen_t,int,uint8_t *,socklen_t *,void **) | | inet6_opt_next | 1 | socklen_t | +| (void *,socklen_t,int,uint8_t *,socklen_t *,void **) | | inet6_opt_next | 2 | int | +| (void *,socklen_t,int,uint8_t *,socklen_t *,void **) | | inet6_opt_next | 3 | uint8_t * | +| (void *,socklen_t,int,uint8_t *,socklen_t *,void **) | | inet6_opt_next | 4 | socklen_t * | +| (void *,socklen_t,int,uint8_t *,socklen_t *,void **) | | inet6_opt_next | 5 | void ** | +| (void *,socklen_t,int,uint8_t,socklen_t *,void **) | | inet6_opt_find | 0 | void * | +| (void *,socklen_t,int,uint8_t,socklen_t *,void **) | | inet6_opt_find | 1 | socklen_t | +| (void *,socklen_t,int,uint8_t,socklen_t *,void **) | | inet6_opt_find | 2 | int | +| (void *,socklen_t,int,uint8_t,socklen_t *,void **) | | inet6_opt_find | 3 | uint8_t | +| (void *,socklen_t,int,uint8_t,socklen_t *,void **) | | inet6_opt_find | 4 | socklen_t * | +| (void *,socklen_t,int,uint8_t,socklen_t *,void **) | | inet6_opt_find | 5 | void ** | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 0 | void * | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 1 | socklen_t | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 2 | int | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 3 | uint8_t | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 4 | socklen_t | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 5 | uint8_t | +| (void *,socklen_t,int,uint8_t,socklen_t,uint8_t,void **) | | inet6_opt_append | 6 | void ** | | (void *,sqlite3 *,int,const char *) | | useDummyCS | 0 | void * | | (void *,sqlite3 *,int,const char *) | | useDummyCS | 1 | sqlite3 * | | (void *,sqlite3 *,int,const char *) | | useDummyCS | 2 | int | @@ -33993,6 +45673,8 @@ getSignatureParameterName | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 0 | void * | | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 1 | unsigned char * | | (void *,unsigned char *,size_t) | | ossl_drbg_clear_seed | 2 | size_t | +| (void *,void *) | | insque | 0 | void * | +| (void *,void *) | | insque | 1 | void * | | (void *,void *,block128_f,block128_f,ocb128_f) | | CRYPTO_ocb128_new | 0 | void * | | (void *,void *,block128_f,block128_f,ocb128_f) | | CRYPTO_ocb128_new | 1 | void * | | (void *,void *,block128_f,block128_f,ocb128_f) | | CRYPTO_ocb128_new | 2 | block128_f | @@ -34017,6 +45699,30 @@ getSignatureParameterName | (void *,void *,const unsigned char *,size_t,const OSSL_PARAM[]) | | ossl_cipher_generic_skey_einit | 2 | const unsigned char * | | (void *,void *,const unsigned char *,size_t,const OSSL_PARAM[]) | | ossl_cipher_generic_skey_einit | 3 | size_t | | (void *,void *,const unsigned char *,size_t,const OSSL_PARAM[]) | | ossl_cipher_generic_skey_einit | 4 | const OSSL_PARAM[] | +| (void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | __fread_unlocked | 0 | void * | +| (void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | __fread_unlocked | 1 | void *__restrict__ | +| (void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | __fread_unlocked | 2 | size_t | +| (void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | __fread_unlocked | 3 | size_t | +| (void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | __fread_unlocked | 4 | FILE * | +| (void *,void *__restrict__,size_t,size_t,FILE *,FILE *__restrict__) | | __fread_unlocked | 5 | FILE *__restrict__ | +| (void *,void *const,size_t,size_t,__compar_d_fn_t,void *) | | __qsort_r | 0 | void * | +| (void *,void *const,size_t,size_t,__compar_d_fn_t,void *) | | __qsort_r | 1 | void *const | +| (void *,void *const,size_t,size_t,__compar_d_fn_t,void *) | | __qsort_r | 2 | size_t | +| (void *,void *const,size_t,size_t,__compar_d_fn_t,void *) | | __qsort_r | 3 | size_t | +| (void *,void *const,size_t,size_t,__compar_d_fn_t,void *) | | __qsort_r | 4 | __compar_d_fn_t | +| (void *,void *const,size_t,size_t,__compar_d_fn_t,void *) | | __qsort_r | 5 | void * | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_chk | 0 | void *__restrict__ | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_chk | 1 | size_t | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_chk | 2 | size_t | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_chk | 3 | size_t | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_chk | 4 | FILE *__restrict__ | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_unlocked_chk | 0 | void *__restrict__ | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_unlocked_chk | 1 | size_t | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_unlocked_chk | 2 | size_t | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_unlocked_chk | 3 | size_t | +| (void *__restrict__,size_t,size_t,size_t,FILE *__restrict__) | | __fread_unlocked_chk | 4 | FILE *__restrict__ | +| (void *const *,int) | | __backtrace_symbols | 0 | void *const * | +| (void *const *,int) | | __backtrace_symbols | 1 | int | | (voidp,z_size_t,z_size_t,gzFile) | | gzfread | 0 | voidp | | (voidp,z_size_t,z_size_t,gzFile) | | gzfread | 1 | z_size_t | | (voidp,z_size_t,z_size_t,gzFile) | | gzfread | 2 | z_size_t | @@ -34026,15 +45732,278 @@ getSignatureParameterName | (voidpc,z_size_t,z_size_t,gzFile) | | gzfwrite | 2 | z_size_t | | (voidpc,z_size_t,z_size_t,gzFile) | | gzfwrite | 3 | gzFile | | (wchar_t *) | CStringT | CStringT | 0 | wchar_t * | +| (wchar_t *,const char **,size_t,mbstate_t *,locale_t) | | __mbsrtowcs_l | 0 | wchar_t * | +| (wchar_t *,const char **,size_t,mbstate_t *,locale_t) | | __mbsrtowcs_l | 1 | const char ** | +| (wchar_t *,const char **,size_t,mbstate_t *,locale_t) | | __mbsrtowcs_l | 2 | size_t | +| (wchar_t *,const char **,size_t,mbstate_t *,locale_t) | | __mbsrtowcs_l | 3 | mbstate_t * | +| (wchar_t *,const char **,size_t,mbstate_t *,locale_t) | | __mbsrtowcs_l | 4 | locale_t | +| (wchar_t *,const char *,size_t,size_t) | | __mbstowcs_chk | 0 | wchar_t * | +| (wchar_t *,const char *,size_t,size_t) | | __mbstowcs_chk | 1 | const char * | +| (wchar_t *,const char *,size_t,size_t) | | __mbstowcs_chk | 2 | size_t | +| (wchar_t *,const char *,size_t,size_t) | | __mbstowcs_chk | 3 | size_t | +| (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 0 | wchar_t * | +| (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 1 | const wchar_t * | +| (wchar_t *,const wchar_t *,size_t) | | __wmemcpy | 2 | size_t | +| (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 0 | wchar_t * | +| (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 1 | const wchar_t * | +| (wchar_t *,const wchar_t *,size_t) | | __wmemmove | 2 | size_t | +| (wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsxfrm_l | 0 | wchar_t * | +| (wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsxfrm_l | 1 | const wchar_t * | +| (wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsxfrm_l | 2 | size_t | +| (wchar_t *,const wchar_t *,size_t,locale_t) | | __wcsxfrm_l | 3 | locale_t | +| (wchar_t *,const wchar_t *,size_t,size_t) | | __wmemmove_chk | 0 | wchar_t * | +| (wchar_t *,const wchar_t *,size_t,size_t) | | __wmemmove_chk | 1 | const wchar_t * | +| (wchar_t *,const wchar_t *,size_t,size_t) | | __wmemmove_chk | 2 | size_t | +| (wchar_t *,const wchar_t *,size_t,size_t) | | __wmemmove_chk | 3 | size_t | +| (wchar_t *,size_t,const wchar_t *,va_list) | | __vswprintf | 0 | wchar_t * | +| (wchar_t *,size_t,const wchar_t *,va_list) | | __vswprintf | 1 | size_t | +| (wchar_t *,size_t,const wchar_t *,va_list) | | __vswprintf | 2 | const wchar_t * | +| (wchar_t *,size_t,const wchar_t *,va_list) | | __vswprintf | 3 | va_list | +| (wchar_t *,size_t,const wchar_t *,va_list,unsigned int) | | __vswprintf_internal | 0 | wchar_t * | +| (wchar_t *,size_t,const wchar_t *,va_list,unsigned int) | | __vswprintf_internal | 1 | size_t | +| (wchar_t *,size_t,const wchar_t *,va_list,unsigned int) | | __vswprintf_internal | 2 | const wchar_t * | +| (wchar_t *,size_t,const wchar_t *,va_list,unsigned int) | | __vswprintf_internal | 3 | va_list | +| (wchar_t *,size_t,const wchar_t *,va_list,unsigned int) | | __vswprintf_internal | 4 | unsigned int | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 2 | const char ** | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 3 | const char **__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 5 | __mbstate_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsrtowcs | 6 | mbstate_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 2 | const char ** | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 3 | const char **__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 5 | mbstate_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 6 | mbstate_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsrtowcs_chk | 7 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 2 | const char ** | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 3 | const char **__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 5 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 6 | __mbstate_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbsnrtowcs | 7 | mbstate_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 2 | const char ** | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 3 | const char **__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 5 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 6 | mbstate_t * | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 7 | mbstate_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char **,const char **__restrict__,size_t,size_t,mbstate_t *,mbstate_t *__restrict__,size_t) | | __mbsnrtowcs_chk | 8 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbstowcs | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbstowcs | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbstowcs | 2 | const char * | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbstowcs | 3 | const char *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbstowcs | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbtowc | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbtowc | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbtowc | 2 | const char * | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbtowc | 3 | const char *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t) | | mbtowc | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 2 | const char * | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 3 | const char *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 5 | __mbstate_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const char *,const char *__restrict__,size_t,__mbstate_t *__restrict__,mbstate_t *) | | __mbrtowc | 6 | mbstate_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcpcpy_generic | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcpcpy_generic | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcpcpy_generic | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcpcpy_generic | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscat_generic | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscat_generic | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscat_generic | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscat_generic | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscpy_generic | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscpy_generic | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscpy_generic | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__) | | __wcscpy_generic | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpcpy_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpcpy_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpcpy_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpcpy_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpcpy_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpncpy_generic | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpncpy_generic | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpncpy_generic | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpncpy_generic | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcpncpy_generic | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscat_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscat_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscat_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscat_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscat_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscpy_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscpy_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscpy_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscpy_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcscpy_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncat_generic | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncat_generic | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncat_generic | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncat_generic | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncat_generic | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncpy_generic | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncpy_generic | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncpy_generic | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncpy_generic | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t) | | __wcsncpy_generic | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcat_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcat_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcat_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcat_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcat_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcat_chk | 5 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcpy_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcpy_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcpy_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcpy_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcpy_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcslcpy_chk | 5 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcsncat_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcsncat_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcsncat_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcsncat_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcsncat_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wcsncat_chk | 5 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wmemcpy_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wmemcpy_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wmemcpy_chk | 2 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wmemcpy_chk | 3 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wmemcpy_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,const wchar_t *,const wchar_t *__restrict__,size_t,size_t) | | __wmemcpy_chk | 5 | size_t | +| (wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__) | | fgetws_unlocked | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__) | | fgetws_unlocked | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__) | | fgetws_unlocked | 2 | int | +| (wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__) | | fgetws_unlocked | 3 | FILE * | +| (wchar_t *,wchar_t *__restrict__,int,FILE *,__FILE *__restrict__) | | fgetws_unlocked | 4 | __FILE *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 2 | size_t | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 3 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 4 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 5 | const tm * | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__) | | wcsftime | 6 | const tm *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 2 | size_t | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 3 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 4 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 5 | const tm * | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 6 | const tm *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,const wchar_t *,const wchar_t *__restrict__,const tm *,const tm *__restrict__,locale_t) | | __wcsftime_l | 7 | locale_t | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_chk | 2 | size_t | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_chk | 3 | int | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_chk | 4 | FILE * | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_chk | 5 | __FILE *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_unlocked_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_unlocked_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_unlocked_chk | 2 | size_t | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_unlocked_chk | 3 | int | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_unlocked_chk | 4 | FILE * | +| (wchar_t *,wchar_t *__restrict__,size_t,int,FILE *,__FILE *__restrict__) | | __fgetws_unlocked_chk | 5 | __FILE *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 0 | wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 1 | wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 2 | size_t | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 3 | int | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 4 | size_t | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 5 | const wchar_t * | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 6 | const wchar_t *__restrict__ | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 7 | __gnuc_va_list | +| (wchar_t *,wchar_t *__restrict__,size_t,int,size_t,const wchar_t *,const wchar_t *__restrict__,__gnuc_va_list,va_list) | | __vswprintf_chk | 8 | va_list | +| (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 0 | wchar_t *__restrict__ | +| (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 1 | const wchar_t *__restrict__ | +| (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcat | 2 | size_t | +| (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 0 | wchar_t *__restrict__ | +| (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 1 | const wchar_t *__restrict__ | +| (wchar_t *__restrict__,const wchar_t *__restrict__,size_t) | | __wcslcpy | 2 | size_t | | (wchar_t) | | operator+= | 0 | wchar_t | +| (wchar_t) | | wcwidth | 0 | wchar_t | | (wchar_t) | CComBSTR | Append | 0 | wchar_t | | (wchar_t) | CSimpleStringT | operator+= | 0 | wchar_t | | (wchar_t, const CStringT &) | | operator+ | 0 | wchar_t | | (wchar_t, const CStringT &) | | operator+ | 1 | const CStringT & | +| (wchar_t,FILE *,__FILE *) | | fputwc | 0 | wchar_t | +| (wchar_t,FILE *,__FILE *) | | fputwc | 1 | FILE * | +| (wchar_t,FILE *,__FILE *) | | fputwc | 2 | __FILE * | +| (wchar_t,FILE *,__FILE *) | | fputwc_unlocked | 0 | wchar_t | +| (wchar_t,FILE *,__FILE *) | | fputwc_unlocked | 1 | FILE * | +| (wchar_t,FILE *,__FILE *) | | fputwc_unlocked | 2 | __FILE * | +| (wchar_t,FILE *,__FILE *) | | putwc | 0 | wchar_t | +| (wchar_t,FILE *,__FILE *) | | putwc | 1 | FILE * | +| (wchar_t,FILE *,__FILE *) | | putwc | 2 | __FILE * | +| (wchar_t,FILE *,__FILE *) | | putwc_unlocked | 0 | wchar_t | +| (wchar_t,FILE *,__FILE *) | | putwc_unlocked | 1 | FILE * | +| (wchar_t,FILE *,__FILE *) | | putwc_unlocked | 2 | __FILE * | | (wchar_t,const CStringT &) | | operator+ | 0 | wchar_t | | (wchar_t,const CStringT &) | | operator+ | 1 | const CStringT & | | (wchar_t,int) | CStringT | CStringT | 0 | wchar_t | | (wchar_t,int) | CStringT | CStringT | 1 | int | +| (wint_t) | | __iswalnum | 0 | wint_t | +| (wint_t) | | __iswalpha | 0 | wint_t | +| (wint_t) | | __iswblank | 0 | wint_t | +| (wint_t) | | __iswcntrl | 0 | wint_t | +| (wint_t) | | __iswdigit | 0 | wint_t | +| (wint_t) | | __iswgraph | 0 | wint_t | +| (wint_t) | | __iswlower | 0 | wint_t | +| (wint_t) | | __iswprint | 0 | wint_t | +| (wint_t) | | __iswpunct | 0 | wint_t | +| (wint_t) | | __iswspace | 0 | wint_t | +| (wint_t) | | __iswupper | 0 | wint_t | +| (wint_t) | | __iswxdigit | 0 | wint_t | +| (wint_t) | | __towlower | 0 | wint_t | +| (wint_t) | | __towupper | 0 | wint_t | +| (wint_t) | | wctob | 0 | wint_t | +| (wint_t,FILE *,__FILE *) | | ungetwc | 0 | wint_t | +| (wint_t,FILE *,__FILE *) | | ungetwc | 1 | FILE * | +| (wint_t,FILE *,__FILE *) | | ungetwc | 2 | __FILE * | +| (wint_t,locale_t) | | __iswalnum_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswalnum_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswalpha_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswalpha_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswblank_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswblank_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswcntrl_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswcntrl_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswdigit_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswdigit_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswgraph_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswgraph_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswlower_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswlower_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswprint_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswprint_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswpunct_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswpunct_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswspace_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswspace_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswupper_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswupper_l | 1 | locale_t | +| (wint_t,locale_t) | | __iswxdigit_l | 0 | wint_t | +| (wint_t,locale_t) | | __iswxdigit_l | 1 | locale_t | +| (wint_t,locale_t) | | __towlower_l | 0 | wint_t | +| (wint_t,locale_t) | | __towlower_l | 1 | locale_t | +| (wint_t,locale_t) | | __towupper_l | 0 | wint_t | +| (wint_t,locale_t) | | __towupper_l | 1 | locale_t | +| (wint_t,wctrans_t) | | __towctrans | 0 | wint_t | +| (wint_t,wctrans_t) | | __towctrans | 1 | wctrans_t | +| (wint_t,wctrans_t,locale_t) | | __towctrans_l | 0 | wint_t | +| (wint_t,wctrans_t,locale_t) | | __towctrans_l | 1 | wctrans_t | +| (wint_t,wctrans_t,locale_t) | | __towctrans_l | 2 | locale_t | +| (wint_t,wctype_t) | | __iswctype | 0 | wint_t | +| (wint_t,wctype_t) | | __iswctype | 1 | wctype_t | +| (wint_t,wctype_t,locale_t) | | __iswctype_l | 0 | wint_t | +| (wint_t,wctype_t,locale_t) | | __iswctype_l | 1 | wctype_t | +| (wint_t,wctype_t,locale_t) | | __iswctype_l | 2 | locale_t | | (z_streamp) | | deflateResetKeep | 0 | z_streamp | | (z_streamp) | | inflateCodesUsed | 0 | z_streamp | | (z_streamp) | | inflateMark | 0 | z_streamp | @@ -34962,6 +46931,16 @@ getParameterTypeName | stl.h:678:33:678:38 | format | 1 | func:0 && | | stl.h:683:6:683:48 | same_signature_as_format_but_different_name | 0 | format_string | | stl.h:683:6:683:48 | same_signature_as_format_but_different_name | 1 | func:0 && | +| stl.h:687:8:687:8 | operator= | 0 | const thread & | +| stl.h:687:8:687:8 | thread | 0 | const thread & | +| stl.h:690:12:690:17 | thread | 0 | func:0 && | +| stl.h:690:12:690:17 | thread | 0 | func:0 && | +| stl.h:690:12:690:17 | thread | 0 | func:0 && | +| stl.h:690:12:690:17 | thread | 0 | func:0 && | +| stl.h:690:12:690:17 | thread | 1 | func:1 && | +| stl.h:690:12:690:17 | thread | 1 | func:1 && | +| stl.h:690:12:690:17 | thread | 1 | func:1 && | +| stl.h:690:12:690:17 | thread | 1 | func:1 && | | string.cpp:17:6:17:9 | sink | 0 | const char * | | string.cpp:18:6:18:9 | sink | 0 | const string & | | string.cpp:19:6:19:9 | sink | 0 | const char * | @@ -35212,6 +47191,18 @@ getParameterTypeName | taint.cpp:817:6:817:27 | write_to_const_ptr_ptr | 1 | const char ** | | taint.cpp:822:6:822:19 | take_const_ptr | 0 | const char * | | taint.cpp:822:6:822:19 | take_const_ptr | 1 | const char * | +| thread.cpp:4:6:4:9 | sink | 0 | int | +| thread.cpp:6:8:6:8 | operator= | 0 | S && | +| thread.cpp:6:8:6:8 | operator= | 0 | const S & | +| thread.cpp:10:6:10:22 | thread_function_1 | 0 | S * | +| thread.cpp:14:6:14:22 | thread_function_2 | 0 | S | +| thread.cpp:18:6:18:22 | thread_function_3 | 0 | S * | +| thread.cpp:18:6:18:22 | thread_function_3 | 1 | int | +| thread.cpp:30:18:30:18 | (unnamed constructor) | 0 | const lambda [] type at line 762, col. 18 & | +| thread.cpp:30:18:30:18 | (unnamed constructor) | 0 | lambda [] type at line 762, col. 18 && | +| thread.cpp:30:18:30:18 | operator= | 0 | const lambda [] type at line 762, col. 18 & | +| thread.cpp:30:20:30:20 | _FUN | 0 | S * | +| thread.cpp:30:20:30:20 | operator() | 0 | S * | | vector.cpp:13:6:13:9 | sink | 0 | int | | vector.cpp:14:27:14:30 | sink | 0 | vector> & | | vector.cpp:14:27:14:30 | sink | 0 | vector> & | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/thread.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/thread.cpp new file mode 100644 index 000000000000..5a39669d1c6e --- /dev/null +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/thread.cpp @@ -0,0 +1,33 @@ +#include "stl.h" + +int source(); +void sink(int); + +struct S { + int x; +}; + +void thread_function_1(S* s) { + sink(s->x); // $ ir +} + +void thread_function_2(S s) { + sink(s.x); // $ ir +} + +void thread_function_3(S* s, int y) { + sink(s->x); // $ ir + sink(y); // clean +} + +void test_thread() { + S s; + s.x = source(); + std::thread t1(thread_function_1, &s); + std::thread t2(thread_function_2, s); + std::thread t3(thread_function_3, &s, 42); + + std::thread t4([](S* p) { + sink(p->x); // $ ir + }, &s); +} \ No newline at end of file diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index 8f280c89764c..a3ee6b46bd53 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -24262,6 +24262,281 @@ ir.cpp: # 2725| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 2725| Type = [PlainCharType] char # 2725| ValueCategory = prvalue(load) +# 2728| [TopLevelFunction] void test_postfix_crement(int*, int) +# 2728| : +# 2728| getParameter(0): [Parameter] p +# 2728| Type = [IntPointerType] int * +# 2728| getParameter(1): [Parameter] q +# 2728| Type = [IntType] int +# 2728| getEntryPoint(): [BlockStmt] { ... } +# 2729| getStmt(0): [ExprStmt] ExprStmt +# 2729| getExpr(): [PostfixIncrExpr] ... ++ +# 2729| Type = [IntPointerType] int * +# 2729| ValueCategory = prvalue +# 2729| getOperand(): [VariableAccess] p +# 2729| Type = [IntPointerType] int * +# 2729| ValueCategory = lvalue +# 2730| getStmt(1): [ExprStmt] ExprStmt +# 2730| getExpr(): [PostfixIncrExpr] ... ++ +# 2730| Type = [IntType] int +# 2730| ValueCategory = prvalue +# 2730| getOperand(): [VariableAccess] q +# 2730| Type = [IntType] int +# 2730| ValueCategory = lvalue +# 2731| getStmt(2): [ExprStmt] ExprStmt +# 2731| getExpr(): [PostfixIncrExpr] ... ++ +# 2731| Type = [IntPointerType] int * +# 2731| ValueCategory = prvalue +# 2731| getOperand(): [VariableAccess] p +# 2731| Type = [IntPointerType] int * +# 2731| ValueCategory = lvalue +# 2731| getExpr().getFullyConverted(): [ParenthesisExpr] (...) +# 2731| Type = [IntPointerType] int * +# 2731| ValueCategory = prvalue +# 2732| getStmt(3): [ExprStmt] ExprStmt +# 2732| getExpr(): [PostfixIncrExpr] ... ++ +# 2732| Type = [IntType] int +# 2732| ValueCategory = prvalue +# 2732| getOperand(): [VariableAccess] q +# 2732| Type = [IntType] int +# 2732| ValueCategory = lvalue +# 2732| getExpr().getFullyConverted(): [ParenthesisExpr] (...) +# 2732| Type = [IntType] int +# 2732| ValueCategory = prvalue +# 2733| getStmt(4): [ExprStmt] ExprStmt +# 2733| getExpr(): [PostfixIncrExpr] ... ++ +# 2733| Type = [IntPointerType] int * +# 2733| ValueCategory = prvalue +# 2733| getOperand(): [VariableAccess] p +# 2733| Type = [IntPointerType] int * +# 2733| ValueCategory = lvalue +# 2733| getExpr().getFullyConverted(): [CStyleCast] (void)... +# 2733| Conversion = [VoidConversion] conversion to void +# 2733| Type = [VoidType] void +# 2733| ValueCategory = prvalue +# 2733| getExpr(): [ParenthesisExpr] (...) +# 2733| Type = [IntPointerType] int * +# 2733| ValueCategory = prvalue +# 2734| getStmt(5): [ExprStmt] ExprStmt +# 2734| getExpr(): [PostfixIncrExpr] ... ++ +# 2734| Type = [IntType] int +# 2734| ValueCategory = prvalue +# 2734| getOperand(): [VariableAccess] q +# 2734| Type = [IntType] int +# 2734| ValueCategory = lvalue +# 2734| getExpr().getFullyConverted(): [CStyleCast] (void)... +# 2734| Conversion = [VoidConversion] conversion to void +# 2734| Type = [VoidType] void +# 2734| ValueCategory = prvalue +# 2734| getExpr(): [ParenthesisExpr] (...) +# 2734| Type = [IntType] int +# 2734| ValueCategory = prvalue +# 2735| getStmt(6): [ExprStmt] ExprStmt +# 2735| getExpr(): [PostfixIncrExpr] ... ++ +# 2735| Type = [IntPointerType] int * +# 2735| ValueCategory = prvalue +# 2735| getOperand(): [VariableAccess] p +# 2735| Type = [IntPointerType] int * +# 2735| ValueCategory = lvalue +# 2735| getExpr().getFullyConverted(): [CStyleCast] (void)... +# 2735| Conversion = [VoidConversion] conversion to void +# 2735| Type = [VoidType] void +# 2735| ValueCategory = prvalue +# 2736| getStmt(7): [ExprStmt] ExprStmt +# 2736| getExpr(): [PostfixIncrExpr] ... ++ +# 2736| Type = [IntType] int +# 2736| ValueCategory = prvalue +# 2736| getOperand(): [VariableAccess] q +# 2736| Type = [IntType] int +# 2736| ValueCategory = lvalue +# 2736| getExpr().getFullyConverted(): [CStyleCast] (void)... +# 2736| Conversion = [VoidConversion] conversion to void +# 2736| Type = [VoidType] void +# 2736| ValueCategory = prvalue +# 2737| getStmt(8): [DeclStmt] declaration +# 2737| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p1 +# 2737| Type = [IntPointerType] int * +# 2737| getVariable().getInitializer(): [Initializer] initializer for p1 +# 2737| getExpr(): [PostfixIncrExpr] ... ++ +# 2737| Type = [IntPointerType] int * +# 2737| ValueCategory = prvalue +# 2737| getOperand(): [VariableAccess] p +# 2737| Type = [IntPointerType] int * +# 2737| ValueCategory = lvalue +# 2738| getStmt(9): [DeclStmt] declaration +# 2738| getDeclarationEntry(0): [VariableDeclarationEntry] definition of q1 +# 2738| Type = [IntType] int +# 2738| getVariable().getInitializer(): [Initializer] initializer for q1 +# 2738| getExpr(): [PostfixIncrExpr] ... ++ +# 2738| Type = [IntType] int +# 2738| ValueCategory = prvalue +# 2738| getOperand(): [VariableAccess] q +# 2738| Type = [IntType] int +# 2738| ValueCategory = lvalue +# 2739| getStmt(10): [ExprStmt] ExprStmt +# 2739| getExpr(): [PostfixIncrExpr] ... ++ +# 2739| Type = [IntPointerType] int * +# 2739| ValueCategory = prvalue +# 2739| getOperand(): [VariableAccess] p +# 2739| Type = [IntPointerType] int * +# 2739| ValueCategory = lvalue +# 2739| getExpr().getFullyConverted(): [CStyleCast] (int *)... +# 2739| Conversion = [PointerConversion] pointer conversion +# 2739| Type = [IntPointerType] int * +# 2739| ValueCategory = prvalue +# 2739| getExpr(): [ParenthesisExpr] (...) +# 2739| Type = [IntPointerType] int * +# 2739| ValueCategory = prvalue +# 2740| getStmt(11): [ExprStmt] ExprStmt +# 2740| getExpr(): [PostfixIncrExpr] ... ++ +# 2740| Type = [IntType] int +# 2740| ValueCategory = prvalue +# 2740| getOperand(): [VariableAccess] q +# 2740| Type = [IntType] int +# 2740| ValueCategory = lvalue +# 2740| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2740| Conversion = [IntegralConversion] integral conversion +# 2740| Type = [IntType] int +# 2740| ValueCategory = prvalue +# 2740| getExpr(): [ParenthesisExpr] (...) +# 2740| Type = [IntType] int +# 2740| ValueCategory = prvalue +# 2741| getStmt(12): [DeclStmt] declaration +# 2741| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p2 +# 2741| Type = [IntPointerType] int * +# 2741| getVariable().getInitializer(): [Initializer] initializer for p2 +# 2741| getExpr(): [PostfixIncrExpr] ... ++ +# 2741| Type = [IntPointerType] int * +# 2741| ValueCategory = prvalue +# 2741| getOperand(): [VariableAccess] p +# 2741| Type = [IntPointerType] int * +# 2741| ValueCategory = lvalue +# 2741| getExpr().getFullyConverted(): [CStyleCast] (int *)... +# 2741| Conversion = [PointerConversion] pointer conversion +# 2741| Type = [IntPointerType] int * +# 2741| ValueCategory = prvalue +# 2741| getExpr(): [ParenthesisExpr] (...) +# 2741| Type = [IntPointerType] int * +# 2741| ValueCategory = prvalue +# 2742| getStmt(13): [DeclStmt] declaration +# 2742| getDeclarationEntry(0): [VariableDeclarationEntry] definition of q2 +# 2742| Type = [IntType] int +# 2742| getVariable().getInitializer(): [Initializer] initializer for q2 +# 2742| getExpr(): [PostfixIncrExpr] ... ++ +# 2742| Type = [IntType] int +# 2742| ValueCategory = prvalue +# 2742| getOperand(): [VariableAccess] q +# 2742| Type = [IntType] int +# 2742| ValueCategory = lvalue +# 2742| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2742| Conversion = [IntegralConversion] integral conversion +# 2742| Type = [IntType] int +# 2742| ValueCategory = prvalue +# 2742| getExpr(): [ParenthesisExpr] (...) +# 2742| Type = [IntType] int +# 2742| ValueCategory = prvalue +# 2743| getStmt(14): [ReturnStmt] return ... +# 2747| [CopyAssignmentOperator] std::strong_ordering& std::strong_ordering::operator=(std::strong_ordering const&) +# 2747| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const strong_ordering & +# 2747| [MoveAssignmentOperator] std::strong_ordering& std::strong_ordering::operator=(std::strong_ordering&&) +# 2747| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] strong_ordering && +# 2747| [CopyConstructor] void std::strong_ordering::strong_ordering(std::strong_ordering const&) +# 2747| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const strong_ordering & +# 2747| [MoveConstructor] void std::strong_ordering::strong_ordering(std::strong_ordering&&) +# 2747| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] strong_ordering && +# 2747| : +# 2747| getEntryPoint(): [BlockStmt] { ... } +# 2747| getStmt(0): [ReturnStmt] return ... +# 2748| [Constructor] void std::strong_ordering::strong_ordering(std::_Order) +# 2748| : +# 2748| getParameter(0): [Parameter] v +# 2748| Type = [ScopedEnum] _Order +# 2748| : +# 2748| getEntryPoint(): [BlockStmt] { ... } +# 2748| getStmt(0): [ReturnStmt] return ... +# 2763| [CopyAssignmentOperator] ThreeWay& ThreeWay::operator=(ThreeWay const&) +# 2763| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const ThreeWay & +# 2763| [MoveAssignmentOperator] ThreeWay& ThreeWay::operator=(ThreeWay&&) +# 2763| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] ThreeWay && +# 2763| [Constructor] void ThreeWay::ThreeWay() +# 2763| : +# 2766| [MemberFunction] std::strong_ordering ThreeWay::operator<=>(ThreeWay&) +# 2766| : +# 2766| getParameter(0): [Parameter] y +# 2766| Type = [LValueReferenceType] ThreeWay & +# 2766| getEntryPoint(): [BlockStmt] { ... } +# 2766| getStmt(0): [ReturnStmt] return ... +# 2766| getExpr(): [SpaceshipExpr] ... <=> ... +# 2766| Type = [Class] strong_ordering +# 2766| ValueCategory = prvalue +# 2766| getChild(0): [PointerFieldAccess] x +# 2766| Type = [IntType] int +# 2766| ValueCategory = prvalue(load) +# 2766| getQualifier(): [ThisExpr] this +# 2766| Type = [PointerType] ThreeWay * +# 2766| ValueCategory = prvalue(load) +# 2766| getChild(1): [ReferenceFieldAccess] x +# 2766| Type = [IntType] int +# 2766| ValueCategory = prvalue(load) +# 2766| getQualifier(): [VariableAccess] y +# 2766| Type = [LValueReferenceType] ThreeWay & +# 2766| ValueCategory = prvalue(load) +# 2766| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2766| Type = [Class] ThreeWay +# 2766| ValueCategory = lvalue +# 2769| [TopLevelFunction] void test_three_way(int, int, ThreeWay, ThreeWay) +# 2769| : +# 2769| getParameter(0): [Parameter] a +# 2769| Type = [IntType] int +# 2769| getParameter(1): [Parameter] b +# 2769| Type = [IntType] int +# 2769| getParameter(2): [Parameter] c +# 2769| Type = [Class] ThreeWay +# 2769| getParameter(3): [Parameter] d +# 2769| Type = [Class] ThreeWay +# 2769| getEntryPoint(): [BlockStmt] { ... } +# 2770| getStmt(0): [DeclStmt] declaration +# 2770| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2770| Type = [Class] strong_ordering +# 2770| getVariable().getInitializer(): [Initializer] initializer for x +# 2770| getExpr(): [SpaceshipExpr] ... <=> ... +# 2770| Type = [Class] strong_ordering +# 2770| ValueCategory = prvalue +# 2770| getChild(0): [VariableAccess] a +# 2770| Type = [IntType] int +# 2770| ValueCategory = prvalue(load) +# 2770| getChild(1): [VariableAccess] b +# 2770| Type = [IntType] int +# 2770| ValueCategory = prvalue(load) +# 2771| getStmt(1): [DeclStmt] declaration +# 2771| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2771| Type = [Class] strong_ordering +# 2771| getVariable().getInitializer(): [Initializer] initializer for y +# 2771| getExpr(): [FunctionCall] call to operator<=> +# 2771| Type = [Class] strong_ordering +# 2771| ValueCategory = prvalue +# 2771| getQualifier(): [VariableAccess] c +# 2771| Type = [Class] ThreeWay +# 2771| ValueCategory = lvalue +# 2771| getArgument(0): [VariableAccess] d +# 2771| Type = [Class] ThreeWay +# 2771| ValueCategory = lvalue +# 2771| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2771| Type = [LValueReferenceType] ThreeWay & +# 2771| ValueCategory = prvalue +# 2772| getStmt(2): [ReturnStmt] return ... ir23.cpp: # 1| [TopLevelFunction] bool consteval_1() # 1| : @@ -50000,3 +50275,42 @@ try_except.cpp: # 52| Type = [IntType] int # 52| ValueCategory = prvalue(load) # 54| getStmt(2): [ReturnStmt] return ... +type_info_test.cpp: +# 3| [TopLevelFunction] void type_info_test(int) +# 3| : +# 3| getParameter(0): [Parameter] x +# 3| Type = [IntType] int +# 3| getEntryPoint(): [BlockStmt] { ... } +# 4| getStmt(0): [DeclStmt] declaration +# 4| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t1 +# 4| Type = [LValueReferenceType] const type_info & +# 4| getVariable().getInitializer(): [Initializer] initializer for t1 +# 4| getExpr(): [TypeidOperator] typeid ... +# 4| Type = [SpecifiedType] const type_info +# 4| ValueCategory = lvalue +# 4| getExpr(): [VariableAccess] x +# 4| Type = [IntType] int +# 4| ValueCategory = lvalue +# 4| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 4| Type = [LValueReferenceType] const type_info & +# 4| ValueCategory = prvalue +# 5| getStmt(1): [DeclStmt] declaration +# 5| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t2 +# 5| Type = [LValueReferenceType] const type_info & +# 5| getVariable().getInitializer(): [Initializer] initializer for t2 +# 5| getExpr(): [TypeidOperator] typeid ... +# 5| Type = [SpecifiedType] const type_info +# 5| ValueCategory = lvalue +# 5| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 5| Type = [LValueReferenceType] const type_info & +# 5| ValueCategory = prvalue +# 6| getStmt(2): [ReturnStmt] return ... +typeinfo: +# 4| [CopyAssignmentOperator] std::type_info& std::type_info::operator=(std::type_info const&) +# 4| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const type_info & +# 4| [MoveAssignmentOperator] std::type_info& std::type_info::operator=(std::type_info&&) +# 4| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] type_info && diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected index 575631ab0417..6d58656b55ff 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -20156,6 +20156,236 @@ ir.cpp: # 2724| v2724_12(void) = AliasedUse : ~m2725_8 # 2724| v2724_13(void) = ExitFunction : +# 2728| void test_postfix_crement(int*, int) +# 2728| Block 0 +# 2728| v2728_1(void) = EnterFunction : +# 2728| m2728_2(unknown) = AliasedDefinition : +# 2728| m2728_3(unknown) = InitializeNonLocal : +# 2728| m2728_4(unknown) = Chi : total:m2728_2, partial:m2728_3 +# 2728| r2728_5(glval) = VariableAddress[p] : +# 2728| m2728_6(int *) = InitializeParameter[p] : &:r2728_5 +# 2728| r2728_7(int *) = Load[p] : &:r2728_5, m2728_6 +# 2728| m2728_8(unknown) = InitializeIndirection[p] : &:r2728_7 +# 2728| m2728_9(unknown) = Chi : total:m2728_4, partial:m2728_8 +# 2728| r2728_10(glval) = VariableAddress[q] : +# 2728| m2728_11(int) = InitializeParameter[q] : &:r2728_10 +# 2729| r2729_1(glval) = VariableAddress[p] : +# 2729| r2729_2(int *) = Load[p] : &:r2729_1, m2728_6 +# 2729| r2729_3(int) = Constant[1] : +# 2729| r2729_4(int *) = PointerAdd[4] : r2729_2, r2729_3 +# 2729| m2729_5(int *) = Store[p] : &:r2729_1, r2729_4 +# 2730| r2730_1(glval) = VariableAddress[q] : +# 2730| r2730_2(int) = Load[q] : &:r2730_1, m2728_11 +# 2730| r2730_3(int) = Constant[1] : +# 2730| r2730_4(int) = Add : r2730_2, r2730_3 +# 2730| m2730_5(int) = Store[q] : &:r2730_1, r2730_4 +# 2731| r2731_1(glval) = VariableAddress[p] : +# 2731| r2731_2(int *) = Load[p] : &:r2731_1, m2729_5 +# 2731| r2731_3(int) = Constant[1] : +# 2731| r2731_4(int *) = PointerAdd[4] : r2731_2, r2731_3 +# 2731| m2731_5(int *) = Store[p] : &:r2731_1, r2731_4 +# 2731| r2731_6(int *) = CopyValue : r2731_2 +# 2732| r2732_1(glval) = VariableAddress[q] : +# 2732| r2732_2(int) = Load[q] : &:r2732_1, m2730_5 +# 2732| r2732_3(int) = Constant[1] : +# 2732| r2732_4(int) = Add : r2732_2, r2732_3 +# 2732| m2732_5(int) = Store[q] : &:r2732_1, r2732_4 +# 2732| r2732_6(int) = CopyValue : r2732_2 +# 2733| r2733_1(glval) = VariableAddress[p] : +# 2733| r2733_2(int *) = Load[p] : &:r2733_1, m2731_5 +# 2733| r2733_3(int) = Constant[1] : +# 2733| r2733_4(int *) = PointerAdd[4] : r2733_2, r2733_3 +# 2733| m2733_5(int *) = Store[p] : &:r2733_1, r2733_4 +# 2733| r2733_6(int *) = CopyValue : r2733_2 +# 2733| v2733_7(void) = Convert : r2733_6 +# 2734| r2734_1(glval) = VariableAddress[q] : +# 2734| r2734_2(int) = Load[q] : &:r2734_1, m2732_5 +# 2734| r2734_3(int) = Constant[1] : +# 2734| r2734_4(int) = Add : r2734_2, r2734_3 +# 2734| m2734_5(int) = Store[q] : &:r2734_1, r2734_4 +# 2734| r2734_6(int) = CopyValue : r2734_2 +# 2734| v2734_7(void) = Convert : r2734_6 +# 2735| r2735_1(glval) = VariableAddress[p] : +# 2735| r2735_2(int *) = Load[p] : &:r2735_1, m2733_5 +# 2735| r2735_3(int) = Constant[1] : +# 2735| r2735_4(int *) = PointerAdd[4] : r2735_2, r2735_3 +# 2735| m2735_5(int *) = Store[p] : &:r2735_1, r2735_4 +# 2735| r2735_6(int *) = CopyValue : r2735_2 +# 2735| v2735_7(void) = Convert : r2735_6 +# 2736| r2736_1(glval) = VariableAddress[q] : +# 2736| r2736_2(int) = Load[q] : &:r2736_1, m2734_5 +# 2736| r2736_3(int) = Constant[1] : +# 2736| r2736_4(int) = Add : r2736_2, r2736_3 +# 2736| m2736_5(int) = Store[q] : &:r2736_1, r2736_4 +# 2736| r2736_6(int) = CopyValue : r2736_2 +# 2736| v2736_7(void) = Convert : r2736_6 +# 2737| r2737_1(glval) = VariableAddress[p1] : +# 2737| r2737_2(glval) = VariableAddress[p] : +# 2737| r2737_3(int *) = Load[p] : &:r2737_2, m2735_5 +# 2737| r2737_4(int) = Constant[1] : +# 2737| r2737_5(int *) = PointerAdd[4] : r2737_3, r2737_4 +# 2737| m2737_6(int *) = Store[p] : &:r2737_2, r2737_5 +# 2737| r2737_7(int *) = CopyValue : r2737_3 +# 2737| m2737_8(int *) = Store[p1] : &:r2737_1, r2737_7 +# 2738| r2738_1(glval) = VariableAddress[q1] : +# 2738| r2738_2(glval) = VariableAddress[q] : +# 2738| r2738_3(int) = Load[q] : &:r2738_2, m2736_5 +# 2738| r2738_4(int) = Constant[1] : +# 2738| r2738_5(int) = Add : r2738_3, r2738_4 +# 2738| m2738_6(int) = Store[q] : &:r2738_2, r2738_5 +# 2738| r2738_7(int) = CopyValue : r2738_3 +# 2738| m2738_8(int) = Store[q1] : &:r2738_1, r2738_7 +# 2739| r2739_1(glval) = VariableAddress[p] : +# 2739| r2739_2(int *) = Load[p] : &:r2739_1, m2737_6 +# 2739| r2739_3(int) = Constant[1] : +# 2739| r2739_4(int *) = PointerAdd[4] : r2739_2, r2739_3 +# 2739| m2739_5(int *) = Store[p] : &:r2739_1, r2739_4 +# 2739| r2739_6(int *) = CopyValue : r2739_2 +# 2739| r2739_7(int *) = Convert : r2739_6 +# 2740| r2740_1(glval) = VariableAddress[q] : +# 2740| r2740_2(int) = Load[q] : &:r2740_1, m2738_6 +# 2740| r2740_3(int) = Constant[1] : +# 2740| r2740_4(int) = Add : r2740_2, r2740_3 +# 2740| m2740_5(int) = Store[q] : &:r2740_1, r2740_4 +# 2740| r2740_6(int) = CopyValue : r2740_2 +# 2740| r2740_7(int) = Convert : r2740_6 +# 2741| r2741_1(glval) = VariableAddress[p2] : +# 2741| r2741_2(glval) = VariableAddress[p] : +# 2741| r2741_3(int *) = Load[p] : &:r2741_2, m2739_5 +# 2741| r2741_4(int) = Constant[1] : +# 2741| r2741_5(int *) = PointerAdd[4] : r2741_3, r2741_4 +# 2741| m2741_6(int *) = Store[p] : &:r2741_2, r2741_5 +# 2741| r2741_7(int *) = CopyValue : r2741_3 +# 2741| r2741_8(int *) = Convert : r2741_7 +# 2741| m2741_9(int *) = Store[p2] : &:r2741_1, r2741_8 +# 2742| r2742_1(glval) = VariableAddress[q2] : +# 2742| r2742_2(glval) = VariableAddress[q] : +# 2742| r2742_3(int) = Load[q] : &:r2742_2, m2740_5 +# 2742| r2742_4(int) = Constant[1] : +# 2742| r2742_5(int) = Add : r2742_3, r2742_4 +# 2742| m2742_6(int) = Store[q] : &:r2742_2, r2742_5 +# 2742| r2742_7(int) = CopyValue : r2742_3 +# 2742| r2742_8(int) = Convert : r2742_7 +# 2742| m2742_9(int) = Store[q2] : &:r2742_1, r2742_8 +# 2743| v2743_1(void) = NoOp : +# 2728| v2728_12(void) = ReturnIndirection[p] : &:r2728_7, m2728_8 +# 2728| v2728_13(void) = ReturnVoid : +# 2728| v2728_14(void) = AliasedUse : ~m2728_9 +# 2728| v2728_15(void) = ExitFunction : + +# 2747| void std::strong_ordering::strong_ordering(std::strong_ordering&&) +# 2747| Block 0 +# 2747| v2747_1(void) = EnterFunction : +# 2747| m2747_2(unknown) = AliasedDefinition : +# 2747| m2747_3(unknown) = InitializeNonLocal : +# 2747| m2747_4(unknown) = Chi : total:m2747_2, partial:m2747_3 +# 2747| r2747_5(glval) = VariableAddress[#this] : +# 2747| m2747_6(glval) = InitializeParameter[#this] : &:r2747_5 +# 2747| r2747_7(glval) = Load[#this] : &:r2747_5, m2747_6 +# 2747| m2747_8(strong_ordering) = InitializeIndirection[#this] : &:r2747_7 +#-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : +#-----| m0_2(strong_ordering &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 +#-----| r0_3(strong_ordering &&) = Load[(unnamed parameter 0)] : &:r0_1, m0_2 +#-----| m0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 +# 2747| v2747_9(void) = NoOp : +# 2747| v2747_10(void) = ReturnIndirection[#this] : &:r2747_7, m2747_8 +#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 +# 2747| v2747_11(void) = ReturnVoid : +# 2747| v2747_12(void) = AliasedUse : m2747_3 +# 2747| v2747_13(void) = ExitFunction : + +# 2748| void std::strong_ordering::strong_ordering(std::_Order) +# 2748| Block 0 +# 2748| v2748_1(void) = EnterFunction : +# 2748| m2748_2(unknown) = AliasedDefinition : +# 2748| m2748_3(unknown) = InitializeNonLocal : +# 2748| m2748_4(unknown) = Chi : total:m2748_2, partial:m2748_3 +# 2748| r2748_5(glval) = VariableAddress[#this] : +# 2748| m2748_6(glval) = InitializeParameter[#this] : &:r2748_5 +# 2748| r2748_7(glval) = Load[#this] : &:r2748_5, m2748_6 +# 2748| m2748_8(strong_ordering) = InitializeIndirection[#this] : &:r2748_7 +# 2748| r2748_9(glval<_Order>) = VariableAddress[v] : +# 2748| m2748_10(_Order) = InitializeParameter[v] : &:r2748_9 +# 2748| v2748_11(void) = NoOp : +# 2748| v2748_12(void) = ReturnIndirection[#this] : &:r2748_7, m2748_8 +# 2748| v2748_13(void) = ReturnVoid : +# 2748| v2748_14(void) = AliasedUse : m2748_3 +# 2748| v2748_15(void) = ExitFunction : + +# 2766| std::strong_ordering ThreeWay::operator<=>(ThreeWay&) +# 2766| Block 0 +# 2766| v2766_1(void) = EnterFunction : +# 2766| m2766_2(unknown) = AliasedDefinition : +# 2766| m2766_3(unknown) = InitializeNonLocal : +# 2766| m2766_4(unknown) = Chi : total:m2766_2, partial:m2766_3 +# 2766| r2766_5(glval) = VariableAddress[#this] : +# 2766| m2766_6(glval) = InitializeParameter[#this] : &:r2766_5 +# 2766| r2766_7(glval) = Load[#this] : &:r2766_5, m2766_6 +# 2766| m2766_8(ThreeWay) = InitializeIndirection[#this] : &:r2766_7 +# 2766| r2766_9(glval) = VariableAddress[y] : +# 2766| m2766_10(ThreeWay &) = InitializeParameter[y] : &:r2766_9 +# 2766| r2766_11(ThreeWay &) = Load[y] : &:r2766_9, m2766_10 +# 2766| m2766_12(unknown) = InitializeIndirection[y] : &:r2766_11 +# 2766| r2766_13(glval) = VariableAddress[#return] : +# 2766| r2766_14(glval) = VariableAddress[#this] : +# 2766| r2766_15(ThreeWay *) = Load[#this] : &:r2766_14, m2766_6 +# 2766| r2766_16(glval) = FieldAddress[x] : r2766_15 +# 2766| r2766_17(int) = Load[?] : &:r2766_16, ~m2766_8 +# 2766| r2766_18(glval) = VariableAddress[y] : +# 2766| r2766_19(ThreeWay &) = Load[y] : &:r2766_18, m2766_10 +# 2766| r2766_20(glval) = CopyValue : r2766_19 +# 2766| r2766_21(glval) = FieldAddress[x] : r2766_20 +# 2766| r2766_22(int) = Load[?] : &:r2766_21, ~m2766_12 +# 2766| r2766_23(strong_ordering) = Spaceship : r2766_17, r2766_22 +# 2766| m2766_24(strong_ordering) = Store[#return] : &:r2766_13, r2766_23 +# 2766| v2766_25(void) = ReturnIndirection[#this] : &:r2766_7, m2766_8 +# 2766| v2766_26(void) = ReturnIndirection[y] : &:r2766_11, m2766_12 +# 2766| r2766_27(glval) = VariableAddress[#return] : +# 2766| v2766_28(void) = ReturnValue : &:r2766_27, m2766_24 +# 2766| v2766_29(void) = AliasedUse : m2766_3 +# 2766| v2766_30(void) = ExitFunction : + +# 2769| void test_three_way(int, int, ThreeWay, ThreeWay) +# 2769| Block 0 +# 2769| v2769_1(void) = EnterFunction : +# 2769| m2769_2(unknown) = AliasedDefinition : +# 2769| m2769_3(unknown) = InitializeNonLocal : +# 2769| m2769_4(unknown) = Chi : total:m2769_2, partial:m2769_3 +# 2769| r2769_5(glval) = VariableAddress[a] : +# 2769| m2769_6(int) = InitializeParameter[a] : &:r2769_5 +# 2769| r2769_7(glval) = VariableAddress[b] : +# 2769| m2769_8(int) = InitializeParameter[b] : &:r2769_7 +# 2769| r2769_9(glval) = VariableAddress[c] : +# 2769| m2769_10(ThreeWay) = InitializeParameter[c] : &:r2769_9 +# 2769| r2769_11(glval) = VariableAddress[d] : +# 2769| m2769_12(ThreeWay) = InitializeParameter[d] : &:r2769_11 +# 2770| r2770_1(glval) = VariableAddress[x] : +# 2770| r2770_2(glval) = VariableAddress[a] : +# 2770| r2770_3(int) = Load[a] : &:r2770_2, m2769_6 +# 2770| r2770_4(glval) = VariableAddress[b] : +# 2770| r2770_5(int) = Load[b] : &:r2770_4, m2769_8 +# 2770| r2770_6(strong_ordering) = Spaceship : r2770_3, r2770_5 +# 2770| m2770_7(strong_ordering) = Store[x] : &:r2770_1, r2770_6 +# 2771| r2771_1(glval) = VariableAddress[y] : +# 2771| r2771_2(glval) = VariableAddress[c] : +# 2771| r2771_3(glval) = FunctionAddress[operator<=>] : +# 2771| r2771_4(glval) = VariableAddress[d] : +# 2771| r2771_5(ThreeWay &) = CopyValue : r2771_4 +# 2771| r2771_6(strong_ordering) = Call[operator<=>] : func:r2771_3, this:r2771_2, 0:r2771_5 +# 2771| m2771_7(unknown) = ^CallSideEffect : ~m2769_4 +# 2771| m2771_8(unknown) = Chi : total:m2769_4, partial:m2771_7 +# 2771| v2771_9(void) = ^IndirectReadSideEffect[-1] : &:r2771_2, m2769_10 +# 2771| v2771_10(void) = ^BufferReadSideEffect[0] : &:r2771_5, ~m2769_12 +# 2771| m2771_11(ThreeWay) = ^IndirectMayWriteSideEffect[-1] : &:r2771_2 +# 2771| m2771_12(ThreeWay) = Chi : total:m2769_10, partial:m2771_11 +# 2771| m2771_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r2771_5 +# 2771| m2771_14(ThreeWay) = Chi : total:m2769_12, partial:m2771_13 +# 2771| m2771_15(strong_ordering) = Store[y] : &:r2771_1, r2771_6 +# 2772| v2772_1(void) = NoOp : +# 2769| v2769_13(void) = ReturnVoid : +# 2769| v2769_14(void) = AliasedUse : ~m2771_8 +# 2769| v2769_15(void) = ExitFunction : + ir23.cpp: # 1| bool consteval_1() # 1| Block 0 @@ -39856,3 +40086,27 @@ try_except.cpp: # 44| Block 7 # 44| v44_10(void) = Unreached : + +type_info_test.cpp: +# 3| void type_info_test(int) +# 3| Block 0 +# 3| v3_1(void) = EnterFunction : +# 3| m3_2(unknown) = AliasedDefinition : +# 3| m3_3(unknown) = InitializeNonLocal : +# 3| m3_4(unknown) = Chi : total:m3_2, partial:m3_3 +# 3| r3_5(glval) = VariableAddress[x] : +# 3| m3_6(int) = InitializeParameter[x] : &:r3_5 +# 3| m3_7(unknown) = Chi : total:m3_4, partial:m3_6 +# 4| r4_1(glval) = VariableAddress[t1] : +# 4| r4_2(glval) = VariableAddress[x] : +# 4| r4_3(glval) = TypeidExpr : r4_2 +# 4| r4_4(type_info &) = CopyValue : r4_3 +# 4| m4_5(type_info &) = Store[t1] : &:r4_1, r4_4 +# 5| r5_1(glval) = VariableAddress[t2] : +# 5| r5_2(glval) = TypeidType : +# 5| r5_3(type_info &) = CopyValue : r5_2 +# 5| m5_4(type_info &) = Store[t2] : &:r5_1, r5_3 +# 6| v6_1(void) = NoOp : +# 3| v3_8(void) = ReturnVoid : +# 3| v3_9(void) = AliasedUse : m3_3 +# 3| v3_10(void) = ExitFunction : diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index 67db690dc54b..74c41c7e916b 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -2725,4 +2725,50 @@ char UseBracketOperator(const WithBracketOperator x, int i) { return x[i]; } +void test_postfix_crement(int *p, int q) { + p++; + q++; + (p++); + (q++); + (void)(p++); + (void)(q++); + (void)p++; + (void)q++; + int *p1 = p++; + int q1 = q++; + (int*)(p++); + (int)(q++); + int *p2 = (int*)(p++); + int q2 = (int)(q++); +} + +namespace std { + enum class _Order : signed char { __less = -1, __equiv = 0, __greater = 1 }; + class strong_ordering { + explicit constexpr strong_ordering(_Order v) {} + + public: + static const strong_ordering less; + static const strong_ordering equal; + static const strong_ordering equivalent; + static const strong_ordering greater; + }; + + inline constexpr strong_ordering strong_ordering::less(_Order::__less); + inline constexpr strong_ordering strong_ordering::equal(_Order::__equiv); + inline constexpr strong_ordering strong_ordering::equivalent(_Order::__equiv); + inline constexpr strong_ordering strong_ordering::greater(_Order::__greater); +} + +class ThreeWay { + int x; +public: + std::strong_ordering operator<=>(ThreeWay &y) { return this->x <=> y.x; } +}; + +void test_three_way(int a, int b, ThreeWay c, ThreeWay d) { + auto x = a <=> b; + auto y = c <=> d; +} + // semmle-extractor-options: -std=c++20 --clang diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index e57a3bc11b5e..8cdb5e8c351f 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -18317,6 +18317,227 @@ ir.cpp: # 2724| v2724_10(void) = AliasedUse : ~m? # 2724| v2724_11(void) = ExitFunction : +# 2728| void test_postfix_crement(int*, int) +# 2728| Block 0 +# 2728| v2728_1(void) = EnterFunction : +# 2728| mu2728_2(unknown) = AliasedDefinition : +# 2728| mu2728_3(unknown) = InitializeNonLocal : +# 2728| r2728_4(glval) = VariableAddress[p] : +# 2728| mu2728_5(int *) = InitializeParameter[p] : &:r2728_4 +# 2728| r2728_6(int *) = Load[p] : &:r2728_4, ~m? +# 2728| mu2728_7(unknown) = InitializeIndirection[p] : &:r2728_6 +# 2728| r2728_8(glval) = VariableAddress[q] : +# 2728| mu2728_9(int) = InitializeParameter[q] : &:r2728_8 +# 2729| r2729_1(glval) = VariableAddress[p] : +# 2729| r2729_2(int *) = Load[p] : &:r2729_1, ~m? +# 2729| r2729_3(int) = Constant[1] : +# 2729| r2729_4(int *) = PointerAdd[4] : r2729_2, r2729_3 +# 2729| mu2729_5(int *) = Store[p] : &:r2729_1, r2729_4 +# 2730| r2730_1(glval) = VariableAddress[q] : +# 2730| r2730_2(int) = Load[q] : &:r2730_1, ~m? +# 2730| r2730_3(int) = Constant[1] : +# 2730| r2730_4(int) = Add : r2730_2, r2730_3 +# 2730| mu2730_5(int) = Store[q] : &:r2730_1, r2730_4 +# 2731| r2731_1(glval) = VariableAddress[p] : +# 2731| r2731_2(int *) = Load[p] : &:r2731_1, ~m? +# 2731| r2731_3(int) = Constant[1] : +# 2731| r2731_4(int *) = PointerAdd[4] : r2731_2, r2731_3 +# 2731| mu2731_5(int *) = Store[p] : &:r2731_1, r2731_4 +# 2731| r2731_6(int *) = CopyValue : r2731_2 +# 2732| r2732_1(glval) = VariableAddress[q] : +# 2732| r2732_2(int) = Load[q] : &:r2732_1, ~m? +# 2732| r2732_3(int) = Constant[1] : +# 2732| r2732_4(int) = Add : r2732_2, r2732_3 +# 2732| mu2732_5(int) = Store[q] : &:r2732_1, r2732_4 +# 2732| r2732_6(int) = CopyValue : r2732_2 +# 2733| r2733_1(glval) = VariableAddress[p] : +# 2733| r2733_2(int *) = Load[p] : &:r2733_1, ~m? +# 2733| r2733_3(int) = Constant[1] : +# 2733| r2733_4(int *) = PointerAdd[4] : r2733_2, r2733_3 +# 2733| mu2733_5(int *) = Store[p] : &:r2733_1, r2733_4 +# 2733| r2733_6(int *) = CopyValue : r2733_2 +# 2733| v2733_7(void) = Convert : r2733_6 +# 2734| r2734_1(glval) = VariableAddress[q] : +# 2734| r2734_2(int) = Load[q] : &:r2734_1, ~m? +# 2734| r2734_3(int) = Constant[1] : +# 2734| r2734_4(int) = Add : r2734_2, r2734_3 +# 2734| mu2734_5(int) = Store[q] : &:r2734_1, r2734_4 +# 2734| r2734_6(int) = CopyValue : r2734_2 +# 2734| v2734_7(void) = Convert : r2734_6 +# 2735| r2735_1(glval) = VariableAddress[p] : +# 2735| r2735_2(int *) = Load[p] : &:r2735_1, ~m? +# 2735| r2735_3(int) = Constant[1] : +# 2735| r2735_4(int *) = PointerAdd[4] : r2735_2, r2735_3 +# 2735| mu2735_5(int *) = Store[p] : &:r2735_1, r2735_4 +# 2735| r2735_6(int *) = CopyValue : r2735_2 +# 2735| v2735_7(void) = Convert : r2735_6 +# 2736| r2736_1(glval) = VariableAddress[q] : +# 2736| r2736_2(int) = Load[q] : &:r2736_1, ~m? +# 2736| r2736_3(int) = Constant[1] : +# 2736| r2736_4(int) = Add : r2736_2, r2736_3 +# 2736| mu2736_5(int) = Store[q] : &:r2736_1, r2736_4 +# 2736| r2736_6(int) = CopyValue : r2736_2 +# 2736| v2736_7(void) = Convert : r2736_6 +# 2737| r2737_1(glval) = VariableAddress[p1] : +# 2737| r2737_2(glval) = VariableAddress[p] : +# 2737| r2737_3(int *) = Load[p] : &:r2737_2, ~m? +# 2737| r2737_4(int) = Constant[1] : +# 2737| r2737_5(int *) = PointerAdd[4] : r2737_3, r2737_4 +# 2737| mu2737_6(int *) = Store[p] : &:r2737_2, r2737_5 +# 2737| r2737_7(int *) = CopyValue : r2737_3 +# 2737| mu2737_8(int *) = Store[p1] : &:r2737_1, r2737_7 +# 2738| r2738_1(glval) = VariableAddress[q1] : +# 2738| r2738_2(glval) = VariableAddress[q] : +# 2738| r2738_3(int) = Load[q] : &:r2738_2, ~m? +# 2738| r2738_4(int) = Constant[1] : +# 2738| r2738_5(int) = Add : r2738_3, r2738_4 +# 2738| mu2738_6(int) = Store[q] : &:r2738_2, r2738_5 +# 2738| r2738_7(int) = CopyValue : r2738_3 +# 2738| mu2738_8(int) = Store[q1] : &:r2738_1, r2738_7 +# 2739| r2739_1(glval) = VariableAddress[p] : +# 2739| r2739_2(int *) = Load[p] : &:r2739_1, ~m? +# 2739| r2739_3(int) = Constant[1] : +# 2739| r2739_4(int *) = PointerAdd[4] : r2739_2, r2739_3 +# 2739| mu2739_5(int *) = Store[p] : &:r2739_1, r2739_4 +# 2739| r2739_6(int *) = CopyValue : r2739_2 +# 2739| r2739_7(int *) = Convert : r2739_6 +# 2740| r2740_1(glval) = VariableAddress[q] : +# 2740| r2740_2(int) = Load[q] : &:r2740_1, ~m? +# 2740| r2740_3(int) = Constant[1] : +# 2740| r2740_4(int) = Add : r2740_2, r2740_3 +# 2740| mu2740_5(int) = Store[q] : &:r2740_1, r2740_4 +# 2740| r2740_6(int) = CopyValue : r2740_2 +# 2740| r2740_7(int) = Convert : r2740_6 +# 2741| r2741_1(glval) = VariableAddress[p2] : +# 2741| r2741_2(glval) = VariableAddress[p] : +# 2741| r2741_3(int *) = Load[p] : &:r2741_2, ~m? +# 2741| r2741_4(int) = Constant[1] : +# 2741| r2741_5(int *) = PointerAdd[4] : r2741_3, r2741_4 +# 2741| mu2741_6(int *) = Store[p] : &:r2741_2, r2741_5 +# 2741| r2741_7(int *) = CopyValue : r2741_3 +# 2741| r2741_8(int *) = Convert : r2741_7 +# 2741| mu2741_9(int *) = Store[p2] : &:r2741_1, r2741_8 +# 2742| r2742_1(glval) = VariableAddress[q2] : +# 2742| r2742_2(glval) = VariableAddress[q] : +# 2742| r2742_3(int) = Load[q] : &:r2742_2, ~m? +# 2742| r2742_4(int) = Constant[1] : +# 2742| r2742_5(int) = Add : r2742_3, r2742_4 +# 2742| mu2742_6(int) = Store[q] : &:r2742_2, r2742_5 +# 2742| r2742_7(int) = CopyValue : r2742_3 +# 2742| r2742_8(int) = Convert : r2742_7 +# 2742| mu2742_9(int) = Store[q2] : &:r2742_1, r2742_8 +# 2743| v2743_1(void) = NoOp : +# 2728| v2728_10(void) = ReturnIndirection[p] : &:r2728_6, ~m? +# 2728| v2728_11(void) = ReturnVoid : +# 2728| v2728_12(void) = AliasedUse : ~m? +# 2728| v2728_13(void) = ExitFunction : + +# 2747| void std::strong_ordering::strong_ordering(std::strong_ordering&&) +# 2747| Block 0 +# 2747| v2747_1(void) = EnterFunction : +# 2747| mu2747_2(unknown) = AliasedDefinition : +# 2747| mu2747_3(unknown) = InitializeNonLocal : +# 2747| r2747_4(glval) = VariableAddress[#this] : +# 2747| mu2747_5(glval) = InitializeParameter[#this] : &:r2747_4 +# 2747| r2747_6(glval) = Load[#this] : &:r2747_4, ~m? +# 2747| mu2747_7(strong_ordering) = InitializeIndirection[#this] : &:r2747_6 +#-----| r0_1(glval) = VariableAddress[(unnamed parameter 0)] : +#-----| mu0_2(strong_ordering &&) = InitializeParameter[(unnamed parameter 0)] : &:r0_1 +#-----| r0_3(strong_ordering &&) = Load[(unnamed parameter 0)] : &:r0_1, ~m? +#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3 +# 2747| v2747_8(void) = NoOp : +# 2747| v2747_9(void) = ReturnIndirection[#this] : &:r2747_6, ~m? +#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? +# 2747| v2747_10(void) = ReturnVoid : +# 2747| v2747_11(void) = AliasedUse : ~m? +# 2747| v2747_12(void) = ExitFunction : + +# 2748| void std::strong_ordering::strong_ordering(std::_Order) +# 2748| Block 0 +# 2748| v2748_1(void) = EnterFunction : +# 2748| mu2748_2(unknown) = AliasedDefinition : +# 2748| mu2748_3(unknown) = InitializeNonLocal : +# 2748| r2748_4(glval) = VariableAddress[#this] : +# 2748| mu2748_5(glval) = InitializeParameter[#this] : &:r2748_4 +# 2748| r2748_6(glval) = Load[#this] : &:r2748_4, ~m? +# 2748| mu2748_7(strong_ordering) = InitializeIndirection[#this] : &:r2748_6 +# 2748| r2748_8(glval<_Order>) = VariableAddress[v] : +# 2748| mu2748_9(_Order) = InitializeParameter[v] : &:r2748_8 +# 2748| v2748_10(void) = NoOp : +# 2748| v2748_11(void) = ReturnIndirection[#this] : &:r2748_6, ~m? +# 2748| v2748_12(void) = ReturnVoid : +# 2748| v2748_13(void) = AliasedUse : ~m? +# 2748| v2748_14(void) = ExitFunction : + +# 2766| std::strong_ordering ThreeWay::operator<=>(ThreeWay&) +# 2766| Block 0 +# 2766| v2766_1(void) = EnterFunction : +# 2766| mu2766_2(unknown) = AliasedDefinition : +# 2766| mu2766_3(unknown) = InitializeNonLocal : +# 2766| r2766_4(glval) = VariableAddress[#this] : +# 2766| mu2766_5(glval) = InitializeParameter[#this] : &:r2766_4 +# 2766| r2766_6(glval) = Load[#this] : &:r2766_4, ~m? +# 2766| mu2766_7(ThreeWay) = InitializeIndirection[#this] : &:r2766_6 +# 2766| r2766_8(glval) = VariableAddress[y] : +# 2766| mu2766_9(ThreeWay &) = InitializeParameter[y] : &:r2766_8 +# 2766| r2766_10(ThreeWay &) = Load[y] : &:r2766_8, ~m? +# 2766| mu2766_11(unknown) = InitializeIndirection[y] : &:r2766_10 +# 2766| r2766_12(glval) = VariableAddress[#return] : +# 2766| r2766_13(glval) = VariableAddress[#this] : +# 2766| r2766_14(ThreeWay *) = Load[#this] : &:r2766_13, ~m? +# 2766| r2766_15(glval) = FieldAddress[x] : r2766_14 +# 2766| r2766_16(int) = Load[?] : &:r2766_15, ~m? +# 2766| r2766_17(glval) = VariableAddress[y] : +# 2766| r2766_18(ThreeWay &) = Load[y] : &:r2766_17, ~m? +# 2766| r2766_19(glval) = CopyValue : r2766_18 +# 2766| r2766_20(glval) = FieldAddress[x] : r2766_19 +# 2766| r2766_21(int) = Load[?] : &:r2766_20, ~m? +# 2766| r2766_22(strong_ordering) = Spaceship : r2766_16, r2766_21 +# 2766| mu2766_23(strong_ordering) = Store[#return] : &:r2766_12, r2766_22 +# 2766| v2766_24(void) = ReturnIndirection[#this] : &:r2766_6, ~m? +# 2766| v2766_25(void) = ReturnIndirection[y] : &:r2766_10, ~m? +# 2766| r2766_26(glval) = VariableAddress[#return] : +# 2766| v2766_27(void) = ReturnValue : &:r2766_26, ~m? +# 2766| v2766_28(void) = AliasedUse : ~m? +# 2766| v2766_29(void) = ExitFunction : + +# 2769| void test_three_way(int, int, ThreeWay, ThreeWay) +# 2769| Block 0 +# 2769| v2769_1(void) = EnterFunction : +# 2769| mu2769_2(unknown) = AliasedDefinition : +# 2769| mu2769_3(unknown) = InitializeNonLocal : +# 2769| r2769_4(glval) = VariableAddress[a] : +# 2769| mu2769_5(int) = InitializeParameter[a] : &:r2769_4 +# 2769| r2769_6(glval) = VariableAddress[b] : +# 2769| mu2769_7(int) = InitializeParameter[b] : &:r2769_6 +# 2769| r2769_8(glval) = VariableAddress[c] : +# 2769| mu2769_9(ThreeWay) = InitializeParameter[c] : &:r2769_8 +# 2769| r2769_10(glval) = VariableAddress[d] : +# 2769| mu2769_11(ThreeWay) = InitializeParameter[d] : &:r2769_10 +# 2770| r2770_1(glval) = VariableAddress[x] : +# 2770| r2770_2(glval) = VariableAddress[a] : +# 2770| r2770_3(int) = Load[a] : &:r2770_2, ~m? +# 2770| r2770_4(glval) = VariableAddress[b] : +# 2770| r2770_5(int) = Load[b] : &:r2770_4, ~m? +# 2770| r2770_6(strong_ordering) = Spaceship : r2770_3, r2770_5 +# 2770| mu2770_7(strong_ordering) = Store[x] : &:r2770_1, r2770_6 +# 2771| r2771_1(glval) = VariableAddress[y] : +# 2771| r2771_2(glval) = VariableAddress[c] : +# 2771| r2771_3(glval) = FunctionAddress[operator<=>] : +# 2771| r2771_4(glval) = VariableAddress[d] : +# 2771| r2771_5(ThreeWay &) = CopyValue : r2771_4 +# 2771| r2771_6(strong_ordering) = Call[operator<=>] : func:r2771_3, this:r2771_2, 0:r2771_5 +# 2771| mu2771_7(unknown) = ^CallSideEffect : ~m? +# 2771| v2771_8(void) = ^IndirectReadSideEffect[-1] : &:r2771_2, ~m? +# 2771| v2771_9(void) = ^BufferReadSideEffect[0] : &:r2771_5, ~m? +# 2771| mu2771_10(ThreeWay) = ^IndirectMayWriteSideEffect[-1] : &:r2771_2 +# 2771| mu2771_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r2771_5 +# 2771| mu2771_12(strong_ordering) = Store[y] : &:r2771_1, r2771_6 +# 2772| v2772_1(void) = NoOp : +# 2769| v2769_12(void) = ReturnVoid : +# 2769| v2769_13(void) = AliasedUse : ~m? +# 2769| v2769_14(void) = ExitFunction : + ir23.cpp: # 1| bool consteval_1() # 1| Block 0 @@ -37987,3 +38208,25 @@ try_except.cpp: # 54| v54_1(void) = NoOp : # 44| v44_9(void) = ReturnVoid : #-----| Goto -> Block 1 + +type_info_test.cpp: +# 3| void type_info_test(int) +# 3| Block 0 +# 3| v3_1(void) = EnterFunction : +# 3| mu3_2(unknown) = AliasedDefinition : +# 3| mu3_3(unknown) = InitializeNonLocal : +# 3| r3_4(glval) = VariableAddress[x] : +# 3| mu3_5(int) = InitializeParameter[x] : &:r3_4 +# 4| r4_1(glval) = VariableAddress[t1] : +# 4| r4_2(glval) = VariableAddress[x] : +# 4| r4_3(glval) = TypeidExpr : r4_2 +# 4| r4_4(type_info &) = CopyValue : r4_3 +# 4| mu4_5(type_info &) = Store[t1] : &:r4_1, r4_4 +# 5| r5_1(glval) = VariableAddress[t2] : +# 5| r5_2(glval) = TypeidType : +# 5| r5_3(type_info &) = CopyValue : r5_2 +# 5| mu5_4(type_info &) = Store[t2] : &:r5_1, r5_3 +# 6| v6_1(void) = NoOp : +# 3| v3_6(void) = ReturnVoid : +# 3| v3_7(void) = AliasedUse : ~m? +# 3| v3_8(void) = ExitFunction : diff --git a/cpp/ql/test/library-tests/ir/ir/type_info_test.cpp b/cpp/ql/test/library-tests/ir/ir/type_info_test.cpp new file mode 100644 index 000000000000..b35870aa4091 --- /dev/null +++ b/cpp/ql/test/library-tests/ir/ir/type_info_test.cpp @@ -0,0 +1,8 @@ +#include + +void type_info_test(int x) { + const std::type_info &t1 = typeid(x); + const std::type_info &t2 = typeid(int); +} + +// semmle-extractor-options: -I. diff --git a/cpp/ql/test/library-tests/ir/ir/typeinfo b/cpp/ql/test/library-tests/ir/ir/typeinfo new file mode 100644 index 000000000000..5b14e219f47e --- /dev/null +++ b/cpp/ql/test/library-tests/ir/ir/typeinfo @@ -0,0 +1,5 @@ +#pragma once + +namespace std{ + class type_info {}; +} diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/Adding365daysPerYear.expected b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/Adding365daysPerYear.expected index d9d9c4d3d338..094d84495ce4 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/Adding365daysPerYear.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/Adding365daysPerYear.expected @@ -1,5 +1,7 @@ -| test.cpp:173:29:173:51 | ... & ... | An arithmetic operation $@ that uses a constant value of 365 ends up modifying this date/time, without considering leap year scenarios. | test.cpp:170:2:170:47 | ... += ... | ... += ... | -| test.cpp:174:30:174:45 | ... >> ... | An arithmetic operation $@ that uses a constant value of 365 ends up modifying this date/time, without considering leap year scenarios. | test.cpp:170:2:170:47 | ... += ... | ... += ... | -| test.cpp:193:15:193:24 | ... / ... | An arithmetic operation $@ that uses a constant value of 365 ends up modifying this date/time, without considering leap year scenarios. | test.cpp:193:15:193:24 | ... / ... | ... / ... | -| test.cpp:217:29:217:51 | ... & ... | An arithmetic operation $@ that uses a constant value of 365 ends up modifying this date/time, without considering leap year scenarios. | test.cpp:214:2:214:47 | ... += ... | ... += ... | -| test.cpp:218:30:218:45 | ... >> ... | An arithmetic operation $@ that uses a constant value of 365 ends up modifying this date/time, without considering leap year scenarios. | test.cpp:214:2:214:47 | ... += ... | ... += ... | +| test.cpp:175:29:175:51 | ... & ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:159:6:159:17 | antipattern2 | antipattern2 | test.cpp:172:2:172:47 | ... += ... | ... += ... | test.cpp:175:29:175:51 | ... & ... | ... & ... | +| test.cpp:176:30:176:45 | ... >> ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:159:6:159:17 | antipattern2 | antipattern2 | test.cpp:172:2:172:47 | ... += ... | ... += ... | test.cpp:176:30:176:45 | ... >> ... | ... >> ... | +| test.cpp:195:15:195:24 | ... / ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:185:8:185:13 | mkTime | mkTime | test.cpp:195:15:195:24 | ... / ... | ... / ... | test.cpp:195:15:195:24 | ... / ... | ... / ... | +| test.cpp:219:29:219:51 | ... & ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:203:6:203:19 | checkedExample | checkedExample | test.cpp:216:2:216:47 | ... += ... | ... += ... | test.cpp:219:29:219:51 | ... & ... | ... & ... | +| test.cpp:220:30:220:45 | ... >> ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:203:6:203:19 | checkedExample | checkedExample | test.cpp:216:2:216:47 | ... += ... | ... += ... | test.cpp:220:30:220:45 | ... >> ... | ... >> ... | +| test.cpp:247:29:247:51 | ... & ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:230:6:230:18 | antipattern2A | antipattern2A | test.cpp:240:20:240:23 | 365 | 365 | test.cpp:247:29:247:51 | ... & ... | ... & ... | +| test.cpp:248:30:248:45 | ... >> ... | $@: This arithmetic operation $@ uses a constant value of 365 ends up modifying the date/time located at $@, without considering leap year scenarios. | test.cpp:230:6:230:18 | antipattern2A | antipattern2A | test.cpp:240:20:240:23 | 365 | 365 | test.cpp:248:30:248:45 | ... >> ... | ... >> ... | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/test.cpp b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/test.cpp index a14667c75ca5..ccc9bf8446e0 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/test.cpp +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/Adding365DaysPerYear/test.cpp @@ -153,7 +153,9 @@ GetFileTime( LPFILETIME lpLastWriteTime ); - +/** + * AntiPattern2 - datetime.AddDays(±365) +*/ void antipattern2() { // get the current time as a FILETIME @@ -223,3 +225,28 @@ void checkedExample() // handle error... } } + + +void antipattern2A() +{ + // get the current time as a FILETIME + SYSTEMTIME st; FILETIME ft; + GetSystemTime(&st); + SystemTimeToFileTime(&st, &ft); + + // convert to a quadword (64-bit integer) to do arithmetic + ULONGLONG qwLongTime; + qwLongTime = (((ULONGLONG)ft.dwHighDateTime) << 32) + ft.dwLowDateTime; + int days_in_year = 365; + + // add a year by calculating the ticks in 365 days + // (which may be incorrect when crossing a leap day) + qwLongTime += days_in_year * 24 * 60 * 60 * 10000000LLU; + + // copy back to a FILETIME + ft.dwLowDateTime = (DWORD)(qwLongTime & 0xFFFFFFFF); // BAD + ft.dwHighDateTime = (DWORD)(qwLongTime >> 32); // BAD + + // convert back to SYSTEMTIME for display or other usage + FileTimeToSystemTime(&ft, &st); +} diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/AntiPattern5InvalidLeapYearCheck.expected b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/AntiPattern5InvalidLeapYearCheck.expected new file mode 100644 index 000000000000..8e375a5ea5ce --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/AntiPattern5InvalidLeapYearCheck.expected @@ -0,0 +1,3 @@ +| test.cpp:183:23:183:35 | ... == ... | Possible Insufficient Leap Year check (AntiPattern 5) | +| test.cpp:190:24:190:40 | ... == ... | Possible Insufficient Leap Year check (AntiPattern 5) | +| test.cpp:245:6:245:18 | ... == ... | Possible Insufficient Leap Year check (AntiPattern 5) | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/AntiPattern5InvalidLeapYearCheck.qlref b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/AntiPattern5InvalidLeapYearCheck.qlref new file mode 100644 index 000000000000..70e3f8ba1029 --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/AntiPattern5InvalidLeapYearCheck.qlref @@ -0,0 +1 @@ +Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck.ql diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/test.cpp b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/test.cpp new file mode 100644 index 000000000000..c0cd102321c1 --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/AntiPattern5InvalidLeapYearCheck/test.cpp @@ -0,0 +1,255 @@ +typedef unsigned short WORD; +typedef unsigned long DWORD, HANDLE; +typedef int BOOL, BOOLEAN, errno_t; +typedef char CHAR; +typedef short SHORT; +typedef long LONG; +typedef unsigned short WCHAR; // wc, 16-bit UNICODE character +typedef long __time64_t, time_t; +#define NULL 0 + +typedef long long LONGLONG; +typedef unsigned long long ULONGLONG; + + +typedef struct _SYSTEMTIME { + WORD wYear; + WORD wMonth; + WORD wDayOfWeek; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wMilliseconds; +} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; + +typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} FILETIME, *PFILETIME, *LPFILETIME; + +typedef struct _TIME_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; + +typedef struct _TIME_DYNAMIC_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; + WCHAR TimeZoneKeyName[128]; + BOOLEAN DynamicDaylightTimeDisabled; +} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION; + +struct tm +{ + int tm_sec; // seconds after the minute - [0, 60] including leap second + int tm_min; // minutes after the hour - [0, 59] + int tm_hour; // hours since midnight - [0, 23] + int tm_mday; // day of the month - [1, 31] + int tm_mon; // months since January - [0, 11] + int tm_year; // years since 1900 + int tm_wday; // days since Sunday - [0, 6] + int tm_yday; // days since January 1 - [0, 365] + int tm_isdst; // daylight savings time flag +}; + +BOOL +SystemTimeToFileTime( + const SYSTEMTIME* lpSystemTime, + LPFILETIME lpFileTime +); + +BOOL +FileTimeToSystemTime( + const FILETIME* lpFileTime, + LPSYSTEMTIME lpSystemTime +); + +BOOL +SystemTimeToTzSpecificLocalTime( + const TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpUniversalTime, + LPSYSTEMTIME lpLocalTime +); + +BOOL +SystemTimeToTzSpecificLocalTimeEx( + const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpUniversalTime, + LPSYSTEMTIME lpLocalTime +); + +BOOL +TzSpecificLocalTimeToSystemTime( + const TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpLocalTime, + LPSYSTEMTIME lpUniversalTime +); + +BOOL +TzSpecificLocalTimeToSystemTimeEx( + const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpLocalTime, + LPSYSTEMTIME lpUniversalTime +); + +void GetSystemTime( + LPSYSTEMTIME lpSystemTime +); + +void GetSystemTimeAsFileTime( + LPFILETIME lpSystemTimeAsFileTime +); + +__time64_t _mkgmtime64( + struct tm* _Tm +); + +__time64_t _mkgmtime( + struct tm* const _Tm +) +{ + return _mkgmtime64(_Tm); +} + +__time64_t mktime( + struct tm* const _Tm +) +{ + return _mkgmtime64(_Tm); +} + +__time64_t _time64( + __time64_t* _Time +); + +__time64_t time( + time_t* const _Time +) +{ + return _time64(_Time); +} + +int gmtime_s( + struct tm* _Tm, + __time64_t const* _Time +); + +BOOL +GetFileTime( + HANDLE hFile, + LPFILETIME lpCreationTime, + LPFILETIME lpLastAccessTime, + LPFILETIME lpLastWriteTime +); + +time_t mktime(struct tm *timeptr); +struct tm *gmtime(const time_t *timer); + +time_t mkTime(int days) +{ + struct tm tm; + time_t t; + + tm.tm_sec = 0; + tm.tm_min = 0; + tm.tm_hour = 0; + tm.tm_mday = 0; + tm.tm_mon = 0; + tm.tm_year = days / 365; // BAD + // ... + + t = mktime(&tm); // convert tm -> time_t + + return t; +} + +/** + * Positive AntiPattern 5 - year % 4 == 0 +*/ +void antipattern5() +{ + int year = 1; + bool isLeapYear = year % 4 == 0; + + // get the current time as a FILETIME + SYSTEMTIME st; FILETIME ft; + GetSystemTime(&st); + SystemTimeToFileTime(&st, &ft); + + bool isLeapYear2 = st.wYear % 4 == 0; +} + +/** + * Negative AntiPattern 5 - year % 4 == 0 +*/ +void antipattern5_negative() +{ + SYSTEMTIME st; FILETIME ft; + GetSystemTime(&st); + SystemTimeToFileTime(&st, &ft); + bool isLeapYear = st.wYear % 4 == 0 && (st.wYear % 100 != 0 || st.wYear % 400 == 0); + + int year = 1; + bool isLeapYear2 = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); +} + +/** +* Negative - Valid Leap year check (logically equivalent) (#1035) +*/ +bool ap5_negative_inverted_form(int year){ + return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0); +} + +/** +* Negative - Valid Leap Year check (#1035) +* Century subexpression component is inverted `!(year % 100 == 0)` +*/ +bool ap5_negative_inverted_century_100(int year){ + return !((year % 4 == 0) && (!(year % 100 == 0) || (year % 400 == 0))); +} + +class SomeResultClass{ + public: + int GetYear() { + return 2000; + } +}; + +/** + * Negative - Valid Leap Year Check (#1038) + * Valid leap year check, but the expression is the result of a Call and thus breaks SSA. +*/ +bool ap5_fp_expr_call(SomeResultClass result){ + if (result.GetYear() % 4 == 0 && (result.GetYear() % 100 != 0 || result.GetYear() % 400 == 0)){ + return true; + } + return false; +} + +/** +* Positive - Invalid Leap Year check +* Components are split up and distributed across multiple if statements. +*/ +bool tp_leap_year_multiple_if_statements(int year){ + if (year % 4 == 0) { + if (year % 100 == 0) { + if (year % 400 == 0) { + return true; + } + }else{ + return true; + } + } + return false; +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.cpp b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.cpp new file mode 100644 index 000000000000..3f9b61c68505 --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.cpp @@ -0,0 +1,198 @@ + +typedef unsigned short WORD; +typedef unsigned long DWORD, HANDLE; +typedef int BOOL, BOOLEAN, errno_t; +typedef char CHAR; +typedef short SHORT; +typedef long LONG; +typedef unsigned short WCHAR; // wc, 16-bit UNICODE character +typedef long __time64_t, time_t; +#define NULL 0 + +typedef long long LONGLONG; +typedef unsigned long long ULONGLONG; + + +typedef struct _SYSTEMTIME { + WORD wYear; + WORD wMonth; + WORD wDayOfWeek; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wMilliseconds; +} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; + +typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} FILETIME, *PFILETIME, *LPFILETIME; + +typedef struct _TIME_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; + +typedef struct _TIME_DYNAMIC_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; + WCHAR TimeZoneKeyName[128]; + BOOLEAN DynamicDaylightTimeDisabled; +} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION; + +struct tm +{ + int tm_sec; // seconds after the minute - [0, 60] including leap second + int tm_min; // minutes after the hour - [0, 59] + int tm_hour; // hours since midnight - [0, 23] + int tm_mday; // day of the month - [1, 31] + int tm_mon; // months since January - [0, 11] + int tm_year; // years since 1900 + int tm_wday; // days since Sunday - [0, 6] + int tm_yday; // days since January 1 - [0, 365] + int tm_isdst; // daylight savings time flag +}; + +BOOL +SystemTimeToFileTime( + const SYSTEMTIME* lpSystemTime, + LPFILETIME lpFileTime +); + +BOOL +FileTimeToSystemTime( + const FILETIME* lpFileTime, + LPSYSTEMTIME lpSystemTime +); + +BOOL +SystemTimeToTzSpecificLocalTime( + const TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpUniversalTime, + LPSYSTEMTIME lpLocalTime +); + +BOOL +SystemTimeToTzSpecificLocalTimeEx( + const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpUniversalTime, + LPSYSTEMTIME lpLocalTime +); + +BOOL +TzSpecificLocalTimeToSystemTime( + const TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpLocalTime, + LPSYSTEMTIME lpUniversalTime +); + +BOOL +TzSpecificLocalTimeToSystemTimeEx( + const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, + const SYSTEMTIME* lpLocalTime, + LPSYSTEMTIME lpUniversalTime +); + +void GetSystemTime( + LPSYSTEMTIME lpSystemTime +); + +void GetSystemTimeAsFileTime( + LPFILETIME lpSystemTimeAsFileTime +); + +__time64_t _mkgmtime64( + struct tm* _Tm +); + +__time64_t _mkgmtime( + struct tm* const _Tm +) +{ + return _mkgmtime64(_Tm); +} + +__time64_t mktime( + struct tm* const _Tm +) +{ + return _mkgmtime64(_Tm); +} + +__time64_t _time64( + __time64_t* _Time +); + +__time64_t time( + time_t* const _Time +) +{ + return _time64(_Time); +} + +int gmtime_s( + struct tm* _Tm, + __time64_t const* _Time +); + +BOOL +GetFileTime( + HANDLE hFile, + LPFILETIME lpCreationTime, + LPFILETIME lpLastAccessTime, + LPFILETIME lpLastWriteTime +); + +void print(const char* s); + +/** + * AntiPattern7 - isLeapYear Conditional +*/ +void antipattern7() +{ + // get the current time as a FILETIME + SYSTEMTIME st; FILETIME ft; + GetSystemTime(&st); + SystemTimeToFileTime(&st, &ft); + + bool isLeapYear = st.wYear % 4 == 0 && (st.wYear % 100 != 0 || st.wYear % 400 == 0); + if(isLeapYear){ + // do something to cater for a leap year.... + print("It was a leap year"); + }else{ + // do another (different) thing + print("It was **not** a leap year"); + } +} + +time_t mktime(struct tm *timeptr); +struct tm *gmtime(const time_t *timer); + +time_t mkTime(int days) +{ + struct tm tm; + time_t t; + + tm.tm_sec = 0; + tm.tm_min = 0; + tm.tm_hour = 0; + tm.tm_mday = 0; + tm.tm_mon = 0; + tm.tm_year = days / 365; // BAD + // ... + + t = mktime(&tm); // convert tm -> time_t + + return t; +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.expected b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.expected new file mode 100644 index 000000000000..be5f31d55769 --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.expected @@ -0,0 +1 @@ +| LeapYearConditionalLogic.cpp:170:5:176:5 | if (...) ... | Leap Year conditional statement may have untested code paths | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.qlref b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.qlref new file mode 100644 index 000000000000..750ff8deb60a --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/LeapYearConditionalLogic/LeapYearConditionalLogic.qlref @@ -0,0 +1 @@ +Likely Bugs/Leap Year/LeapYearConditionalLogic.ql diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedLeapYearAfterYearModification.expected b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedLeapYearAfterYearModification.expected index a9c1bc66c50f..555002b40867 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedLeapYearAfterYearModification.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedLeapYearAfterYearModification.expected @@ -1,15 +1,8 @@ -| test.cpp:314:5:314:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:309:13:309:14 | st | st | -| test.cpp:327:5:327:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:322:13:322:14 | st | st | -| test.cpp:338:6:338:10 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:333:62:333:63 | st | st | -| test.cpp:484:5:484:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:480:13:480:14 | st | st | -| test.cpp:497:5:497:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:492:13:492:14 | st | st | -| test.cpp:509:5:509:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:505:13:505:14 | st | st | -| test.cpp:606:11:606:17 | tm_year | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:602:12:602:19 | timeinfo | timeinfo | -| test.cpp:634:11:634:17 | tm_year | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:628:12:628:19 | timeinfo | timeinfo | -| test.cpp:636:11:636:17 | tm_year | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:628:12:628:19 | timeinfo | timeinfo | -| test.cpp:640:5:640:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:629:13:629:14 | st | st | -| test.cpp:642:5:642:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:629:13:629:14 | st | st | -| test.cpp:718:5:718:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:712:13:712:14 | st | st | -| test.cpp:731:5:731:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:725:13:725:14 | st | st | -| test.cpp:732:5:732:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:725:13:725:14 | st | st | -| test.cpp:733:5:733:9 | wYear | Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:725:13:725:14 | st | st | +| test.cpp:617:2:617:11 | ... ++ | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:611:6:611:32 | AntiPattern_1_year_addition | AntiPattern_1_year_addition | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:613:13:613:14 | st | st | +| test.cpp:634:2:634:25 | ... += ... | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:627:6:627:32 | AntiPattern_simple_addition | AntiPattern_simple_addition | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:629:13:629:14 | st | st | +| test.cpp:763:2:763:19 | ... ++ | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:756:6:756:40 | AntiPattern_year_addition_struct_tm | AntiPattern_year_addition_struct_tm | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:759:12:759:19 | timeinfo | timeinfo | +| test.cpp:800:2:800:40 | ... = ... | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:791:6:791:23 | FalseNegativeTests | FalseNegativeTests | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:793:12:793:19 | timeinfo | timeinfo | +| test.cpp:803:2:803:43 | ... = ... | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:791:6:791:23 | FalseNegativeTests | FalseNegativeTests | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:793:12:793:19 | timeinfo | timeinfo | +| test.cpp:808:2:808:24 | ... = ... | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:791:6:791:23 | FalseNegativeTests | FalseNegativeTests | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:794:13:794:14 | st | st | +| test.cpp:811:2:811:33 | ... = ... | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:791:6:791:23 | FalseNegativeTests | FalseNegativeTests | test.cpp:12:7:12:11 | wYear | wYear | test.cpp:794:13:794:14 | st | st | +| test.cpp:850:3:850:36 | ... = ... | $@: Field $@ on variable $@ has been modified, but no appropriate check for LeapYear was found. | test.cpp:818:6:818:23 | tp_intermediaryVar | tp_intermediaryVar | test.cpp:56:6:56:12 | tm_year | tm_year | test.cpp:70:18:70:19 | tm | tm | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedReturnValueForTimeFunctions.expected b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedReturnValueForTimeFunctions.expected index fb79592b7f2d..ae8a55449daf 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedReturnValueForTimeFunctions.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/UncheckedReturnValueForTimeFunctions.expected @@ -1,5 +1,5 @@ -| test.cpp:317:2:317:21 | call to SystemTimeToFileTime | Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:63:1:63:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:309:13:309:14 | st | st | -| test.cpp:330:2:330:21 | call to SystemTimeToFileTime | Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:63:1:63:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:322:13:322:14 | st | st | -| test.cpp:341:2:341:21 | call to SystemTimeToFileTime | Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:63:1:63:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:333:62:333:63 | st | st | -| test.cpp:720:2:720:21 | call to SystemTimeToFileTime | Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:63:1:63:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:712:13:712:14 | st | st | -| test.cpp:735:2:735:21 | call to SystemTimeToFileTime | Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:63:1:63:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:725:13:725:14 | st | st | +| test.cpp:395:2:395:21 | call to SystemTimeToFileTime | $@: Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:385:6:385:48 | AntiPattern_unchecked_filetime_conversion2a | AntiPattern_unchecked_filetime_conversion2a | test.cpp:75:1:75:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:387:13:387:14 | st | st | +| test.cpp:413:2:413:21 | call to SystemTimeToFileTime | $@: Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:403:6:403:48 | AntiPattern_unchecked_filetime_conversion2b | AntiPattern_unchecked_filetime_conversion2b | test.cpp:75:1:75:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:405:13:405:14 | st | st | +| test.cpp:429:2:429:21 | call to SystemTimeToFileTime | $@: Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:421:6:421:48 | AntiPattern_unchecked_filetime_conversion2b | AntiPattern_unchecked_filetime_conversion2b | test.cpp:75:1:75:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:421:62:421:63 | st | st | +| test.cpp:948:3:948:22 | call to SystemTimeToFileTime | $@: Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:938:7:938:15 | modified3 | modified3 | test.cpp:75:1:75:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:940:14:940:15 | st | st | +| test.cpp:965:3:965:22 | call to SystemTimeToFileTime | $@: Return value of $@ function should be verified to check for any error because variable $@ is not guaranteed to be safe. | test.cpp:955:7:955:15 | modified4 | modified4 | test.cpp:75:1:75:20 | SystemTimeToFileTime | SystemTimeToFileTime | test.cpp:957:14:957:15 | st | st | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/test.cpp b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/test.cpp index 3db9b61edd2b..beb2c4061496 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/test.cpp +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification/test.cpp @@ -59,6 +59,18 @@ struct tm int tm_isdst; // daylight savings time flag }; +struct timespec +{ + time_t tv_sec; + long tv_nsec; +}; + +/* Timestamps of log entries. */ +struct logtime { + struct tm tm; + long usec; +}; + BOOL SystemTimeToFileTime( const SYSTEMTIME* lpSystemTime, @@ -102,6 +114,9 @@ TzSpecificLocalTimeToSystemTimeEx( void GetSystemTime( LPSYSTEMTIME lpSystemTime ); +void GetLocalTime( + LPSYSTEMTIME lpSystemTime +); void GetSystemTimeAsFileTime( LPFILETIME lpSystemTimeAsFileTime @@ -149,6 +164,12 @@ GetFileTime( LPFILETIME lpLastWriteTime ); +struct tm *localtime_r( const time_t *timer, struct tm *buf ); + +/** + * Negative Case + * FileTimeToSystemTime is called and the return value is checked +*/ void Correct_FileTimeToSystemTime(const FILETIME* lpFileTime) { SYSTEMTIME systemTime; @@ -162,6 +183,10 @@ void Correct_FileTimeToSystemTime(const FILETIME* lpFileTime) /// Normal usage } +/** + * Positive (Out of Scope) Bug Case + * FileTimeToSystemTime is called but no check is conducted to verify the result of the operation +*/ void AntiPattern_FileTimeToSystemTime(const FILETIME* lpFileTime) { SYSTEMTIME systemTime; @@ -170,6 +195,10 @@ void AntiPattern_FileTimeToSystemTime(const FILETIME* lpFileTime) FileTimeToSystemTime(lpFileTime, &systemTime); } +/** + * Negative Case + * SystemTimeToTzSpecificLocalTime is called and the return value is verified +*/ void Correct_SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpUniversalTime) { SYSTEMTIME localTime; @@ -183,6 +212,10 @@ void Correct_SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION *lpTime /// Normal usage } +/** + * Positive (Out of Scope) Case + * AntiPattern_SystemTimeToTzSpecificLocalTime is called but the return value is not validated +*/ void AntiPattern_SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpUniversalTime) { SYSTEMTIME localTime; @@ -191,6 +224,10 @@ void AntiPattern_SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION *lp SystemTimeToTzSpecificLocalTime(lpTimeZoneInformation, lpUniversalTime, &localTime); } +/** + * Negative Case + * SystemTimeToTzSpecificLocalTimeEx is called and the return value is validated +*/ void Correct_SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpUniversalTime) { SYSTEMTIME localTime; @@ -204,6 +241,10 @@ void Correct_SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFORMATI /// Normal usage } +/** + * Positive Case + * SystemTimeToTzSpecificLocalTimeEx is called but the return value is not validated +*/ void AntiPattern_SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpUniversalTime) { SYSTEMTIME localTime; @@ -212,6 +253,10 @@ void AntiPattern_SystemTimeToTzSpecificLocalTimeEx(const DYNAMIC_TIME_ZONE_INFOR SystemTimeToTzSpecificLocalTimeEx(lpTimeZoneInformation, lpUniversalTime, &localTime); } +/** + * Negative Case + * Correct use of TzSpecificLocalTimeToSystemTime, function is called and the return value is validated. +*/ void Correct_TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpLocalTime) { SYSTEMTIME universalTime; @@ -225,6 +270,10 @@ void Correct_TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION *lpTime /// Normal usage } +/** + * Positive (Out of Scope) Case + * TzSpecificLocalTimeToSystemTime is called however the return value is not validated +*/ void AntiPattern_TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpLocalTime) { SYSTEMTIME universalTime; @@ -233,6 +282,10 @@ void AntiPattern_TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION *lp TzSpecificLocalTimeToSystemTime(lpTimeZoneInformation, lpLocalTime, &universalTime); } +/** + * Negative Case + * TzSpecificLocalTimeToSystemTimeEx is called and the return value is correctly validated +*/ void Correct_TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpLocalTime) { SYSTEMTIME universalTime; @@ -246,6 +299,10 @@ void Correct_TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFORMATI /// Normal usage } +/** + * Positive (Out of Scope) Case + * TzSpecificLocalTimeToSystemTimeEx is called however the return value is not validated +*/ void AntiPattern_TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpLocalTime) { SYSTEMTIME universalTime; @@ -258,6 +315,10 @@ void AntiPattern_TzSpecificLocalTimeToSystemTimeEx(const DYNAMIC_TIME_ZONE_INFOR SYSTEMTIME Cases *************************************************/ +/** + * Negative Case + * SystemTimeToFileTime is called and the return value is validated in a guard +*/ void Correct_filetime_conversion_check(SYSTEMTIME& st) { FILETIME ft; @@ -273,6 +334,10 @@ void Correct_filetime_conversion_check(SYSTEMTIME& st) ////////////////////////////////////////////// +/** + * Positive (Out of Scope) Case + * SystemTimeToFileTime is called but the return value is not validated in a guard +*/ void AntiPattern_unchecked_filetime_conversion(SYSTEMTIME& st) { FILETIME ft; @@ -281,6 +346,10 @@ void AntiPattern_unchecked_filetime_conversion(SYSTEMTIME& st) SystemTimeToFileTime(&st, &ft); } +/** + * Positive (Out of Scope) Case + * SystemTimeToFileTime is called but the return value is not validated in a guard +*/ void AntiPattern_unchecked_filetime_conversion2(SYSTEMTIME* st) { FILETIME ft; @@ -292,6 +361,10 @@ void AntiPattern_unchecked_filetime_conversion2(SYSTEMTIME* st) } } +/** + * Positive (Out of Scope) + * SYSTEMTIME.wDay is incremented by one (and no guard exists) +*/ void AntiPattern_unchecked_filetime_conversion2() { SYSTEMTIME st; @@ -304,6 +377,11 @@ void AntiPattern_unchecked_filetime_conversion2() SystemTimeToFileTime(&st, &ft); } +/** + * Positive Cases + * - Anti-pattern 1: [year ±n, month, day] + * - Generic (Out of Scope) - UncheckedReturnValueForTimeFunctions +*/ void AntiPattern_unchecked_filetime_conversion2a() { SYSTEMTIME st; @@ -317,6 +395,11 @@ void AntiPattern_unchecked_filetime_conversion2a() SystemTimeToFileTime(&st, &ft); } +/** + * Positive Cases + * - Anti-pattern 1: [year ±n, month, day] + * - Generic (Out of Scope) - UncheckedReturnValueForTimeFunctions +*/ void AntiPattern_unchecked_filetime_conversion2b() { SYSTEMTIME st; @@ -330,6 +413,11 @@ void AntiPattern_unchecked_filetime_conversion2b() SystemTimeToFileTime(&st, &ft); } +/** + * Positive Cases + * - Anti-pattern 1: [year ±n, month, day] + * - Generic (Out of Scope) - UncheckedReturnValueForTimeFunctions +*/ void AntiPattern_unchecked_filetime_conversion2b(SYSTEMTIME* st) { FILETIME ft; @@ -341,6 +429,11 @@ void AntiPattern_unchecked_filetime_conversion2b(SYSTEMTIME* st) SystemTimeToFileTime(st, &ft); } +/** + * Positive Cases + * - Anti-pattern 3: datetime.AddDays(±28) + * - Generic (Out of Scope) - UncheckedReturnValueForTimeFunctions +*/ void AntiPattern_unchecked_filetime_conversion3() { SYSTEMTIME st; @@ -349,11 +442,12 @@ void AntiPattern_unchecked_filetime_conversion3() if (st.wMonth < 12) { + // Anti-pattern 3: datetime.AddDays(±28) st.wMonth++; } else { - // Check for leap year, but... + // No check for leap year is required here, as the month is statically set to January. st.wMonth = 1; st.wYear++; } @@ -363,6 +457,11 @@ void AntiPattern_unchecked_filetime_conversion3() } ////////////////////////////////////////////// + +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Year is incremented and if we are on Feb the 29th, set to the 28th if the new year is a common year. +*/ void CorrectPattern_check1() { SYSTEMTIME st; @@ -370,7 +469,7 @@ void CorrectPattern_check1() st.wYear++; - // Guard + // Guard against February the 29th if (st.wMonth == 2 && st.wDay == 29) { // move back a day when landing on Feb 29 in an non-leap year @@ -385,6 +484,10 @@ void CorrectPattern_check1() AntiPattern_unchecked_filetime_conversion(st); } +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer and then the leap year case is correctly guarded and handled. +*/ void CorrectPattern_check2(int yearsToAdd) { SYSTEMTIME st; @@ -400,11 +503,18 @@ void CorrectPattern_check2(int yearsToAdd) AntiPattern_unchecked_filetime_conversion(st); } +/** + * Could give rise to AntiPattern 7: IsLeapYear (Conditional Logic) +*/ bool isLeapYear(SYSTEMTIME& st) { return st.wYear % 4 == 0 && (st.wYear % 100 != 0 || st.wYear % 400 == 0); } +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer and then the leap year case is correctly guarded and handled. +*/ void CorrectPattern_check3() { SYSTEMTIME st; @@ -413,6 +523,9 @@ void CorrectPattern_check3() st.wYear++; // Guard + /** Negative Case - Anti-pattern 7: IsLeapYear + * Body of conditional statement is safe recommended code + */ if (st.wMonth == 2 && st.wDay == 29 && isLeapYear(st)) { // move back a day when landing on Feb 29 in an non-leap year @@ -423,6 +536,9 @@ void CorrectPattern_check3() AntiPattern_unchecked_filetime_conversion(st); } +/** + * Could give rise to AntiPattern 7: IsLeapYear (Conditional Logic) +*/ bool isLeapYear2(int year) { return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); @@ -433,6 +549,10 @@ bool fixDate(int day, int month, int year) return (month == 2 && day == 29 && isLeapYear2(year)); } +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer and then the leap year case is correctly guarded and handled. +*/ void CorrectPattern_check4() { SYSTEMTIME st; @@ -442,18 +562,23 @@ void CorrectPattern_check4() st.wYear++; // Guard + /** Negative Case - Anti-pattern 7: IsLeapYear + * Body of conditional statement is safe recommended code + */ if (fixDate(st.wDay, st.wMonth, st.wYear)) { // move back a day when landing on Feb 29 in an non-leap year - st.wDay = 28; // GOOD [FALSE POSITIVE] + st.wDay = 28; // GOOD [FALSE POSITIVE] Anti-pattern 7 } // Safe to use AntiPattern_unchecked_filetime_conversion(st); } - - +/** + * Negative Case - Generic + * No manipulation is conducted on struct populated from GetSystemTime. +*/ void CorrectPattern_NotManipulated_DateFromAPI_0() { SYSTEMTIME st; @@ -464,6 +589,10 @@ void CorrectPattern_NotManipulated_DateFromAPI_0() SystemTimeToFileTime(&st, &ft); } +/** + * Negative Case - Generic + * No manipulation is conducted on struct populated from GetFileTime. +*/ void CorrectPattern_NotManipulated_DateFromAPI_1(HANDLE hWatchdog) { SYSTEMTIME st; @@ -475,18 +604,26 @@ void CorrectPattern_NotManipulated_DateFromAPI_1(HANDLE hWatchdog) ///////////////////////////////////////////////////////////////// +/** + * Positive Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer but a leap year is not handled. +*/ void AntiPattern_1_year_addition() { SYSTEMTIME st; GetSystemTime(&st); - // BUG - UncheckedLeapYearAfterYearModification - st.wYear++; + // BUG - UncheckedLeapYearAfterYearModification + st.wYear++; // BUg V2 // Usage of potentially invalid date Correct_filetime_conversion_check(st); } +/** + * Positive Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer but a leap year is not handled. +*/ void AntiPattern_simple_addition(int yearAddition) { SYSTEMTIME st; @@ -494,12 +631,16 @@ void AntiPattern_simple_addition(int yearAddition) GetSystemTime(&st); // BUG - UncheckedLeapYearAfterYearModification - st.wYear += yearAddition; + st.wYear += yearAddition; // Bug V2 // Usage of potentially invalid date Correct_filetime_conversion_check(st); } +/** + * Positive Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer but a leap year is not handled *correctly*. +*/ void AntiPattern_IncorrectGuard(int yearsToAdd) { SYSTEMTIME st; @@ -511,7 +652,7 @@ void AntiPattern_IncorrectGuard(int yearsToAdd) // Incorrect Guard if (st.wMonth == 2 && st.wDay == 29) { - // Part of a different anti-pattern. + // Part of a different anti-pattern (AntiPattern 5). // Make sure the guard includes the proper check bool isLeapYear = st.wYear % 4 == 0; if (!isLeapYear) @@ -539,6 +680,10 @@ void CorrectUsageOf_mkgmtime(struct tm& timeinfo) /// _mkgmtime succeeded } +/** + * Positive Case - General (Out of Scope) + * Must Check for return value of _mkgmtime +*/ void AntiPattern_uncheckedUsageOf_mkgmtime(struct tm& timeinfo) { // (out-of-scope) GeneralBug: Must check return value for _mkgmtime @@ -550,6 +695,10 @@ void AntiPattern_uncheckedUsageOf_mkgmtime(struct tm& timeinfo) ////////////////////////////////////////////////////////// +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer and leap year is not handled correctly. +*/ void Correct_year_addition_struct_tm() { time_t rawtime; @@ -575,6 +724,10 @@ void Correct_year_addition_struct_tm() AntiPattern_uncheckedUsageOf_mkgmtime(timeinfo); } +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer and leap year is not handled correctly. +*/ void Correct_LinuxPattern() { time_t rawtime; @@ -596,6 +749,10 @@ void Correct_LinuxPattern() ////////////////////////////////////////// +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Years is incremented by some integer and leap year is not handled correctly. +*/ void AntiPattern_year_addition_struct_tm() { time_t rawtime; @@ -603,7 +760,7 @@ void AntiPattern_year_addition_struct_tm() time(&rawtime); gmtime_s(&timeinfo, &rawtime); // BUG - UncheckedLeapYearAfterYearModification - timeinfo.tm_year++; + timeinfo.tm_year++; // Bug V2 // Usage of potentially invalid date CorrectUsageOf_mkgmtime(timeinfo); @@ -611,6 +768,10 @@ void AntiPattern_year_addition_struct_tm() ///////////////////////////////////////////////////////// +/** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * False positive: Years is initialized to or incremented by some integer (but never used). +*/ void FalsePositiveTests(int x) { struct tm timeinfo; @@ -623,6 +784,10 @@ void FalsePositiveTests(int x) st.wYear = 1900 + x; } +/** + * Positive Case - Anti-pattern 1: [year ±n, month, day] + * False positive: Years is initialized to or incremented by some integer (but never used). +*/ void FalseNegativeTests(int x) { struct tm timeinfo; @@ -631,106 +796,211 @@ void FalseNegativeTests(int x) timeinfo.tm_year = x; // BUG - UncheckedLeapYearAfterYearModification - timeinfo.tm_year = x + timeinfo.tm_year; + // Positive Case - Anti-pattern 1: [year ±n, month, day] + timeinfo.tm_year = x + timeinfo.tm_year; // Bug V2 // BUG - UncheckedLeapYearAfterYearModification - timeinfo.tm_year = 1970 + timeinfo.tm_year; + // Positive Case - Anti-pattern 1: [year ±n, month, day] + timeinfo.tm_year = 1970 + timeinfo.tm_year; // Bug V2 st.wYear = x; // BUG - UncheckedLeapYearAfterYearModification - st.wYear = x + st.wYear; + // Positive Case - Anti-pattern 1: [year ±n, month, day] + st.wYear = x + st.wYear; // Bug V2 // BUG - UncheckedLeapYearAfterYearModification - st.wYear = (1986 + st.wYear) - 1; + // Positive Case - Anti-pattern 1: [year ±n, month, day] + st.wYear = (1986 + st.wYear) - 1; // Bug V2 +} + +/** + * Positive AntiPattern 1 + * Year field is modified but via an intermediary variable. +*/ +bool tp_intermediaryVar(struct timespec now, struct logtime ×tamp_remote) +{ + struct tm tm_parsed; + bool timestamp_found = false; + + struct tm tm_now; + time_t t_now; + int year; + + timestamp_found = true; + + /* + * As the timestamp does not contain the year + * number, daylight saving time information, nor + * a time zone, attempt to infer it. Due to + * clock skews, the timestamp may even be part + * of the next year. Use the last year for which + * the timestamp is at most one week in the + * future. + * + * This loop can only run for at most three + * iterations before terminating. + */ + t_now = now.tv_sec; + localtime_r(&t_now, &tm_now); + + timestamp_remote.tm = tm_parsed; + timestamp_remote.tm.tm_isdst = -1; + timestamp_remote.usec = now.tv_nsec * 0.001; + for (year = tm_now.tm_year + 1;; --year) + { + // assert(year >= tm_now.tm_year - 1); + timestamp_remote.tm.tm_year = year; + if (mktime(×tamp_remote.tm) < t_now + 7 * 24 * 60 * 60) + break; + } } -// False positive -inline void -IncrementMonth(LPSYSTEMTIME pst) -{ - if (pst->wMonth < 12) + + // False positive + inline void + IncrementMonth(LPSYSTEMTIME pst) { - pst->wMonth++; + if (pst->wMonth < 12) + { + pst->wMonth++; + } + else + { + pst->wMonth = 1; + pst->wYear++; + } } - else + + ///////////////////////////////////////////////////////// + + void mkDateTest(int year) { - pst->wMonth = 1; - pst->wYear++; + struct tm t; + + t.tm_sec = 0; + t.tm_min = 0; + t.tm_hour = 0; + t.tm_mday = 1; // day of the month - [1, 31] + t.tm_mon = 0; // months since January - [0, 11] + if (year >= 1900) + { + // 4-digit year + t.tm_year = year - 1900; // GOOD + } + else if ((year >= 0) && (year < 100)) + { + // 2-digit year assumed in the range 2000 - 2099 + t.tm_year = year + 100; // GOOD [FALSE POSITIVE] + } + else + { + // fail + } + // ... } -} -///////////////////////////////////////////////////////// + /** + * Negative Case - Anti-pattern 1a: [a.year, b.month, b.day] + * False positive: No modification of SYSTEMTIME struct. + */ + void unmodified1() + { + SYSTEMTIME st; + FILETIME ft; + WORD w; -void mkDateTest(int year) -{ - struct tm t; + GetSystemTime(&st); - t.tm_sec = 0; - t.tm_min = 0; - t.tm_hour = 0; - t.tm_mday = 1; // day of the month - [1, 31] - t.tm_mon = 0; // months since January - [0, 11] - if (year >= 1900) - { - // 4-digit year - t.tm_year = year - 1900; // GOOD - } else if ((year >= 0) && (year < 100)) { - // 2-digit year assumed in the range 2000 - 2099 - t.tm_year = year + 100; // GOOD [FALSE POSITIVE] - } else { - // fail + w = st.wYear; + + SystemTimeToFileTime(&st, &ft); // GOOD - no modification } - // ... -} -void unmodified1() -{ - SYSTEMTIME st; - FILETIME ft; - WORD w; + /** + * Negative Case - Anti-pattern 1a: [a.year, b.month, b.day] + * False positive: No modification of SYSTEMTIME struct. + */ + void unmodified2() + { + SYSTEMTIME st; + FILETIME ft; + WORD *w_ptr; - GetSystemTime(&st); + GetSystemTime(&st); - w = st.wYear; + w_ptr = &(st.wYear); - SystemTimeToFileTime(&st, &ft); // GOOD - no modification -} + SystemTimeToFileTime(&st, &ft); // GOOD - no modification + } -void unmodified2() -{ - SYSTEMTIME st; - FILETIME ft; - WORD *w_ptr; + /** + * Positive Case - Anti-pattern 1: [year ±n, month, day] + * Modification of SYSTEMTIME struct adding to year but no leap year guard is conducted. + */ + void modified3() + { + SYSTEMTIME st; + FILETIME ft; + WORD *w_ptr; - GetSystemTime(&st); + GetSystemTime(&st); - w_ptr = &(st.wYear); + st.wYear = st.wYear + 1; // BAD - SystemTimeToFileTime(&st, &ft); // GOOD - no modification -} + SystemTimeToFileTime(&st, &ft); + } -void modified3() -{ - SYSTEMTIME st; - FILETIME ft; - WORD *w_ptr; + /** + * Positive Case - Anti-pattern 1: [year ±n, month, day] + * Modification of SYSTEMTIME struct adding to year but no leap year guard is conducted. + */ + void modified4() + { + SYSTEMTIME st; + FILETIME ft; + WORD *w_ptr; - GetSystemTime(&st); + GetSystemTime(&st); - st.wYear = st.wYear + 1; // BAD + st.wYear++; // BAD Positive Case - Anti-pattern 1: [year ±n, month, day] - SystemTimeToFileTime(&st, &ft); -} + SystemTimeToFileTime(&st, &ft); + } -void modified4() -{ - SYSTEMTIME st; - FILETIME ft; - WORD *w_ptr; + /** + * Negative Case - Anti-pattern 1: [year ±n, month, day] + * Modification of SYSTEMTIME struct adding to year but no leap year guard is conducted. + */ + void modified5() + { + SYSTEMTIME st; + FILETIME ft; + WORD *w_ptr; - GetSystemTime(&st); + GetSystemTime(&st); - st.wYear++; // BAD - st.wYear++; // BAD - st.wYear++; // BAD + st.wYear++; // Negative Case - Anti-pattern 1: [year ±n, month, day], guard condition below. - SystemTimeToFileTime(&st, &ft); -} + if (SystemTimeToFileTime(&st, &ft)) + { + ///... + } + } + + struct tm ltime(void) + { + SYSTEMTIME st; + struct tm tm; + bool isLeapYear; + + GetLocalTime(&st); + tm.tm_sec=st.wSecond; + tm.tm_min=st.wMinute; + tm.tm_hour=st.wHour; + tm.tm_mday=st.wDay; + tm.tm_mon=st.wMonth-1; + tm.tm_year=(st.wYear>=1900?st.wYear-1900:0); + + // Check for leap year, and adjust the date accordingly + isLeapYear = tm.tm_year % 4 == 0 && (tm.tm_year % 100 != 0 || tm.tm_year % 400 == 0); + tm.tm_mday = tm.tm_mon == 2 && tm.tm_mday == 29 && !isLeapYear ? 28 : tm.tm_mday; + return tm; + } diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/GlobalFp.cpp b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/GlobalFp.cpp new file mode 100644 index 000000000000..abed05719fa6 --- /dev/null +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/GlobalFp.cpp @@ -0,0 +1,2 @@ +int NormalYear[365]; +int LeapYear[366]; diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/UnsafeArrayForDaysOfYear.expected b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/UnsafeArrayForDaysOfYear.expected index 37dd8b1ae7d0..59a981aa3a8f 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/UnsafeArrayForDaysOfYear.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/UnsafeArrayForDaysOfYear.expected @@ -1,3 +1,4 @@ -| test.cpp:17:6:17:10 | items | There is an array allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | -| test.cpp:25:15:25:26 | new[] | There is an array allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | -| test.cpp:52:20:52:23 | call to vector | There is a std::vector allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | +| test.cpp:20:6:20:10 | items | $@: There is an array allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | test.cpp:20:6:20:10 | items | items | +| test.cpp:31:15:31:26 | new[] | $@: There is an array allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | test.cpp:28:6:28:21 | ArrayOfDays_Bug2 | ArrayOfDays_Bug2 | +| test.cpp:68:20:68:23 | call to vector | $@: There is a std::vector allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | test.cpp:65:6:65:21 | VectorOfDays_Bug | VectorOfDays_Bug | +| test.cpp:115:7:115:15 | items_bad | $@: There is an array allocation with a hard-coded set of 365 elements, which may indicate the number of days in a year without considering leap year scenarios. | test.cpp:115:7:115:15 | items_bad | items_bad | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/test.cpp b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/test.cpp index 7f6f2cfd3fe7..32a0f59ac6f8 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/test.cpp +++ b/cpp/ql/test/query-tests/Likely Bugs/Leap Year/UnsafeArrayForDaysOfYear/test.cpp @@ -11,6 +11,9 @@ class vector { const T& operator[](int idx) const { return _x; } }; +/** + * AntiPattern 4 - Static allocation of 365 array items +*/ void ArrayOfDays_Bug(int dayOfYear, int x) { // BUG @@ -19,6 +22,9 @@ void ArrayOfDays_Bug(int dayOfYear, int x) items[dayOfYear - 1] = x; } +/** + * AntiPattern 4 - Static allocation of 365 array items +*/ void ArrayOfDays_Bug2(int dayOfYear, int x) { // BUG @@ -28,7 +34,10 @@ void ArrayOfDays_Bug2(int dayOfYear, int x) delete items; } - +/** + * True Negative + * Correct conditional allocation of array length +*/ void ArrayOfDays_Correct(unsigned long year, int dayOfYear, int x) { bool isLeapYear = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); @@ -39,6 +48,10 @@ void ArrayOfDays_Correct(unsigned long year, int dayOfYear, int x) delete[] items; } +/** + * True Negative + * Allocation of 366 items (Irregardless of common or leap year) +*/ void ArrayOfDays_FalsePositive(int dayOfYear, int x) { int items[366]; @@ -46,6 +59,9 @@ void ArrayOfDays_FalsePositive(int dayOfYear, int x) items[dayOfYear - 1] = x; } +/** + * AntiPattern 4 - Static allocation of 365 array items +*/ void VectorOfDays_Bug(int dayOfYear, int x) { // BUG @@ -54,6 +70,10 @@ void VectorOfDays_Bug(int dayOfYear, int x) items[dayOfYear - 1] = x; } +/** + * True Negative + * Conditional quantity allocation on the basis of common or leap year +*/ void VectorOfDays_Correct(unsigned long year, int dayOfYear, int x) { bool isLeapYear = year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); @@ -62,9 +82,66 @@ void VectorOfDays_Correct(unsigned long year, int dayOfYear, int x) items[dayOfYear - 1] = x; } +/** + * True Negative + * Allocation of 366 items (Irregardless of common or leap year) +*/ void VectorOfDays_FalsePositive(int dayOfYear, int x) { vector items(366); items[dayOfYear - 1] = x; } + +/** + * AntiPattern 4 - Static allocation of 365 array items +*/ +void HandleBothCases(int dayOfYear, int x) +{ + vector items(365); + vector items_leap(366); + + items[dayOfYear - 1] = x; // BUG +} + +/** + * AntiPattern 4 - Static allocation of 365 array items +*/ +void HandleBothCases2(int dayOfYear, int x) +{ + int items[365]; + int items_leap[366]; + + char items_bad[365]; // BUG + + items[dayOfYear - 1] = x; // BUG +} + +const short LeapYearDayToMonth[366] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // January + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // February + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // March + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // April + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // May + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // June + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // July + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // August + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, // September + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // October + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, // November + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11}; // December + +/* Negative - #947 Sibling definition above*/ +const short NormalYearDayToMonth[365] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // January + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // February + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // March + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // April + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // May + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // June + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, // July + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // August + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, // September + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // October + 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, // November + 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11}; // December \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.expected b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.expected new file mode 100644 index 000000000000..812f7dffd433 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.expected @@ -0,0 +1,15 @@ +| test.c:29:6:29:46 | ... && ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:29:15:29:30 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:29:6:29:46 | ... && ... | as an operand in a binary logical operation | +| test.c:34:6:34:38 | ! ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:34:7:34:22 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:34:6:34:38 | ! ... | as an operand in an unary logical operation | +| test.c:39:6:39:21 | call to RtlCompareMemory | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:39:6:39:21 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:39:6:39:21 | call to RtlCompareMemory | as the controlling expression in an If statement | +| test.c:49:6:49:42 | ... == ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:49:11:49:26 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:49:6:49:42 | ... == ... | as an operand in an equality operation where the other operand is likely a boolean value (lower precision result, needs to be reviewed) | +| test.c:75:6:75:37 | (bool)... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:75:6:75:21 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:75:6:75:37 | (bool)... | as a boolean | +| test.c:77:6:77:46 | ... == ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:77:15:77:30 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:77:6:77:46 | ... == ... | as an operand in an equality operation where the other operand is a boolean value (high precision result) | +| test.c:84:6:84:37 | (BOOLEAN)... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:84:6:84:21 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:84:6:84:37 | (BOOLEAN)... | as a boolean | +| test.c:86:6:86:45 | ... == ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:86:14:86:29 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:86:6:86:45 | ... == ... | as an operand in an equality operation where the other operand is a boolean value (high precision result) | +| test.c:91:9:91:52 | ... && ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.c:91:21:91:36 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.c:91:9:91:52 | ... && ... | as an operand in a binary logical operation | +| test.cpp:18:6:18:46 | ... && ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.cpp:18:15:18:30 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.cpp:18:6:18:46 | ... && ... | as an operand in a binary logical operation | +| test.cpp:18:15:18:46 | (bool)... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.cpp:18:15:18:30 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.cpp:18:15:18:46 | (bool)... | as a boolean | +| test.cpp:23:6:23:38 | ! ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.cpp:23:7:23:22 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.cpp:23:6:23:38 | ! ... | as an operand in an unary logical operation | +| test.cpp:23:7:23:38 | (bool)... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.cpp:23:7:23:22 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.cpp:23:7:23:38 | (bool)... | as a boolean | +| test.cpp:28:9:28:52 | ... && ... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.cpp:28:21:28:36 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.cpp:28:9:28:52 | ... && ... | as an operand in a binary logical operation | +| test.cpp:28:21:28:52 | (bool)... | This $@ is being handled $@ instead of the number of matching bytes. Please review the usage of this function and consider replacing it with `RtlEqualMemory`. | test.cpp:28:21:28:36 | call to RtlCompareMemory | call to `RtlCompareMemory` | test.cpp:28:21:28:52 | (bool)... | as a boolean | diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.qlref b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.qlref new file mode 100644 index 000000000000..629e248bce7e --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.qlref @@ -0,0 +1 @@ +Microsoft/Likely Bugs/Drivers/IncorrectUsageOfRtlCompareMemory.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/test.c b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/test.c new file mode 100644 index 000000000000..cf3b006d0030 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/test.c @@ -0,0 +1,92 @@ +// semmle-extractor-options: --microsoft +typedef unsigned __int64 size_t; + +size_t RtlCompareMemory( + const void* Source1, + const void* Source2, + size_t Length +) +{ + return Length; +} + + +#define bool _Bool +#define false 0 +#define true 1 + +typedef unsigned char UCHAR; +typedef UCHAR BOOLEAN; // winnt +#define FALSE 0 +#define TRUE 1 + +int Test(const void* ptr) +{ + size_t t = RtlCompareMemory("test", ptr, 5); //OK + bool x; + BOOLEAN y; + + if (t > 0 && RtlCompareMemory("test", ptr, 5)) //bug + { + t++; + } + + if (!RtlCompareMemory("test", ptr, 4)) //bug + { + t--; + } + + if (RtlCompareMemory("test", ptr, 4)) //bug + { + t--; + } + + if (6 == RtlCompareMemory("test", ptr, 4)) //OK + { + t++; + } + + if (0 == RtlCompareMemory("test", ptr, 4)) // potentially a bug (lower precision) + { + t++; + } + + if (6 == RtlCompareMemory("test", ptr, 4) + 1) //OK + { + t++; + } + + if (0 == RtlCompareMemory("test", ptr, 4) + 1) // OK + { + t++; + } + + switch (RtlCompareMemory("test", ptr, 4)) + { + case 1: + t--; + break; + default: + t++; + } + + /// _Bool + + x = RtlCompareMemory("test", ptr, 4); // bug + + if (false == RtlCompareMemory("test", ptr, 4)) // bug + { + t++; + } + + // BOOLEAN + + y = RtlCompareMemory("test", ptr, 4); // bug + + if (TRUE == RtlCompareMemory("test", ptr, 4)) // bug + { + t++; + } + + return (t == 5) && RtlCompareMemory("test", ptr, 5); //bug +} diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/test.cpp b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/test.cpp new file mode 100644 index 000000000000..f876133c67aa --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/Drivers/test.cpp @@ -0,0 +1,29 @@ +// semmle-extractor-options: --microsoft +typedef unsigned __int64 size_t; + +size_t RtlCompareMemory( + const void* Source1, + const void* Source2, + size_t Length +) +{ + return Length; +} + + +bool Test(const void* ptr) +{ + size_t t = RtlCompareMemory("test", ptr, 5); //OK + + if (t > 0 && RtlCompareMemory("test", ptr, 5)) //bug + { + t++; + } + + if (!RtlCompareMemory("test", ptr, 4)) //bug + { + t--; + } + + return (t == 5) && RtlCompareMemory("test", ptr, 5); //bug +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.expected b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.expected new file mode 100644 index 000000000000..2099532f8f4a --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.expected @@ -0,0 +1,48 @@ +| test2.c:86:6:86:29 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:86:6:86:29 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test2.c:86:13:86:28 | ... / ... | binary operator | +| test2.c:86:6:86:29 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:86:6:86:29 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test2.c:86:13:86:28 | ... / ... | binary operator | +| test2.c:93:6:93:30 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:93:6:93:30 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test2.c:93:13:93:29 | ... * ... | binary operator | +| test2.c:93:6:93:30 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:93:6:93:30 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test2.c:93:13:93:29 | ... * ... | binary operator | +| test2.c:95:6:95:35 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:95:6:95:35 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test2.c:95:13:95:34 | ... * ... | binary operator | +| test2.c:95:6:95:35 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:95:6:95:35 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test2.c:95:13:95:34 | ... * ... | binary operator | +| test2.c:98:6:98:31 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:98:6:98:31 | sizeof() | sizeof | test2.c:64:6:64:11 | Test01 | Usage | test2.c:98:13:98:30 | sizeof(int) | sizeof | +| test2.c:98:6:98:31 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:98:6:98:31 | sizeof() | sizeof | test.c:64:6:64:11 | Test01 | Usage | test2.c:98:13:98:30 | sizeof(int) | sizeof | +| test2.c:116:6:116:24 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:116:6:116:24 | sizeof() | sizeof | test2.c:64:6:64:11 | Test01 | Usage | test2.c:116:13:116:23 | sizeof(int) | sizeof | +| test2.c:116:6:116:24 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:116:6:116:24 | sizeof() | sizeof | test.c:64:6:64:11 | Test01 | Usage | test2.c:116:13:116:23 | sizeof(int) | sizeof | +| test2.c:117:6:117:18 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:117:6:117:18 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test2.c:117:13:117:17 | ... + ... | binary operator | +| test2.c:117:6:117:18 | sizeof() | $@: $@ of $@ inside sizeof. | test2.c:117:6:117:18 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test2.c:117:13:117:17 | ... + ... | binary operator | +| test2.cpp:89:6:89:29 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:89:6:89:29 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:89:13:89:28 | ... / ... | binary operator | +| test2.cpp:89:6:89:29 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:89:6:89:29 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:89:13:89:28 | ... / ... | binary operator | +| test2.cpp:96:6:96:30 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:96:6:96:30 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:96:13:96:29 | ... * ... | binary operator | +| test2.cpp:96:6:96:30 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:96:6:96:30 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:96:13:96:29 | ... * ... | binary operator | +| test2.cpp:98:6:98:35 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:98:6:98:35 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:98:13:98:34 | ... * ... | binary operator | +| test2.cpp:98:6:98:35 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:98:6:98:35 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:98:13:98:34 | ... * ... | binary operator | +| test2.cpp:101:6:101:31 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:101:6:101:31 | sizeof() | sizeof | test2.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:101:13:101:30 | sizeof(int) | sizeof | +| test2.cpp:101:6:101:31 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:101:6:101:31 | sizeof() | sizeof | test.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:101:13:101:30 | sizeof(int) | sizeof | +| test2.cpp:120:6:120:24 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:120:6:120:24 | sizeof() | sizeof | test2.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:120:13:120:23 | sizeof(int) | sizeof | +| test2.cpp:120:6:120:24 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:120:6:120:24 | sizeof() | sizeof | test.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:120:13:120:23 | sizeof(int) | sizeof | +| test2.cpp:121:6:121:18 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:121:6:121:18 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:121:13:121:17 | ... + ... | binary operator | +| test2.cpp:121:6:121:18 | sizeof() | $@: $@ of $@ inside sizeof. | test2.cpp:121:6:121:18 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test2.cpp:121:13:121:17 | ... + ... | binary operator | +| test.c:86:6:86:29 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:86:6:86:29 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test.c:86:13:86:28 | ... / ... | binary operator | +| test.c:86:6:86:29 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:86:6:86:29 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test.c:86:13:86:28 | ... / ... | binary operator | +| test.c:93:6:93:30 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:93:6:93:30 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test.c:93:13:93:29 | ... * ... | binary operator | +| test.c:93:6:93:30 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:93:6:93:30 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test.c:93:13:93:29 | ... * ... | binary operator | +| test.c:95:6:95:35 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:95:6:95:35 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test.c:95:13:95:34 | ... * ... | binary operator | +| test.c:95:6:95:35 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:95:6:95:35 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test.c:95:13:95:34 | ... * ... | binary operator | +| test.c:98:6:98:31 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:98:6:98:31 | sizeof() | sizeof | test2.c:64:6:64:11 | Test01 | Usage | test.c:98:13:98:30 | sizeof(int) | sizeof | +| test.c:98:6:98:31 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:98:6:98:31 | sizeof() | sizeof | test.c:64:6:64:11 | Test01 | Usage | test.c:98:13:98:30 | sizeof(int) | sizeof | +| test.c:116:6:116:24 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:116:6:116:24 | sizeof() | sizeof | test2.c:64:6:64:11 | Test01 | Usage | test.c:116:13:116:23 | sizeof(int) | sizeof | +| test.c:116:6:116:24 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:116:6:116:24 | sizeof() | sizeof | test.c:64:6:64:11 | Test01 | Usage | test.c:116:13:116:23 | sizeof(int) | sizeof | +| test.c:117:6:117:18 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:117:6:117:18 | sizeof() | binary operator | test2.c:64:6:64:11 | Test01 | Usage | test.c:117:13:117:17 | ... + ... | binary operator | +| test.c:117:6:117:18 | sizeof() | $@: $@ of $@ inside sizeof. | test.c:117:6:117:18 | sizeof() | binary operator | test.c:64:6:64:11 | Test01 | Usage | test.c:117:13:117:17 | ... + ... | binary operator | +| test.cpp:89:6:89:29 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:89:6:89:29 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test.cpp:89:13:89:28 | ... / ... | binary operator | +| test.cpp:89:6:89:29 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:89:6:89:29 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test.cpp:89:13:89:28 | ... / ... | binary operator | +| test.cpp:96:6:96:30 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:96:6:96:30 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test.cpp:96:13:96:29 | ... * ... | binary operator | +| test.cpp:96:6:96:30 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:96:6:96:30 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test.cpp:96:13:96:29 | ... * ... | binary operator | +| test.cpp:98:6:98:35 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:98:6:98:35 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test.cpp:98:13:98:34 | ... * ... | binary operator | +| test.cpp:98:6:98:35 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:98:6:98:35 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test.cpp:98:13:98:34 | ... * ... | binary operator | +| test.cpp:101:6:101:31 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:101:6:101:31 | sizeof() | sizeof | test2.cpp:66:6:66:11 | Test01 | Usage | test.cpp:101:13:101:30 | sizeof(int) | sizeof | +| test.cpp:101:6:101:31 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:101:6:101:31 | sizeof() | sizeof | test.cpp:66:6:66:11 | Test01 | Usage | test.cpp:101:13:101:30 | sizeof(int) | sizeof | +| test.cpp:120:6:120:24 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:120:6:120:24 | sizeof() | sizeof | test2.cpp:66:6:66:11 | Test01 | Usage | test.cpp:120:13:120:23 | sizeof(int) | sizeof | +| test.cpp:120:6:120:24 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:120:6:120:24 | sizeof() | sizeof | test.cpp:66:6:66:11 | Test01 | Usage | test.cpp:120:13:120:23 | sizeof(int) | sizeof | +| test.cpp:121:6:121:18 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:121:6:121:18 | sizeof() | binary operator | test2.cpp:66:6:66:11 | Test01 | Usage | test.cpp:121:13:121:17 | ... + ... | binary operator | +| test.cpp:121:6:121:18 | sizeof() | $@: $@ of $@ inside sizeof. | test.cpp:121:6:121:18 | sizeof() | binary operator | test.cpp:66:6:66:11 | Test01 | Usage | test.cpp:121:13:121:17 | ... + ... | binary operator | diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.qlref b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.qlref new file mode 100644 index 000000000000..662f83b06cc0 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.qlref @@ -0,0 +1 @@ +Microsoft/Likely Bugs/SizeOfMisuse/ArgumentIsSizeofOrOperation.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.expected b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.expected new file mode 100644 index 000000000000..bf751cf1e9b6 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.expected @@ -0,0 +1,24 @@ +| test2.c:72:6:72:42 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.c:72:6:72:42 | sizeof() | Test01 | test2.c:46:1:46:48 | #define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d | SOMESTRUCT_ERRNO_THAT_MATTERS | +| test2.c:80:10:80:32 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.c:80:10:80:32 | sizeof() | Test01 | test2.c:2:1:2:26 | #define BAD_MACRO_CONST 5l | BAD_MACRO_CONST | +| test2.c:81:6:81:29 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.c:81:6:81:29 | sizeof() | Test01 | test2.c:3:1:3:35 | #define BAD_MACRO_CONST2 0x80005001 | BAD_MACRO_CONST2 | +| test2.c:89:7:89:35 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.c:89:7:89:35 | sizeof() | Test01 | test2.c:1:1:1:19 | #define PAGESIZE 64 | PAGESIZE | +| test2.c:98:6:98:31 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.c:98:6:98:31 | sizeof() | Test01 | test2.c:17:1:17:40 | #define SOME_SIZEOF_MACRO2 (sizeof(int)) | SOME_SIZEOF_MACRO2 | +| test2.c:112:6:112:37 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.c:112:6:112:37 | sizeof() | Test01 | test2.c:31:1:31:45 | #define ACE_CONDITION_SIGNATURE2 'xt' | ACE_CONDITION_SIGNATURE2 | +| test2.cpp:75:6:75:42 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.cpp:75:6:75:42 | sizeof() | Test01 | test2.cpp:48:1:48:48 | #define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d | SOMESTRUCT_ERRNO_THAT_MATTERS | +| test2.cpp:83:10:83:32 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.cpp:83:10:83:32 | sizeof() | Test01 | test2.cpp:2:1:2:26 | #define BAD_MACRO_CONST 5l | BAD_MACRO_CONST | +| test2.cpp:84:6:84:29 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.cpp:84:6:84:29 | sizeof() | Test01 | test2.cpp:3:1:3:35 | #define BAD_MACRO_CONST2 0x80005001 | BAD_MACRO_CONST2 | +| test2.cpp:92:7:92:35 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.cpp:92:7:92:35 | sizeof() | Test01 | test2.cpp:1:1:1:19 | #define PAGESIZE 64 | PAGESIZE | +| test2.cpp:101:6:101:31 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.cpp:101:6:101:31 | sizeof() | Test01 | test2.cpp:17:1:17:40 | #define SOME_SIZEOF_MACRO2 (sizeof(int)) | SOME_SIZEOF_MACRO2 | +| test2.cpp:116:6:116:37 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test2.cpp:116:6:116:37 | sizeof() | Test01 | test2.cpp:32:1:32:45 | #define ACE_CONDITION_SIGNATURE2 'xt' | ACE_CONDITION_SIGNATURE2 | +| test.c:72:6:72:42 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.c:72:6:72:42 | sizeof() | Test01 | test.c:46:1:46:48 | #define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d | SOMESTRUCT_ERRNO_THAT_MATTERS | +| test.c:80:10:80:32 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.c:80:10:80:32 | sizeof() | Test01 | test.c:2:1:2:26 | #define BAD_MACRO_CONST 5l | BAD_MACRO_CONST | +| test.c:81:6:81:29 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.c:81:6:81:29 | sizeof() | Test01 | test.c:3:1:3:35 | #define BAD_MACRO_CONST2 0x80005001 | BAD_MACRO_CONST2 | +| test.c:89:7:89:35 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.c:89:7:89:35 | sizeof() | Test01 | test.c:1:1:1:19 | #define PAGESIZE 64 | PAGESIZE | +| test.c:98:6:98:31 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.c:98:6:98:31 | sizeof() | Test01 | test.c:17:1:17:40 | #define SOME_SIZEOF_MACRO2 (sizeof(int)) | SOME_SIZEOF_MACRO2 | +| test.c:112:6:112:37 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.c:112:6:112:37 | sizeof() | Test01 | test.c:31:1:31:45 | #define ACE_CONDITION_SIGNATURE2 'xt' | ACE_CONDITION_SIGNATURE2 | +| test.cpp:75:6:75:42 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.cpp:75:6:75:42 | sizeof() | Test01 | test.cpp:48:1:48:48 | #define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d | SOMESTRUCT_ERRNO_THAT_MATTERS | +| test.cpp:83:10:83:32 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.cpp:83:10:83:32 | sizeof() | Test01 | test.cpp:2:1:2:26 | #define BAD_MACRO_CONST 5l | BAD_MACRO_CONST | +| test.cpp:84:6:84:29 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.cpp:84:6:84:29 | sizeof() | Test01 | test.cpp:3:1:3:35 | #define BAD_MACRO_CONST2 0x80005001 | BAD_MACRO_CONST2 | +| test.cpp:92:7:92:35 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.cpp:92:7:92:35 | sizeof() | Test01 | test.cpp:1:1:1:19 | #define PAGESIZE 64 | PAGESIZE | +| test.cpp:101:6:101:31 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.cpp:101:6:101:31 | sizeof() | Test01 | test.cpp:17:1:17:40 | #define SOME_SIZEOF_MACRO2 (sizeof(int)) | SOME_SIZEOF_MACRO2 | +| test.cpp:116:6:116:37 | sizeof() | $@: sizeof of integer macro $@ will always return the size of the underlying integer type. | test.cpp:116:6:116:37 | sizeof() | Test01 | test.cpp:32:1:32:45 | #define ACE_CONDITION_SIGNATURE2 'xt' | ACE_CONDITION_SIGNATURE2 | diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.qlref b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.qlref new file mode 100644 index 000000000000..3804507965c1 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.qlref @@ -0,0 +1 @@ +Microsoft/Likely Bugs/SizeOfMisuse/SizeOfConstIntMacro.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test.c b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test.c new file mode 100644 index 000000000000..b11d0b552053 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test.c @@ -0,0 +1,118 @@ +#define PAGESIZE 64 +#define BAD_MACRO_CONST 5l +#define BAD_MACRO_CONST2 0x80005001 +#define BAD_MACRO_OP1(VAR) strlen(#VAR) +#define BAD_MACRO_OP2(VAR) sizeof(VAR)/sizeof(int) + +long strlen(const char* x) { return 5; } + +#define ALIGN_UP_BY(length, sizeofType) length * sizeofType +#define ALIGN_UP(length, type) \ + ALIGN_UP_BY(length, sizeof(type)) + +#define SOME_SIZEOF_MACRO (sizeof(int) * 3) +#define SOME_SIZEOF_MACRO_CAST ((char)(sizeof(int) * 3)) + + +#define SOME_SIZEOF_MACRO2 (sizeof(int)) + +typedef unsigned short WCHAR; // wc, 16-bit UNICODE character + +#define UNICODE_NULL1 ((WCHAR)0) + +#define ASCII_NULL ((char)0) + +#define UNICODE_STRING_SIG L"xtra" +#define ASCII_STRING_SIG "xtra" + +#define UNICODE_SIG L'x' + +#define ACE_CONDITION_SIGNATURE1 'xtra' +#define ACE_CONDITION_SIGNATURE2 'xt' + +#define ACE_CONDITION_SIGNATURE3(VAL) #VAL + +#define NULL (void *)0 + +#define EFI_FILEPATH_SEPARATOR_UNICODE L'\\' + +const char* Test() +{ + return "foobar"; +} + +#define FUNCTION_MACRO_OP1 Test() + +#define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d + + +char _RTL_CONSTANT_STRING_type_check(const void* s) { + return ((char*)(s))[0]; +} + +#define RTL_CONSTANT_STRING(s) \ +{ \ + sizeof( s ) - sizeof( (s)[0] ); \ + sizeof( s ) / sizeof(_RTL_CONSTANT_STRING_type_check(s)); \ +} + +typedef struct { + int a; + char b; +} SOMESTRUCT_THAT_MATTERS; + +void Test01() { + + RTL_CONSTANT_STRING("hello"); + + sizeof(NULL); + sizeof(EFI_FILEPATH_SEPARATOR_UNICODE); + + int y = sizeof(SOMESTRUCT_THAT_MATTERS); + y = sizeof(SOMESTRUCT_ERRNO_THAT_MATTERS); // BUG: SizeOfConstIntMacro + + const unsigned short* p = UNICODE_STRING_SIG; + const char* p2 = ASCII_STRING_SIG; + char p3 = 'xtra'; + unsigned short p4 = L'xtra'; + + int a[10]; + int x = sizeof(BAD_MACRO_CONST); //BUG: SizeOfConstIntMacro + x = sizeof(BAD_MACRO_CONST2); //BUG: SizeOfConstIntMacro + + x = sizeof(FUNCTION_MACRO_OP1); // GOOD + + x = sizeof(BAD_MACRO_OP1(a)); //BUG: ArgumentIsFunctionCall (Low Prec) + x = sizeof(BAD_MACRO_OP2(a)); //BUG: ArgumentIsSizeofOrOperation + + x = 0; + x += ALIGN_UP(sizeof(a), PAGESIZE); //BUG: SizeOfConstIntMacro + x += ALIGN_UP_BY(sizeof(a), PAGESIZE); // GOOD + + x = SOME_SIZEOF_MACRO * 3; // GOOD + x = sizeof(SOME_SIZEOF_MACRO) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = sizeof(SOME_SIZEOF_MACRO_CAST) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = SOME_SIZEOF_MACRO2; // GOOD + x = sizeof(SOME_SIZEOF_MACRO2); //BUG: SizeOfConstIntMacro, ArgumentIsSizeofOrOperation + + x = sizeof(a) / sizeof(int); // GOOD + + x = sizeof(UNICODE_NULL1); + + x = sizeof(ASCII_NULL); + + x = sizeof(UNICODE_STRING_SIG); + x = sizeof(ASCII_STRING_SIG); + + x = sizeof(UNICODE_SIG); + + x = sizeof(ACE_CONDITION_SIGNATURE1); // GOOD (special case) + x = sizeof(ACE_CONDITION_SIGNATURE2); // BUG: SizeOfConstIntMacro + + x = sizeof(ACE_CONDITION_SIGNATURE3(xtra)); + + x = sizeof(sizeof(int)); // BUG: ArgumentIsSizeofOrOperation + x = sizeof(3 + 2); // BUg: ArgumentIsSizeofOrOperation +} diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test.cpp b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test.cpp new file mode 100644 index 000000000000..d9622d3c0d94 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test.cpp @@ -0,0 +1,136 @@ +#define PAGESIZE 64 +#define BAD_MACRO_CONST 5l +#define BAD_MACRO_CONST2 0x80005001 +#define BAD_MACRO_OP1(VAR) strlen(#VAR) +#define BAD_MACRO_OP2(VAR) sizeof(VAR)/sizeof(int) + +long strlen(const char* x) { return 5; } + +#define ALIGN_UP_BY(length, sizeofType) length * sizeofType +#define ALIGN_UP(length, type) \ + ALIGN_UP_BY(length, sizeof(type)) + +#define SOME_SIZEOF_MACRO (sizeof(int) * 3) +#define SOME_SIZEOF_MACRO_CAST ((char)(sizeof(int) * 3)) + + +#define SOME_SIZEOF_MACRO2 (sizeof(int)) + +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character + +#define UNICODE_NULL1 ((WCHAR)0) +#define UNICODE_NULL2 ((wchar_t)0) +#define ASCII_NULL ((char)0) + +#define UNICODE_STRING_SIG L"xtra" +#define ASCII_STRING_SIG "xtra" + +#define ASCII_SIG 'x' +#define UNICODE_SIG L'x' + +#define ACE_CONDITION_SIGNATURE1 'xtra' +#define ACE_CONDITION_SIGNATURE2 'xt' + +#define ACE_CONDITION_SIGNATURE3(VAL) #VAL + +#define NULL (void *)0 + +#define EFI_FILEPATH_SEPARATOR_UNICODE L'\\' +#define EFI_FILEPATH_SEPARATOR_ASCII '\\' + +const char* Test() +{ + return "foobar"; +} + +#define FUNCTION_MACRO_OP1 Test() + +#define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d + + +char _RTL_CONSTANT_STRING_type_check(const void* s) { + return ((char*)(s))[0]; +} + +#define RTL_CONSTANT_STRING(s) \ +{ \ + sizeof( s ) - sizeof( (s)[0] ); \ + sizeof( s ) / sizeof(_RTL_CONSTANT_STRING_type_check(s)); \ +} + +typedef struct { + int a; + bool b; +} SOMESTRUCT_THAT_MATTERS; + +void Test01() { + + RTL_CONSTANT_STRING("hello"); + + sizeof(NULL); + sizeof(EFI_FILEPATH_SEPARATOR_UNICODE); + sizeof(EFI_FILEPATH_SEPARATOR_ASCII); + + int y = sizeof(SOMESTRUCT_THAT_MATTERS); + y = sizeof(SOMESTRUCT_ERRNO_THAT_MATTERS); // BUG: SizeOfConstIntMacro + + const wchar_t* p = UNICODE_STRING_SIG; + const char* p2 = ASCII_STRING_SIG; + char p3 = 'xtra'; + wchar_t p4 = L'xtra'; + + int a[10]; + int x = sizeof(BAD_MACRO_CONST); //BUG: SizeOfConstIntMacro + x = sizeof(BAD_MACRO_CONST2); //BUG: SizeOfConstIntMacro + + x = sizeof(FUNCTION_MACRO_OP1); // GOOD + + x = sizeof(BAD_MACRO_OP1(a)); //BUG: ArgumentIsFunctionCall (Low Prec) + x = sizeof(BAD_MACRO_OP2(a)); //BUG: ArgumentIsSizeofOrOperation + + x = 0; + x += ALIGN_UP(sizeof(a), PAGESIZE); //BUG: SizeOfConstIntMacro + x += ALIGN_UP_BY(sizeof(a), PAGESIZE); // GOOD + + x = SOME_SIZEOF_MACRO * 3; // GOOD + x = sizeof(SOME_SIZEOF_MACRO) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = sizeof(SOME_SIZEOF_MACRO_CAST) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = SOME_SIZEOF_MACRO2; // GOOD + x = sizeof(SOME_SIZEOF_MACRO2); //BUG: SizeOfConstIntMacro, ArgumentIsSizeofOrOperation + + x = sizeof(a) / sizeof(int); // GOOD + + x = sizeof(UNICODE_NULL1); + x = sizeof(UNICODE_NULL2); + x = sizeof(ASCII_NULL); + + x = sizeof(UNICODE_STRING_SIG); + x = sizeof(ASCII_STRING_SIG); + + x = sizeof(ASCII_SIG); + x = sizeof(UNICODE_SIG); + + x = sizeof(ACE_CONDITION_SIGNATURE1); // GOOD (special case) + x = sizeof(ACE_CONDITION_SIGNATURE2); // BUG: SizeOfConstIntMacro + + x = sizeof(ACE_CONDITION_SIGNATURE3(xtra)); + + x = sizeof(sizeof(int)); // BUG: ArgumentIsSizeofOrOperation + x = sizeof(3 + 2); // BUg: ArgumentIsSizeofOrOperation +} + +#define WNULL (L'\0') +#define WNULL_SIZE (sizeof(WNULL)) + +#define RKF_PATH_UTIL_STREAM_MARKER ( L':' ) + +#define _T(x) L ## x + +void test02_FalsePositives() +{ + int x = WNULL_SIZE; + x = sizeof(RKF_PATH_UTIL_STREAM_MARKER); + sizeof(_T('\0')); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test2.c b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test2.c new file mode 100644 index 000000000000..b11d0b552053 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test2.c @@ -0,0 +1,118 @@ +#define PAGESIZE 64 +#define BAD_MACRO_CONST 5l +#define BAD_MACRO_CONST2 0x80005001 +#define BAD_MACRO_OP1(VAR) strlen(#VAR) +#define BAD_MACRO_OP2(VAR) sizeof(VAR)/sizeof(int) + +long strlen(const char* x) { return 5; } + +#define ALIGN_UP_BY(length, sizeofType) length * sizeofType +#define ALIGN_UP(length, type) \ + ALIGN_UP_BY(length, sizeof(type)) + +#define SOME_SIZEOF_MACRO (sizeof(int) * 3) +#define SOME_SIZEOF_MACRO_CAST ((char)(sizeof(int) * 3)) + + +#define SOME_SIZEOF_MACRO2 (sizeof(int)) + +typedef unsigned short WCHAR; // wc, 16-bit UNICODE character + +#define UNICODE_NULL1 ((WCHAR)0) + +#define ASCII_NULL ((char)0) + +#define UNICODE_STRING_SIG L"xtra" +#define ASCII_STRING_SIG "xtra" + +#define UNICODE_SIG L'x' + +#define ACE_CONDITION_SIGNATURE1 'xtra' +#define ACE_CONDITION_SIGNATURE2 'xt' + +#define ACE_CONDITION_SIGNATURE3(VAL) #VAL + +#define NULL (void *)0 + +#define EFI_FILEPATH_SEPARATOR_UNICODE L'\\' + +const char* Test() +{ + return "foobar"; +} + +#define FUNCTION_MACRO_OP1 Test() + +#define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d + + +char _RTL_CONSTANT_STRING_type_check(const void* s) { + return ((char*)(s))[0]; +} + +#define RTL_CONSTANT_STRING(s) \ +{ \ + sizeof( s ) - sizeof( (s)[0] ); \ + sizeof( s ) / sizeof(_RTL_CONSTANT_STRING_type_check(s)); \ +} + +typedef struct { + int a; + char b; +} SOMESTRUCT_THAT_MATTERS; + +void Test01() { + + RTL_CONSTANT_STRING("hello"); + + sizeof(NULL); + sizeof(EFI_FILEPATH_SEPARATOR_UNICODE); + + int y = sizeof(SOMESTRUCT_THAT_MATTERS); + y = sizeof(SOMESTRUCT_ERRNO_THAT_MATTERS); // BUG: SizeOfConstIntMacro + + const unsigned short* p = UNICODE_STRING_SIG; + const char* p2 = ASCII_STRING_SIG; + char p3 = 'xtra'; + unsigned short p4 = L'xtra'; + + int a[10]; + int x = sizeof(BAD_MACRO_CONST); //BUG: SizeOfConstIntMacro + x = sizeof(BAD_MACRO_CONST2); //BUG: SizeOfConstIntMacro + + x = sizeof(FUNCTION_MACRO_OP1); // GOOD + + x = sizeof(BAD_MACRO_OP1(a)); //BUG: ArgumentIsFunctionCall (Low Prec) + x = sizeof(BAD_MACRO_OP2(a)); //BUG: ArgumentIsSizeofOrOperation + + x = 0; + x += ALIGN_UP(sizeof(a), PAGESIZE); //BUG: SizeOfConstIntMacro + x += ALIGN_UP_BY(sizeof(a), PAGESIZE); // GOOD + + x = SOME_SIZEOF_MACRO * 3; // GOOD + x = sizeof(SOME_SIZEOF_MACRO) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = sizeof(SOME_SIZEOF_MACRO_CAST) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = SOME_SIZEOF_MACRO2; // GOOD + x = sizeof(SOME_SIZEOF_MACRO2); //BUG: SizeOfConstIntMacro, ArgumentIsSizeofOrOperation + + x = sizeof(a) / sizeof(int); // GOOD + + x = sizeof(UNICODE_NULL1); + + x = sizeof(ASCII_NULL); + + x = sizeof(UNICODE_STRING_SIG); + x = sizeof(ASCII_STRING_SIG); + + x = sizeof(UNICODE_SIG); + + x = sizeof(ACE_CONDITION_SIGNATURE1); // GOOD (special case) + x = sizeof(ACE_CONDITION_SIGNATURE2); // BUG: SizeOfConstIntMacro + + x = sizeof(ACE_CONDITION_SIGNATURE3(xtra)); + + x = sizeof(sizeof(int)); // BUG: ArgumentIsSizeofOrOperation + x = sizeof(3 + 2); // BUg: ArgumentIsSizeofOrOperation +} diff --git a/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test2.cpp b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test2.cpp new file mode 100644 index 000000000000..d9622d3c0d94 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Likely Bugs/SizeOfMisuse/test2.cpp @@ -0,0 +1,136 @@ +#define PAGESIZE 64 +#define BAD_MACRO_CONST 5l +#define BAD_MACRO_CONST2 0x80005001 +#define BAD_MACRO_OP1(VAR) strlen(#VAR) +#define BAD_MACRO_OP2(VAR) sizeof(VAR)/sizeof(int) + +long strlen(const char* x) { return 5; } + +#define ALIGN_UP_BY(length, sizeofType) length * sizeofType +#define ALIGN_UP(length, type) \ + ALIGN_UP_BY(length, sizeof(type)) + +#define SOME_SIZEOF_MACRO (sizeof(int) * 3) +#define SOME_SIZEOF_MACRO_CAST ((char)(sizeof(int) * 3)) + + +#define SOME_SIZEOF_MACRO2 (sizeof(int)) + +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character + +#define UNICODE_NULL1 ((WCHAR)0) +#define UNICODE_NULL2 ((wchar_t)0) +#define ASCII_NULL ((char)0) + +#define UNICODE_STRING_SIG L"xtra" +#define ASCII_STRING_SIG "xtra" + +#define ASCII_SIG 'x' +#define UNICODE_SIG L'x' + +#define ACE_CONDITION_SIGNATURE1 'xtra' +#define ACE_CONDITION_SIGNATURE2 'xt' + +#define ACE_CONDITION_SIGNATURE3(VAL) #VAL + +#define NULL (void *)0 + +#define EFI_FILEPATH_SEPARATOR_UNICODE L'\\' +#define EFI_FILEPATH_SEPARATOR_ASCII '\\' + +const char* Test() +{ + return "foobar"; +} + +#define FUNCTION_MACRO_OP1 Test() + +#define SOMESTRUCT_ERRNO_THAT_MATTERS 0x8000000d + + +char _RTL_CONSTANT_STRING_type_check(const void* s) { + return ((char*)(s))[0]; +} + +#define RTL_CONSTANT_STRING(s) \ +{ \ + sizeof( s ) - sizeof( (s)[0] ); \ + sizeof( s ) / sizeof(_RTL_CONSTANT_STRING_type_check(s)); \ +} + +typedef struct { + int a; + bool b; +} SOMESTRUCT_THAT_MATTERS; + +void Test01() { + + RTL_CONSTANT_STRING("hello"); + + sizeof(NULL); + sizeof(EFI_FILEPATH_SEPARATOR_UNICODE); + sizeof(EFI_FILEPATH_SEPARATOR_ASCII); + + int y = sizeof(SOMESTRUCT_THAT_MATTERS); + y = sizeof(SOMESTRUCT_ERRNO_THAT_MATTERS); // BUG: SizeOfConstIntMacro + + const wchar_t* p = UNICODE_STRING_SIG; + const char* p2 = ASCII_STRING_SIG; + char p3 = 'xtra'; + wchar_t p4 = L'xtra'; + + int a[10]; + int x = sizeof(BAD_MACRO_CONST); //BUG: SizeOfConstIntMacro + x = sizeof(BAD_MACRO_CONST2); //BUG: SizeOfConstIntMacro + + x = sizeof(FUNCTION_MACRO_OP1); // GOOD + + x = sizeof(BAD_MACRO_OP1(a)); //BUG: ArgumentIsFunctionCall (Low Prec) + x = sizeof(BAD_MACRO_OP2(a)); //BUG: ArgumentIsSizeofOrOperation + + x = 0; + x += ALIGN_UP(sizeof(a), PAGESIZE); //BUG: SizeOfConstIntMacro + x += ALIGN_UP_BY(sizeof(a), PAGESIZE); // GOOD + + x = SOME_SIZEOF_MACRO * 3; // GOOD + x = sizeof(SOME_SIZEOF_MACRO) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = sizeof(SOME_SIZEOF_MACRO_CAST) * 3; //BUG: ArgumentIsSizeofOrOperation + + x = SOME_SIZEOF_MACRO2; // GOOD + x = sizeof(SOME_SIZEOF_MACRO2); //BUG: SizeOfConstIntMacro, ArgumentIsSizeofOrOperation + + x = sizeof(a) / sizeof(int); // GOOD + + x = sizeof(UNICODE_NULL1); + x = sizeof(UNICODE_NULL2); + x = sizeof(ASCII_NULL); + + x = sizeof(UNICODE_STRING_SIG); + x = sizeof(ASCII_STRING_SIG); + + x = sizeof(ASCII_SIG); + x = sizeof(UNICODE_SIG); + + x = sizeof(ACE_CONDITION_SIGNATURE1); // GOOD (special case) + x = sizeof(ACE_CONDITION_SIGNATURE2); // BUG: SizeOfConstIntMacro + + x = sizeof(ACE_CONDITION_SIGNATURE3(xtra)); + + x = sizeof(sizeof(int)); // BUG: ArgumentIsSizeofOrOperation + x = sizeof(3 + 2); // BUg: ArgumentIsSizeofOrOperation +} + +#define WNULL (L'\0') +#define WNULL_SIZE (sizeof(WNULL)) + +#define RKF_PATH_UTIL_STREAM_MARKER ( L':' ) + +#define _T(x) L ## x + +void test02_FalsePositives() +{ + int x = WNULL_SIZE; + x = sizeof(RKF_PATH_UTIL_STREAM_MARKER); + sizeof(_T('\0')); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/Test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/Test.cpp new file mode 100644 index 000000000000..01c4a8b7e800 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/Test.cpp @@ -0,0 +1,205 @@ +#define CONST const + +typedef unsigned long DWORD; +typedef int BOOL; +typedef unsigned char BYTE; +typedef unsigned long ULONG_PTR; +typedef unsigned long *PULONG_PTR; +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character +typedef void *PVOID; +typedef CONST WCHAR *LPCWSTR, *PCWSTR; +typedef PVOID BCRYPT_ALG_HANDLE; +typedef long LONG; +typedef unsigned long ULONG; +typedef ULONG *PULONG; +typedef LONG NTSTATUS; +typedef ULONG_PTR HCRYPTHASH; +typedef ULONG_PTR HCRYPTPROV; +typedef ULONG_PTR HCRYPTKEY; +typedef ULONG_PTR HCRYPTHASH; +typedef unsigned int ALG_ID; + +// algorithm identifier definitions +#define ALG_CLASS_DATA_ENCRYPT (3 << 13) +#define ALG_TYPE_ANY (0) +#define ALG_TYPE_BLOCK (3 << 9) +#define ALG_TYPE_STREAM (4 << 9) +#define ALG_TYPE_THIRDPARTY (8 << 9) +#define ALG_SID_THIRDPARTY_ANY (0) + +#define ALG_SID_DES 1 +#define ALG_SID_3DES 3 +#define ALG_SID_DESX 4 +#define ALG_SID_IDEA 5 +#define ALG_SID_CAST 6 +#define ALG_SID_SAFERSK64 7 +#define ALG_SID_SAFERSK128 8 +#define ALG_SID_3DES_112 9 +#define ALG_SID_CYLINK_MEK 12 +#define ALG_SID_RC5 13 +#define ALG_SID_AES_128 14 +#define ALG_SID_AES_192 15 +#define ALG_SID_AES_256 16 +#define ALG_SID_AES 17 +// Fortezza sub-ids +#define ALG_SID_SKIPJACK 10 +#define ALG_SID_TEK 11 +// RC2 sub-ids +#define ALG_SID_RC2 2 +// Stream cipher sub-ids +#define ALG_SID_RC4 1 +#define ALG_SID_SEAL 2 + +// CAPI encryption algorithm definitions +#define CALG_DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES) +#define CALG_3DES_112 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_3DES_112) +#define CALG_3DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_3DES) +#define CALG_DESX (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DESX) +#define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2) +#define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4) +#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL) +#define CALG_SKIPJACK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_SKIPJACK) +#define CALG_TEK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_TEK) +#define CALG_CYLINK_MEK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_CYLINK_MEK) // Deprecated. Do not use +#define CALG_RC5 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC5) +#define CALG_AES_128 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_128) +#define CALG_AES_192 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_192) +#define CALG_AES_256 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_256) +#define CALG_AES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES) +#define CALG_THIRDPARTY_CIPHER (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_THIRDPARTY | ALG_SID_THIRDPARTY_ANY) + + +#define BCRYPT_RC2_ALGORITHM L"RC2" +#define BCRYPT_RC4_ALGORITHM L"RC4" +#define BCRYPT_AES_ALGORITHM L"AES" +#define BCRYPT_DES_ALGORITHM L"DES" +#define BCRYPT_DESX_ALGORITHM L"DESX" +#define BCRYPT_3DES_ALGORITHM L"3DES" +#define BCRYPT_3DES_112_ALGORITHM L"3DES_112" +#define BCRYPT_AES_GMAC_ALGORITHM L"AES-GMAC" +#define BCRYPT_AES_CMAC_ALGORITHM L"AES-CMAC" +#define BCRYPT_XTS_AES_ALGORITHM L"XTS-AES" + +BOOL +CryptGenKey( + HCRYPTPROV hProv, + ALG_ID Algid, + DWORD dwFlags, + HCRYPTKEY *phKey) +{ + return 0; +} + +BOOL +CryptDeriveKey( + HCRYPTPROV hProv, + ALG_ID Algid, + HCRYPTHASH hBaseData, + DWORD dwFlags, + HCRYPTKEY *phKey) +{ + return 0; +} + +void +DummyFunction( + LPCWSTR pszAlgId, + ALG_ID Algid) +{} + +NTSTATUS +BCryptOpenAlgorithmProvider( + BCRYPT_ALG_HANDLE *phAlgorithm, + LPCWSTR pszAlgId, + LPCWSTR pszImplementation, + ULONG dwFlags) +{ + return 0; +} + +// Macro testing +#define MACRO_INVOCATION_CRYPTGENKEY CryptGenKey(0, CALG_RC4, 0, 0); +#define MACRO_INVOCATION_CRYPTDERIVEKEY CryptDeriveKey(0, CALG_CYLINK_MEK, 0, 0, 0); +#define MACRO_INVOCATION_CNG BCryptOpenAlgorithmProvider(0, BCRYPT_3DES_112_ALGORITHM, 0, 0); + +int main() +{ + //////////////////////////// + // CAPI Test section + // Should fire an event + CryptGenKey(0, CALG_DES, 0, 0); + CryptGenKey(0, CALG_3DES_112, 0, 0); + CryptGenKey(0, CALG_3DES, 0, 0); + CryptGenKey(0, CALG_DESX, 0, 0); + CryptGenKey(0, CALG_RC2, 0, 0); + CryptGenKey(0, CALG_RC4, 0, 0); + CryptGenKey(0, CALG_SEAL, 0, 0); + CryptGenKey(0, CALG_SKIPJACK, 0, 0); + CryptGenKey(0, CALG_TEK, 0, 0); + CryptGenKey(0, CALG_CYLINK_MEK, 0, 0); + CryptGenKey(0, CALG_RC5, 0, 0); + CryptGenKey(0, CALG_THIRDPARTY_CIPHER, 0, 0); + CryptGenKey(0, ALG_CLASS_DATA_ENCRYPT, 0, 0); + CryptGenKey(0, ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK, 0, 0); + CryptGenKey(0, ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM, 0, 0); + // Verifying that all stream ciphers are flagged + CryptGenKey(0, ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_AES, 0, 0); + // Verifying that invocations through a macro are flagged + MACRO_INVOCATION_CRYPTGENKEY + // Numeric representation + CryptGenKey(0, 0x6609, 0, 0); + + CryptDeriveKey(0, CALG_DES, 0, 0, 0); + CryptDeriveKey(0, CALG_3DES_112, 0, 0, 0); + CryptDeriveKey(0, CALG_3DES, 0, 0, 0); + CryptDeriveKey(0, CALG_DESX, 0, 0, 0); + CryptDeriveKey(0, CALG_RC2, 0, 0, 0); + CryptDeriveKey(0, CALG_RC4, 0, 0, 0); + CryptDeriveKey(0, CALG_SEAL, 0, 0, 0); + CryptDeriveKey(0, CALG_SKIPJACK, 0, 0, 0); + CryptDeriveKey(0, CALG_TEK, 0, 0, 0); + CryptDeriveKey(0, CALG_CYLINK_MEK, 0, 0, 0); + CryptDeriveKey(0, CALG_RC5, 0, 0, 0); + CryptDeriveKey(0, CALG_THIRDPARTY_CIPHER, 0, 0, 0); + CryptDeriveKey(0, ALG_CLASS_DATA_ENCRYPT, 0, 0, 0); + CryptDeriveKey(0, ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK, 0, 0, 0); + CryptDeriveKey(0, ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM, 0, 0, 0); + // Verifying that all stream ciphers are flagged + CryptDeriveKey(0, ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_AES, 0, 0, 0); + // Verifying that invocations through a macro are flagged + MACRO_INVOCATION_CRYPTDERIVEKEY + // Numeric representation + CryptDeriveKey(0, 0x6609, 0, 0, 0); + + // Should not fire an event + CryptGenKey(0, CALG_AES_128, 0, 0); + CryptGenKey(0, CALG_AES_192, 0, 0); + CryptGenKey(0, CALG_AES_256, 0, 0); + CryptGenKey(0, CALG_AES, 0, 0); + CryptDeriveKey(0, CALG_AES_128, 0, 0, 0); + CryptDeriveKey(0, CALG_AES_192, 0, 0, 0); + CryptDeriveKey(0, CALG_AES_256, 0, 0, 0); + CryptDeriveKey(0, CALG_AES, 0, 0, 0); + if (CALG_RC5 > 0) + { + DummyFunction(0, CALG_SKIPJACK); + } + + ///////////////////////////// + // CNG Test section + // Should fire an event + BCryptOpenAlgorithmProvider(0, BCRYPT_RC2_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_RC4_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_DES_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_DESX_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_3DES_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_3DES_112_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_AES_GMAC_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_AES_CMAC_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, L"3DES", 0, 0); + MACRO_INVOCATION_CNG + + // Should not fire an event + BCryptOpenAlgorithmProvider(0, BCRYPT_AES_ALGORITHM, 0, 0); + BCryptOpenAlgorithmProvider(0, BCRYPT_XTS_AES_ALGORITHM, 0, 0); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/WeakEncryption.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/WeakEncryption.expected new file mode 100644 index 000000000000..bb9b8c65c83c --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/WeakEncryption.expected @@ -0,0 +1,46 @@ +| Test.cpp:130:17:130:24 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_DES | Test.cpp:130:17:130:24 | ... \| ... | ... \| ... | +| Test.cpp:131:17:131:29 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_3DES_112 | Test.cpp:131:17:131:29 | ... \| ... | ... \| ... | +| Test.cpp:132:17:132:25 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_3DES | Test.cpp:132:17:132:25 | ... \| ... | ... \| ... | +| Test.cpp:133:17:133:25 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_DESX | Test.cpp:133:17:133:25 | ... \| ... | ... \| ... | +| Test.cpp:134:17:134:24 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_RC2 | Test.cpp:134:17:134:24 | ... \| ... | ... \| ... | +| Test.cpp:135:17:135:24 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_RC4 | Test.cpp:135:17:135:24 | ... \| ... | ... \| ... | +| Test.cpp:136:17:136:25 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_SEAL | Test.cpp:136:17:136:25 | ... \| ... | ... \| ... | +| Test.cpp:137:17:137:29 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_SKIPJACK | Test.cpp:137:17:137:29 | ... \| ... | ... \| ... | +| Test.cpp:138:17:138:24 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_TEK | Test.cpp:138:17:138:24 | ... \| ... | ... \| ... | +| Test.cpp:139:17:139:31 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_CYLINK_MEK | Test.cpp:139:17:139:31 | ... \| ... | ... \| ... | +| Test.cpp:140:17:140:24 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_RC5 | Test.cpp:140:17:140:24 | ... \| ... | ... \| ... | +| Test.cpp:141:17:141:38 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_THIRDPARTY_CIPHER | Test.cpp:141:17:141:38 | ... \| ... | ... \| ... | +| Test.cpp:142:17:142:38 | ... << ... | Call to a cryptographic function with a banned symmetric encryption algorithm: ALG_CLASS_DATA_ENCRYPT | Test.cpp:142:17:142:38 | ... << ... | ... << ... | +| Test.cpp:143:17:143:55 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26112 | Test.cpp:143:17:143:55 | ... \| ... | ... \| ... | +| Test.cpp:144:17:144:56 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26624 | Test.cpp:144:17:144:56 | ... \| ... | ... \| ... | +| Test.cpp:146:17:146:70 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26641 | Test.cpp:146:17:146:70 | ... \| ... | ... \| ... | +| Test.cpp:148:2:148:29 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26625 | Test.cpp:148:2:148:29 | ... \| ... | ... \| ... | +| Test.cpp:150:17:150:22 | 26121 | Call to a cryptographic function with a banned symmetric encryption algorithm: 0x6609 | Test.cpp:150:17:150:22 | 26121 | 26121 | +| Test.cpp:152:20:152:27 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_DES | Test.cpp:152:20:152:27 | ... \| ... | ... \| ... | +| Test.cpp:153:20:153:32 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_3DES_112 | Test.cpp:153:20:153:32 | ... \| ... | ... \| ... | +| Test.cpp:154:20:154:28 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_3DES | Test.cpp:154:20:154:28 | ... \| ... | ... \| ... | +| Test.cpp:155:20:155:28 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_DESX | Test.cpp:155:20:155:28 | ... \| ... | ... \| ... | +| Test.cpp:156:20:156:27 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_RC2 | Test.cpp:156:20:156:27 | ... \| ... | ... \| ... | +| Test.cpp:157:20:157:27 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_RC4 | Test.cpp:157:20:157:27 | ... \| ... | ... \| ... | +| Test.cpp:158:20:158:28 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_SEAL | Test.cpp:158:20:158:28 | ... \| ... | ... \| ... | +| Test.cpp:159:20:159:32 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_SKIPJACK | Test.cpp:159:20:159:32 | ... \| ... | ... \| ... | +| Test.cpp:160:20:160:27 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_TEK | Test.cpp:160:20:160:27 | ... \| ... | ... \| ... | +| Test.cpp:161:20:161:34 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_CYLINK_MEK | Test.cpp:161:20:161:34 | ... \| ... | ... \| ... | +| Test.cpp:162:20:162:27 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_RC5 | Test.cpp:162:20:162:27 | ... \| ... | ... \| ... | +| Test.cpp:163:20:163:41 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: CALG_THIRDPARTY_CIPHER | Test.cpp:163:20:163:41 | ... \| ... | ... \| ... | +| Test.cpp:164:20:164:41 | ... << ... | Call to a cryptographic function with a banned symmetric encryption algorithm: ALG_CLASS_DATA_ENCRYPT | Test.cpp:164:20:164:41 | ... << ... | ... << ... | +| Test.cpp:165:20:165:58 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26112 | Test.cpp:165:20:165:58 | ... \| ... | ... \| ... | +| Test.cpp:166:20:166:59 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26624 | Test.cpp:166:20:166:59 | ... \| ... | ... \| ... | +| Test.cpp:168:20:168:73 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26641 | Test.cpp:168:20:168:73 | ... \| ... | ... \| ... | +| Test.cpp:170:2:170:32 | ... \| ... | Call to a cryptographic function with a banned symmetric encryption algorithm: 26124 | Test.cpp:170:2:170:32 | ... \| ... | ... \| ... | +| Test.cpp:172:20:172:25 | 26121 | Call to a cryptographic function with a banned symmetric encryption algorithm: 0x6609 | Test.cpp:172:20:172:25 | 26121 | 26121 | +| Test.cpp:191:33:191:52 | RC2 | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_RC2_ALGORITHM | Test.cpp:191:33:191:52 | RC2 | RC2 | +| Test.cpp:192:33:192:52 | RC4 | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_RC4_ALGORITHM | Test.cpp:192:33:192:52 | RC4 | RC4 | +| Test.cpp:193:33:193:52 | DES | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_DES_ALGORITHM | Test.cpp:193:33:193:52 | DES | DES | +| Test.cpp:194:33:194:53 | DESX | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_DESX_ALGORITHM | Test.cpp:194:33:194:53 | DESX | DESX | +| Test.cpp:195:33:195:53 | 3DES | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_3DES_ALGORITHM | Test.cpp:195:33:195:53 | 3DES | 3DES | +| Test.cpp:196:33:196:57 | 3DES_112 | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_3DES_112_ALGORITHM | Test.cpp:196:33:196:57 | 3DES_112 | 3DES_112 | +| Test.cpp:197:33:197:57 | AES-GMAC | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_AES_GMAC_ALGORITHM | Test.cpp:197:33:197:57 | AES-GMAC | AES-GMAC | +| Test.cpp:198:33:198:57 | AES-CMAC | Call to a cryptographic function with a banned symmetric encryption algorithm: BCRYPT_AES_CMAC_ALGORITHM | Test.cpp:198:33:198:57 | AES-CMAC | AES-CMAC | +| Test.cpp:199:33:199:39 | 3DES | Call to a cryptographic function with a banned symmetric encryption algorithm: L"3DES" | Test.cpp:199:33:199:39 | 3DES | 3DES | +| Test.cpp:200:2:200:21 | 3DES_112 | Call to a cryptographic function with a banned symmetric encryption algorithm: 3DES_112 | Test.cpp:200:2:200:21 | 3DES_112 | 3DES_112 | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/WeakEncryption.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/WeakEncryption.qlref new file mode 100644 index 000000000000..cfdff69c3171 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/CapiAndCng/WeakEncryption.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/BannedEncryption.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/Test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/Test.cpp new file mode 100644 index 000000000000..f4c58d6b9ea9 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/Test.cpp @@ -0,0 +1,191 @@ +#include "./openssl/other.h" + +// Other RC4 +void RC4() +{ + int myRc4 = 0; +} + +void* malloc(int size); + +#define MACRO_RC4 RC4(0, 0, 0, 0); +#define NULL 0 + +void func_calls() +{ + // Should not be flagged + AES_encrypt(0, 0, 0); + AES_cbc_encrypt(0, 0, 0, 0, 0, 0); + + // OK Encryption but bad mode + AES_ecb_encrypt(0, 0, 0, 0); + AES_cfb128_encrypt(0, 0, 0, 0, 0, 0, 0); + AES_cfb1_encrypt(0, 0, 0, 0, 0, 0, 0); + AES_cfb8_encrypt(0, 0, 0, 0, 0, 0, 0); + AES_ofb128_encrypt(0, 0, 0, 0, 0, 0); + AES_ige_encrypt(0, 0, 0, 0, 0, 0); + AES_bi_ige_encrypt(0, 0, 0, 0, 0, 0, 0); + + // Everything else should be flagged as bad encryption + MACRO_RC4 + BF_encrypt(0,0); + BF_ecb_encrypt(0,0,0,0); + BF_cbc_encrypt(0, 0, 0, 0, 0, 0); + BF_cfb64_encrypt(0, 0, 0, 0, 0, 0,0); + BF_ofb64_encrypt(0, 0, 0, 0, 0, 0); + Camellia_encrypt(0,0,0); + Camellia_ecb_encrypt(0, 0, 0, 0); + Camellia_cbc_encrypt(0, 0, 0, 0, 0, 0); + Camellia_cfb128_encrypt(0, 0, 0, 0, 0, 0, 0); + Camellia_cfb1_encrypt(0, 0, 0, 0, 0, 0, 0); + Camellia_cfb8_encrypt(0, 0, 0, 0, 0, 0,0); + Camellia_ofb128_encrypt(0, 0, 0, 0, 0, 0); + Camellia_ctr128_encrypt(0, 0, 0, 0, 0, 0,0); + DES_ecb3_encrypt(0,0,0,0,0,0); + DES_cbc_encrypt(0, 0, 0, 0, 0, 0); + DES_ncbc_encrypt(0, 0, 0, 0, 0, 0); + DES_xcbc_encrypt(0, 0, 0, 0, 0, 0,0,0); + DES_cfb_encrypt(0, 0, 0, 0, 0, 0,0); + DES_ecb_encrypt(0, 0, 0, 0); + DES_encrypt1(0, 0, 0); + DES_encrypt2(0, 0, 0); + DES_encrypt3(0, 0, 0,0); + DES_ede3_cbc_encrypt(0, 0, 0, 0, 0, 0, 0,0); + DES_ofb64_encrypt(0,0,0,0,0,0); + IDEA_ecb_encrypt(0,0,0); + IDEA_cbc_encrypt(0,0,0,0,0,0); + IDEA_cfb64_encrypt(0, 0, 0, 0, 0, 0,0); + IDEA_ofb64_encrypt(0, 0, 0, 0, 0, 0); + IDEA_encrypt(0, 0); + RC2_ecb_encrypt(0, 0, 0, 0); + RC2_encrypt(0, 0); + RC2_cbc_encrypt(0, 0, 0, 0, 0, 0); + RC2_cfb64_encrypt(0, 0, 0, 0, 0, 0,0); + RC2_ofb64_encrypt(0, 0, 0, 0, 0, 0); + RC5_32_ecb_encrypt(0, 0, 0, 0); + RC5_32_encrypt(0,0); + RC5_32_cbc_encrypt(0, 0, 0, 0, 0, 0); + RC5_32_cfb64_encrypt(0, 0, 0, 0, 0, 0, 0); + RC5_32_ofb64_encrypt(0, 0, 0, 0, 0, 0); + RC4_set_key(0,0,0); + RC4(0, 0, 0, 0); +} + +void non_func_calls(int argc, char **argv) +{ + // GOOD cases: should not be flagged + { + EVP_CIPHER *cipher = NULL; + ASN1_OBJECT *obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + + cipher = EVP_CIPHER_fetch(NULL, "aes-256-xts", NULL); + cipher = EVP_get_cipherbyname("aes-128-cbc"); + cipher = EVP_get_cipherbynid(423); //NID 423 is aes-192-cbc + obj->nid = 913; // NID 913 is aes-128-xts + cipher = EVP_get_cipherbyobj(obj); + obj = (ASN1_OBJECT*)malloc(sizeof(ASN1_OBJECT)); + obj->sn = "aes-128-cbc-hmac-sha1"; + cipher = EVP_get_cipherbyobj(obj); + + // Indirect flow through transformative functions (i.e., converting the alg format) + int nid = OBJ_obj2nid(obj); + cipher = EVP_get_cipherbynid(nid); + ASN1_OBJECT *obj_cpy = OBJ_dup(obj); + cipher = EVP_get_cipherbyobj(obj_cpy); + char* name = "THIS STRING WILL BE OVERWRITTEN"; + OBJ_obj2txt(name, 0, obj, 0); + cipher = EVP_get_cipherbyname(name); + nid = OBJ_obj2nid(obj_cpy); + name = OBJ_nid2sn(nid); + ASN1_OBJECT *obj2 = OBJ_txt2obj(name, 0); + cipher = EVP_get_cipherbyobj(obj2); + } + + // Bad Cases: UNKNOWN algorithms + { + EVP_CIPHER *cipher = NULL; + ASN1_OBJECT *obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + + cipher = EVP_CIPHER_fetch(NULL, "FOOBAR", NULL); + cipher = EVP_get_cipherbyname("TEST"); + cipher = EVP_get_cipherbynid(2000); + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->nid = 1999; + cipher = EVP_get_cipherbyobj(obj); + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->sn = "Test2"; + cipher = EVP_get_cipherbyobj(obj); + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->sn = argv[0]; // Ignoring the possible overflow + cipher = EVP_get_cipherbyobj(obj); + + cipher = EVP_CIPHER_fetch(NULL, "NULL", NULL); + cipher = EVP_CIPHER_fetch(NULL, "othermailbox", NULL); + + cipher = EVP_get_cipherbynid(0); + + // Indirect flow through transformative functions (i.e., converting the alg format) + // Testing flow with unknown inputs should be sufficient with known bad inputs, + // so only testing with known bad inputs for UNKNOWN for now. + ASN1_OBJECT *obj_cpy = NULL; + ASN1_OBJECT *obj2 = NULL; + obj->nid = 1998; + int nid = OBJ_obj2nid(obj); + cipher = EVP_get_cipherbynid(nid); + obj->nid = 1997; + obj_cpy = OBJ_dup(obj); + cipher = EVP_get_cipherbyobj(obj_cpy); + obj->sn = "NOT AN ALG"; + char* name = "THIS STRING WILL BE OVERWRITTEN"; + OBJ_obj2txt(name, 0, obj, 0); + cipher = EVP_get_cipherbyname(name); + obj->nid = 1996; + obj_cpy = OBJ_dup(obj); + nid = OBJ_obj2nid(obj_cpy); + name = OBJ_nid2sn(nid); + obj2 = OBJ_txt2obj(name, 0); + cipher = EVP_get_cipherbyobj(obj2); + + // Nonsense cases (known algorithms to incorrect sinks) + cipher = EVP_get_cipherbynid(19); // NID 19 is RSA + cipher = EVP_get_cipherbyname("secp160k1"); // An elliptic curve + } + + // Bad Cases: Banned algorithms + { + EVP_CIPHER *cipher = NULL; + ASN1_OBJECT *obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + + // banned symmetric ciphers + cipher = EVP_CIPHER_fetch(NULL, "des-ede3", NULL); + cipher = EVP_get_cipherbyname("des-ede3-cbc"); + cipher = EVP_get_cipherbynid(31); // NID 31 is des-cbc + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->nid = 30; // NID 30 is des-cfb + cipher = EVP_get_cipherbyobj(obj); + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->sn = "camellia256"; + cipher = EVP_get_cipherbyobj(obj); + cipher = EVP_CIPHER_fetch(NULL, "rc4", NULL); + cipher = EVP_get_cipherbyname("rc4-40"); + cipher = EVP_get_cipherbynid(5); // NID 5 is rc4 + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->sn = "desx-cbc"; + cipher = EVP_get_cipherbyobj(obj); + cipher = EVP_CIPHER_fetch(NULL, "bf-cbc", NULL); + cipher = EVP_get_cipherbyname("rc2-64-cbc"); + cipher = EVP_get_cipherbynid(1019); // NID 1019 is chacha20 + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->nid = 813; // NID 813 is gost89 + cipher = EVP_get_cipherbyobj(obj); + obj = (ASN1_OBJECT *)malloc(sizeof(ASN1_OBJECT)); + obj->sn = "sm4-cbc"; + cipher = EVP_get_cipherbyobj(obj); + } +} + +int main(int argc, char **argv) +{ + func_calls(); + non_func_calls(argc, argv); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/WeakEncryption.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/WeakEncryption.expected new file mode 100644 index 000000000000..a9165f715dae --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/WeakEncryption.expected @@ -0,0 +1,57 @@ +| Test.cpp:30:2:30:10 | call to RC4 | Use of banned symmetric encryption algorithm: RC4. | Test.cpp:30:2:30:10 | call to RC4 | call to RC4 | +| Test.cpp:31:2:31:11 | call to BF_encrypt | Use of banned symmetric encryption algorithm: BF. | Test.cpp:31:2:31:11 | call to BF_encrypt | call to BF_encrypt | +| Test.cpp:32:2:32:15 | call to BF_ecb_encrypt | Use of banned symmetric encryption algorithm: BF. | Test.cpp:32:2:32:15 | call to BF_ecb_encrypt | call to BF_ecb_encrypt | +| Test.cpp:33:2:33:15 | call to BF_cbc_encrypt | Use of banned symmetric encryption algorithm: BF. | Test.cpp:33:2:33:15 | call to BF_cbc_encrypt | call to BF_cbc_encrypt | +| Test.cpp:34:2:34:17 | call to BF_cfb64_encrypt | Use of banned symmetric encryption algorithm: BF. | Test.cpp:34:2:34:17 | call to BF_cfb64_encrypt | call to BF_cfb64_encrypt | +| Test.cpp:35:2:35:17 | call to BF_ofb64_encrypt | Use of banned symmetric encryption algorithm: BF. | Test.cpp:35:2:35:17 | call to BF_ofb64_encrypt | call to BF_ofb64_encrypt | +| Test.cpp:36:2:36:17 | call to Camellia_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:36:2:36:17 | call to Camellia_encrypt | call to Camellia_encrypt | +| Test.cpp:37:2:37:21 | call to Camellia_ecb_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:37:2:37:21 | call to Camellia_ecb_encrypt | call to Camellia_ecb_encrypt | +| Test.cpp:38:2:38:21 | call to Camellia_cbc_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:38:2:38:21 | call to Camellia_cbc_encrypt | call to Camellia_cbc_encrypt | +| Test.cpp:39:2:39:24 | call to Camellia_cfb128_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:39:2:39:24 | call to Camellia_cfb128_encrypt | call to Camellia_cfb128_encrypt | +| Test.cpp:40:2:40:22 | call to Camellia_cfb1_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:40:2:40:22 | call to Camellia_cfb1_encrypt | call to Camellia_cfb1_encrypt | +| Test.cpp:41:2:41:22 | call to Camellia_cfb8_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:41:2:41:22 | call to Camellia_cfb8_encrypt | call to Camellia_cfb8_encrypt | +| Test.cpp:42:2:42:24 | call to Camellia_ofb128_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:42:2:42:24 | call to Camellia_ofb128_encrypt | call to Camellia_ofb128_encrypt | +| Test.cpp:43:2:43:24 | call to Camellia_ctr128_encrypt | Use of banned symmetric encryption algorithm: CAMELLIA. | Test.cpp:43:2:43:24 | call to Camellia_ctr128_encrypt | call to Camellia_ctr128_encrypt | +| Test.cpp:44:2:44:17 | call to DES_ecb3_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:44:2:44:17 | call to DES_ecb3_encrypt | call to DES_ecb3_encrypt | +| Test.cpp:45:2:45:16 | call to DES_cbc_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:45:2:45:16 | call to DES_cbc_encrypt | call to DES_cbc_encrypt | +| Test.cpp:46:2:46:17 | call to DES_ncbc_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:46:2:46:17 | call to DES_ncbc_encrypt | call to DES_ncbc_encrypt | +| Test.cpp:47:2:47:17 | call to DES_xcbc_encrypt | Use of banned symmetric encryption algorithm: DESX. | Test.cpp:47:2:47:17 | call to DES_xcbc_encrypt | call to DES_xcbc_encrypt | +| Test.cpp:48:2:48:16 | call to DES_cfb_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:48:2:48:16 | call to DES_cfb_encrypt | call to DES_cfb_encrypt | +| Test.cpp:49:2:49:16 | call to DES_ecb_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:49:2:49:16 | call to DES_ecb_encrypt | call to DES_ecb_encrypt | +| Test.cpp:50:2:50:13 | call to DES_encrypt1 | Use of banned symmetric encryption algorithm: DES. | Test.cpp:50:2:50:13 | call to DES_encrypt1 | call to DES_encrypt1 | +| Test.cpp:51:2:51:13 | call to DES_encrypt2 | Use of banned symmetric encryption algorithm: DES. | Test.cpp:51:2:51:13 | call to DES_encrypt2 | call to DES_encrypt2 | +| Test.cpp:52:2:52:13 | call to DES_encrypt3 | Use of banned symmetric encryption algorithm: DES. | Test.cpp:52:2:52:13 | call to DES_encrypt3 | call to DES_encrypt3 | +| Test.cpp:53:2:53:21 | call to DES_ede3_cbc_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:53:2:53:21 | call to DES_ede3_cbc_encrypt | call to DES_ede3_cbc_encrypt | +| Test.cpp:54:2:54:18 | call to DES_ofb64_encrypt | Use of banned symmetric encryption algorithm: DES. | Test.cpp:54:2:54:18 | call to DES_ofb64_encrypt | call to DES_ofb64_encrypt | +| Test.cpp:55:2:55:17 | call to IDEA_ecb_encrypt | Use of banned symmetric encryption algorithm: IDEA. | Test.cpp:55:2:55:17 | call to IDEA_ecb_encrypt | call to IDEA_ecb_encrypt | +| Test.cpp:56:2:56:17 | call to IDEA_cbc_encrypt | Use of banned symmetric encryption algorithm: IDEA. | Test.cpp:56:2:56:17 | call to IDEA_cbc_encrypt | call to IDEA_cbc_encrypt | +| Test.cpp:57:2:57:19 | call to IDEA_cfb64_encrypt | Use of banned symmetric encryption algorithm: IDEA. | Test.cpp:57:2:57:19 | call to IDEA_cfb64_encrypt | call to IDEA_cfb64_encrypt | +| Test.cpp:58:2:58:19 | call to IDEA_ofb64_encrypt | Use of banned symmetric encryption algorithm: IDEA. | Test.cpp:58:2:58:19 | call to IDEA_ofb64_encrypt | call to IDEA_ofb64_encrypt | +| Test.cpp:59:2:59:13 | call to IDEA_encrypt | Use of banned symmetric encryption algorithm: IDEA. | Test.cpp:59:2:59:13 | call to IDEA_encrypt | call to IDEA_encrypt | +| Test.cpp:60:2:60:16 | call to RC2_ecb_encrypt | Use of banned symmetric encryption algorithm: RC2. | Test.cpp:60:2:60:16 | call to RC2_ecb_encrypt | call to RC2_ecb_encrypt | +| Test.cpp:61:2:61:12 | call to RC2_encrypt | Use of banned symmetric encryption algorithm: RC2. | Test.cpp:61:2:61:12 | call to RC2_encrypt | call to RC2_encrypt | +| Test.cpp:62:2:62:16 | call to RC2_cbc_encrypt | Use of banned symmetric encryption algorithm: RC2. | Test.cpp:62:2:62:16 | call to RC2_cbc_encrypt | call to RC2_cbc_encrypt | +| Test.cpp:63:2:63:18 | call to RC2_cfb64_encrypt | Use of banned symmetric encryption algorithm: RC2. | Test.cpp:63:2:63:18 | call to RC2_cfb64_encrypt | call to RC2_cfb64_encrypt | +| Test.cpp:64:2:64:18 | call to RC2_ofb64_encrypt | Use of banned symmetric encryption algorithm: RC2. | Test.cpp:64:2:64:18 | call to RC2_ofb64_encrypt | call to RC2_ofb64_encrypt | +| Test.cpp:65:2:65:19 | call to RC5_32_ecb_encrypt | Use of banned symmetric encryption algorithm: RC5. | Test.cpp:65:2:65:19 | call to RC5_32_ecb_encrypt | call to RC5_32_ecb_encrypt | +| Test.cpp:66:2:66:15 | call to RC5_32_encrypt | Use of banned symmetric encryption algorithm: RC5. | Test.cpp:66:2:66:15 | call to RC5_32_encrypt | call to RC5_32_encrypt | +| Test.cpp:67:2:67:19 | call to RC5_32_cbc_encrypt | Use of banned symmetric encryption algorithm: RC5. | Test.cpp:67:2:67:19 | call to RC5_32_cbc_encrypt | call to RC5_32_cbc_encrypt | +| Test.cpp:68:2:68:21 | call to RC5_32_cfb64_encrypt | Use of banned symmetric encryption algorithm: RC5. | Test.cpp:68:2:68:21 | call to RC5_32_cfb64_encrypt | call to RC5_32_cfb64_encrypt | +| Test.cpp:69:2:69:21 | call to RC5_32_ofb64_encrypt | Use of banned symmetric encryption algorithm: RC5. | Test.cpp:69:2:69:21 | call to RC5_32_ofb64_encrypt | call to RC5_32_ofb64_encrypt | +| Test.cpp:70:2:70:12 | call to RC4_set_key | Use of banned symmetric encryption algorithm: RC4. | Test.cpp:70:2:70:12 | call to RC4_set_key | call to RC4_set_key | +| Test.cpp:71:2:71:4 | call to RC4 | Use of banned symmetric encryption algorithm: RC4. | Test.cpp:71:2:71:4 | call to RC4 | call to RC4 | +| Test.cpp:160:35:160:44 | des-ede3 | Use of banned symmetric encryption algorithm: DES. | Test.cpp:160:35:160:44 | des-ede3 | des-ede3 | +| Test.cpp:161:33:161:46 | des-ede3-cbc | Use of banned symmetric encryption algorithm: DES. | Test.cpp:161:33:161:46 | des-ede3-cbc | des-ede3-cbc | +| Test.cpp:162:32:162:33 | 31 | Use of banned symmetric encryption algorithm: DES. | Test.cpp:162:32:162:33 | 31 | 31 | +| Test.cpp:164:14:164:15 | 30 | Use of banned symmetric encryption algorithm: DES. Algorithm used at sink: $@. | Test.cpp:165:32:165:34 | obj | obj | +| Test.cpp:167:13:167:25 | camellia256 | Use of banned symmetric encryption algorithm: CAMELLIA256. Algorithm used at sink: $@. | Test.cpp:168:32:168:34 | obj | obj | +| Test.cpp:169:35:169:39 | rc4 | Use of banned symmetric encryption algorithm: RC4. | Test.cpp:169:35:169:39 | rc4 | rc4 | +| Test.cpp:170:33:170:40 | rc4-40 | Use of banned symmetric encryption algorithm: RC4. | Test.cpp:170:33:170:40 | rc4-40 | rc4-40 | +| Test.cpp:171:32:171:32 | 5 | Use of banned symmetric encryption algorithm: RC4. | Test.cpp:171:32:171:32 | 5 | 5 | +| Test.cpp:173:13:173:22 | desx-cbc | Use of banned symmetric encryption algorithm: DESX. Algorithm used at sink: $@. | Test.cpp:174:32:174:34 | obj | obj | +| Test.cpp:175:35:175:42 | bf-cbc | Use of banned symmetric encryption algorithm: BF. | Test.cpp:175:35:175:42 | bf-cbc | bf-cbc | +| Test.cpp:176:33:176:44 | rc2-64-cbc | Use of banned symmetric encryption algorithm: RC2. | Test.cpp:176:33:176:44 | rc2-64-cbc | rc2-64-cbc | +| Test.cpp:177:32:177:35 | 1019 | Use of banned symmetric encryption algorithm: CHACHA20. | Test.cpp:177:32:177:35 | 1019 | 1019 | +| Test.cpp:179:14:179:16 | 813 | Use of banned symmetric encryption algorithm: GOST89. Algorithm used at sink: $@. | Test.cpp:180:32:180:34 | obj | obj | +| Test.cpp:179:14:179:16 | 813 | Use of banned symmetric encryption algorithm: GOST2814789. Algorithm used at sink: $@. | Test.cpp:180:32:180:34 | obj | obj | +| Test.cpp:182:13:182:21 | sm4-cbc | Use of banned symmetric encryption algorithm: SM4. Algorithm used at sink: $@. | Test.cpp:183:32:183:34 | obj | obj | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/WeakEncryption.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/WeakEncryption.qlref new file mode 100644 index 000000000000..cfdff69c3171 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/WeakEncryption.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/BannedEncryption.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/openssl/other.h b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/openssl/other.h new file mode 100644 index 000000000000..ff474684b74f --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedEncryption/modeled_apis/openssl/other.h @@ -0,0 +1,272 @@ +struct asn1_object_st { + const char *sn, *ln; + int nid; + int length; + const unsigned char *data; /* data remains const after init */ + int flags; /* Should we free this one */ +}; +typedef struct asn1_object_st ASN1_OBJECT; + +struct evp_cipher_st { + int nid; + + int block_size; + /* Default value for variable length ciphers */ + int key_len; + int iv_len; + + // /* Legacy structure members */ + // /* Various flags */ + // unsigned long flags; + // /* How the EVP_CIPHER was created. */ + // int origin; + // /* init key */ + // int (*init) (EVP_CIPHER_CTX *ctx, const unsigned char *key, + // const unsigned char *iv, int enc); + // /* encrypt/decrypt data */ + // int (*do_cipher) (EVP_CIPHER_CTX *ctx, unsigned char *out, + // const unsigned char *in, size_t inl); + // /* cleanup ctx */ + // int (*cleanup) (EVP_CIPHER_CTX *); + // /* how big ctx->cipher_data needs to be */ + // int ctx_size; + // /* Populate a ASN1_TYPE with parameters */ + // int (*set_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); + // /* Get parameters from a ASN1_TYPE */ + // int (*get_asn1_parameters) (EVP_CIPHER_CTX *, ASN1_TYPE *); + // /* Miscellaneous operations */ + // int (*ctrl) (EVP_CIPHER_CTX *, int type, int arg, void *ptr); + // /* Application data */ + // void *app_data; + + // /* New structure members */ + // /* Above comment to be removed when legacy has gone */ + // int name_id; + char *type_name; + const char *description; + // OSSL_PROVIDER *prov; + // CRYPTO_REF_COUNT refcnt; + // CRYPTO_RWLOCK *lock; + // OSSL_FUNC_cipher_newctx_fn *newctx; + // OSSL_FUNC_cipher_encrypt_init_fn *einit; + // OSSL_FUNC_cipher_decrypt_init_fn *dinit; + // OSSL_FUNC_cipher_update_fn *cupdate; + // OSSL_FUNC_cipher_final_fn *cfinal; + // OSSL_FUNC_cipher_cipher_fn *ccipher; + // OSSL_FUNC_cipher_freectx_fn *freectx; + // OSSL_FUNC_cipher_dupctx_fn *dupctx; + // OSSL_FUNC_cipher_get_params_fn *get_params; + // OSSL_FUNC_cipher_get_ctx_params_fn *get_ctx_params; + // OSSL_FUNC_cipher_set_ctx_params_fn *set_ctx_params; + // OSSL_FUNC_cipher_gettable_params_fn *gettable_params; + // OSSL_FUNC_cipher_gettable_ctx_params_fn *gettable_ctx_params; + // OSSL_FUNC_cipher_settable_ctx_params_fn *settable_ctx_params; +} /* EVP_CIPHER */ ; + +typedef struct evp_cipher_st EVP_CIPHER; + +typedef struct rc4_key_st { + int x, y; + int data[256]; +} RC4_KEY; + +struct key_st { + unsigned long rd_key[4]; + int rounds; +}; +typedef struct key_st AES_KEY, BF_KEY, CAMELLIA_KEY, DES_key_schedule, IDEA_KEY_SCHEDULE, RC2_KEY, RC5_32_KEY; + +typedef unsigned int DES_LONG, BF_LONG; +typedef unsigned char DES_cblock[8]; +typedef unsigned char const_DES_cblock[8]; +typedef unsigned int size_t; + + +#define CAMELLIA_BLOCK_SIZE 4 + + +// Symmetric Cipher Algorithm sinks +EVP_CIPHER *EVP_CIPHER_fetch(void *ctx, const char *algorithm, const char *properties); +EVP_CIPHER *EVP_get_cipherbyname(const char *name); +EVP_CIPHER *EVP_get_cipherbynid(int nid); +EVP_CIPHER *EVP_get_cipherbyobj(const ASN1_OBJECT *a); + +// ----------https://www.openssl.org/docs/man1.1.1/man3/OBJ_obj2txt.html +ASN1_OBJECT *OBJ_nid2obj(int n); +char *OBJ_nid2ln(int n); +char *OBJ_nid2sn(int n); + +int OBJ_obj2nid(const ASN1_OBJECT *o); +int OBJ_ln2nid(const char *ln); +int OBJ_sn2nid(const char *sn); + +int OBJ_txt2nid(const char *s); + +ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name); +int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); + +int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a); + +int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b); +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); + +int OBJ_create(const char *oid, const char *sn, const char *ln); +//------------- +//https://www.openssl.org/docs/man3.0/man3/EVP_CIPHER_get0_name.html +char *EVP_CIPHER_get0_name(const EVP_CIPHER *cipher); +//----- + +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num); +/* NB: the IV is _two_ blocks long */ +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +/* NB: the IV is _four_ blocks long */ +void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + const AES_KEY *key2, const unsigned char *ivec, + const int enc); +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); + +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num); +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, const_DES_cblock *inw, + const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num, int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num); +void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int enc); +void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num); +void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC2_KEY *key, int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); +void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC5_32_KEY *key, int enc); +void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *ks, unsigned char *iv, + int enc); +void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num); +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/BannedModesCapi.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/BannedModesCapi.expected new file mode 100644 index 000000000000..dc6be6d265af --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/BannedModesCapi.expected @@ -0,0 +1,7 @@ +| Test.cpp:100:2:100:17 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | +| Test.cpp:114:2:114:17 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | +| Test.cpp:116:2:116:17 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | +| Test.cpp:118:2:118:17 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | +| Test.cpp:120:2:120:17 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | +| Test.cpp:122:2:122:17 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | +| Test.cpp:124:2:124:43 | call to CryptSetKeyParam | Call to 'CryptSetKeyParam' function with argument dwParam = KP_MODE is setting up a banned block cipher mode. | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/BannedModesCapi.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/BannedModesCapi.qlref new file mode 100644 index 000000000000..c7c219aac416 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/BannedModesCapi.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/BannedModesCAPI.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/Test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/Test.cpp new file mode 100644 index 000000000000..997568c0b20f --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCapi/Test.cpp @@ -0,0 +1,133 @@ +#define CONST const + +typedef unsigned long DWORD; +typedef int BOOL; +typedef unsigned char BYTE; +typedef unsigned long ULONG_PTR; +typedef unsigned long *PULONG_PTR; +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character +typedef void *PVOID; +typedef CONST WCHAR *LPCWSTR, *PCWSTR; +typedef PVOID BCRYPT_ALG_HANDLE; +typedef long LONG; +typedef unsigned long ULONG; +typedef ULONG *PULONG; +typedef LONG NTSTATUS; +typedef ULONG_PTR HCRYPTHASH; +typedef ULONG_PTR HCRYPTPROV; +typedef ULONG_PTR HCRYPTKEY; +typedef ULONG_PTR HCRYPTHASH; +typedef unsigned int ALG_ID; + +// dwParam +#define KP_IV 1 // Initialization vector +#define KP_SALT 2 // Salt value +#define KP_PADDING 3 // Padding values +#define KP_MODE 4 // Mode of the cipher +#define KP_MODE_BITS 5 // Number of bits to feedback +#define KP_PERMISSIONS 6 // Key permissions DWORD +#define KP_ALGID 7 // Key algorithm +#define KP_BLOCKLEN 8 // Block size of the cipher +#define KP_KEYLEN 9 // Length of key in bits +#define KP_SALT_EX 10 // Length of salt in bytes +#define KP_P 11 // DSS/Diffie-Hellman P value +#define KP_G 12 // DSS/Diffie-Hellman G value +#define KP_Q 13 // DSS Q value +#define KP_X 14 // Diffie-Hellman X value +#define KP_Y 15 // Y value +#define KP_RA 16 // Fortezza RA value +#define KP_RB 17 // Fortezza RB value +#define KP_INFO 18 // for putting information into an RSA envelope +#define KP_EFFECTIVE_KEYLEN 19 // setting and getting RC2 effective key length +#define KP_SCHANNEL_ALG 20 // for setting the Secure Channel algorithms +#define KP_CLIENT_RANDOM 21 // for setting the Secure Channel client random data +#define KP_SERVER_RANDOM 22 // for setting the Secure Channel server random data +#define KP_RP 23 +#define KP_PRECOMP_MD5 24 +#define KP_PRECOMP_SHA 25 +#define KP_CERTIFICATE 26 // for setting Secure Channel certificate data (PCT1) +#define KP_CLEAR_KEY 27 // for setting Secure Channel clear key data (PCT1) +#define KP_PUB_EX_LEN 28 +#define KP_PUB_EX_VAL 29 +#define KP_KEYVAL 30 +#define KP_ADMIN_PIN 31 +#define KP_KEYEXCHANGE_PIN 32 +#define KP_SIGNATURE_PIN 33 +#define KP_PREHASH 34 +#define KP_ROUNDS 35 +#define KP_OAEP_PARAMS 36 // for setting OAEP params on RSA keys +#define KP_CMS_KEY_INFO 37 +#define KP_CMS_DH_KEY_INFO 38 +#define KP_PUB_PARAMS 39 // for setting public parameters +#define KP_VERIFY_PARAMS 40 // for verifying DSA and DH parameters +#define KP_HIGHEST_VERSION 41 // for TLS protocol version setting +#define KP_GET_USE_COUNT 42 // for use with PP_CRYPT_COUNT_KEY_USE contexts +#define KP_PIN_ID 43 +#define KP_PIN_INFO 44 + +// KP_PADDING +#define PKCS5_PADDING 1 // PKCS 5 (sec 6.2) padding method +#define RANDOM_PADDING 2 +#define ZERO_PADDING 3 + +// KP_MODE +#define CRYPT_MODE_CBC 1 // Cipher block chaining +#define CRYPT_MODE_ECB 2 // Electronic code book +#define CRYPT_MODE_OFB 3 // Output feedback mode +#define CRYPT_MODE_CFB 4 // Cipher feedback mode +#define CRYPT_MODE_CTS 5 // Ciphertext stealing mode + +BOOL +CryptSetKeyParam( + HCRYPTKEY hKey, + DWORD dwParam, + CONST BYTE *pbData, + DWORD dwFlags +); + +BOOL +SomeOtherFunction( + HCRYPTKEY hKey, + DWORD dwParam, + CONST BYTE *pbData, + DWORD dwFlags +); +void +DummyFunction( + DWORD dwParam, + ALG_ID dwData) +{ + CryptSetKeyParam(0, dwParam, (BYTE*)&dwData, 0); +} + + +// Macro testing +#define MACRO_INVOCATION_SETKPMODE(p) { DWORD dwData = p; \ + CryptSetKeyParam(0, KP_MODE, (BYTE*)&dwData, 0); } + +int main() +{ + DWORD val = 0; + //////////////////////////// + // Should fire an event + val = CRYPT_MODE_ECB; + CryptSetKeyParam(0, KP_MODE, (BYTE*)&val, 0); + val = CRYPT_MODE_OFB; + CryptSetKeyParam(0, KP_MODE, (BYTE*)&val, 0); + val = CRYPT_MODE_CFB; + CryptSetKeyParam(0, KP_MODE, (BYTE*)&val, 0); + val = CRYPT_MODE_CTS; + CryptSetKeyParam(0, KP_MODE, (BYTE*)&val, 0); + val = 6; + CryptSetKeyParam(0, KP_MODE, (BYTE*)&val, 0); + DummyFunction(KP_MODE, CRYPT_MODE_ECB); + MACRO_INVOCATION_SETKPMODE(CRYPT_MODE_CTS) + + //////////////////////////// + // Should not fire an event + val = CRYPT_MODE_CBC; + CryptSetKeyParam(0, KP_MODE, (BYTE*)&val, 0); + val = CRYPT_MODE_ECB; + CryptSetKeyParam(0, KP_PADDING, (BYTE*)&val, 0); + SomeOtherFunction(0, KP_MODE, (BYTE*)&val, 0); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/BannedModesCng.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/BannedModesCng.expected new file mode 100644 index 000000000000..f3ba4ff16de3 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/BannedModesCng.expected @@ -0,0 +1,8 @@ +| Test.cpp:57:2:57:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:71:2:71:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:73:2:73:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:75:2:75:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:77:2:77:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:79:2:79:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:81:2:81:18 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | +| Test.cpp:83:2:83:50 | call to BCryptSetProperty | Call to 'BCryptSetProperty' function with argument pszProperty = "ChainingMode" is setting up a banned block cipher mode. | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/BannedModesCng.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/BannedModesCng.qlref new file mode 100644 index 000000000000..ed229dfac761 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/BannedModesCng.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/BannedModesCNG.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/Test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/Test.cpp new file mode 100644 index 000000000000..8a260c480bd6 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/BannedModesCng/Test.cpp @@ -0,0 +1,93 @@ +#define CONST const + +typedef unsigned long DWORD; +typedef int BOOL; +typedef unsigned char BYTE; +typedef unsigned long ULONG_PTR; +typedef unsigned long *PULONG_PTR; +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character +typedef void *PVOID; +typedef CONST WCHAR *LPCWSTR, *PCWSTR; +typedef PVOID BCRYPT_ALG_HANDLE; +typedef long LONG; +typedef unsigned long ULONG; +typedef ULONG *PULONG; +typedef LONG NTSTATUS; +typedef ULONG_PTR HCRYPTHASH; +typedef ULONG_PTR HCRYPTPROV; +typedef ULONG_PTR HCRYPTKEY; +typedef ULONG_PTR HCRYPTHASH; +typedef unsigned int ALG_ID; +typedef PVOID BCRYPT_HANDLE; +typedef unsigned char UCHAR; +typedef UCHAR *PUCHAR; + +// Property Strings +#define BCRYPT_CHAIN_MODE_NA L"ChainingModeN/A" +#define BCRYPT_CHAIN_MODE_CBC L"ChainingModeCBC" +#define BCRYPT_CHAIN_MODE_ECB L"ChainingModeECB" +#define BCRYPT_CHAIN_MODE_CFB L"ChainingModeCFB" +#define BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM" +#define BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM" + +#define BCRYPT_CHAINING_MODE L"ChainingMode" +#define BCRYPT_PADDING_SCHEMES L"PaddingSchemes" + +NTSTATUS +BCryptSetProperty( + BCRYPT_HANDLE hObject, + LPCWSTR pszProperty, + PUCHAR pbInput, + ULONG cbInput, + ULONG dwFlags); + +NTSTATUS +AnyFunctionName( + BCRYPT_HANDLE hObject, + LPCWSTR pszProperty, + PUCHAR pbInput, + ULONG cbInput, + ULONG dwFlags); + +void +DummyFunction( + LPCWSTR pszProperty, + LPCWSTR pszMode) +{ + BCryptSetProperty(0, pszProperty, (PUCHAR)&pszMode, 0, 0); +} + + +// Macro testing +#define MACRO_INVOCATION_SETKPMODE(p) { LPCWSTR pszMode = p; \ + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&pszMode, 0, 0); } + +int main() +{ + LPCWSTR val = 0; + //////////////////////////// + // Should fire an event + val = BCRYPT_CHAIN_MODE_NA; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + val = BCRYPT_CHAIN_MODE_ECB; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + val = BCRYPT_CHAIN_MODE_CFB; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + val = BCRYPT_CHAIN_MODE_CCM; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + val = BCRYPT_CHAIN_MODE_GCM; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + val = L"ChainingModeNEW"; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + DummyFunction(BCRYPT_CHAINING_MODE, BCRYPT_CHAIN_MODE_GCM); + MACRO_INVOCATION_SETKPMODE(BCRYPT_CHAIN_MODE_ECB) + + //////////////////////////// + // Should not fire an event + val = BCRYPT_CHAIN_MODE_CBC; + BCryptSetProperty(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); + val = BCRYPT_CHAIN_MODE_ECB; + BCryptSetProperty(0, BCRYPT_PADDING_SCHEMES, (PUCHAR)&val, 0, 0); + val = BCRYPT_CHAIN_MODE_ECB; + AnyFunctionName(0, BCRYPT_CHAINING_MODE, (PUCHAR)&val, 0, 0); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/HardCodedIVCNG.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/HardCodedIVCNG.expected new file mode 100644 index 000000000000..093a13569963 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/HardCodedIVCNG.expected @@ -0,0 +1 @@ +| Test.cpp:56:16:60:2 | {...} | Calling BCryptEncrypt with a hard-coded IV on function | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/HardCodedIVCNG.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/HardCodedIVCNG.qlref new file mode 100644 index 000000000000..a04eca59ce5f --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/HardCodedIVCNG.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/HardcodedIVCNG.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/Test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/Test.cpp new file mode 100644 index 000000000000..32502efeb032 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/HardCodedIVCNG/Test.cpp @@ -0,0 +1,75 @@ +#define CONST const + +typedef unsigned long DWORD; +typedef int BOOL; +typedef unsigned char BYTE; +typedef unsigned long ULONG_PTR; +typedef unsigned long *PULONG_PTR; +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character +typedef void *PVOID; +typedef CONST WCHAR *LPCWSTR, *PCWSTR; +typedef PVOID BCRYPT_ALG_HANDLE; +typedef PVOID BCRYPT_KEY_HANDLE; +typedef long LONG; +typedef unsigned long ULONG; +typedef ULONG *PULONG; +typedef LONG NTSTATUS; +typedef ULONG_PTR HCRYPTHASH; +typedef ULONG_PTR HCRYPTPROV; +typedef ULONG_PTR HCRYPTKEY; +typedef ULONG_PTR HCRYPTHASH; +typedef unsigned int ALG_ID; + +typedef unsigned char UCHAR; +typedef UCHAR *PUCHAR; +#define VOID void + +NTSTATUS +BCryptEncrypt( + BCRYPT_KEY_HANDLE hKey, + PUCHAR pbInput, + ULONG cbInput, + VOID *pPaddingInfo, + PUCHAR pbIV, + ULONG cbIV, + PUCHAR pbOutput, + ULONG cbOutput, + ULONG *pcbResult, + ULONG dwFlags); + + +static unsigned long int next = 1; + +int rand(void) // RAND_MAX assumed to be 32767 +{ + next = next * 1103515245 + 12345; + unsigned int tmp = (next / 65536) % 32768; + if (tmp % next) + { + next = (next / 65526) % tmp; + } + return next; +} + +int main() +{ + BYTE rgbIV[] = + { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F + }; + + BYTE* pIV = new BYTE(16); + // rand() is not a good source for IV, + // but I am avoiding calling a CSPRGenerator for this test. + for (int i = 0; i < 16; i++) + { + pIV[i] = (BYTE)rand(); + } + + BCryptEncrypt(0, 0, 0, 0, rgbIV, 16, 0, 0, 0, 0); // Must be flagged + + BCryptEncrypt(0, 0, 0, 0, pIV, 16, 0, 0, 0, 0); // Should not be flagged + + delete[] pIV; +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFBannedHashAlgorithm.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFBannedHashAlgorithm.expected new file mode 100644 index 000000000000..7f732b4a391e --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFBannedHashAlgorithm.expected @@ -0,0 +1 @@ +| test.cpp:31:36:31:41 | handle | BCRYPT_ALG_HANDLE is passed to this to KDF derived from insecure hashing function $@. Must use SHA256 or higher. | test.cpp:19:51:19:70 | MD5 | MD5 | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFBannedHashAlgorithm.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFBannedHashAlgorithm.qlref new file mode 100644 index 000000000000..03460127fa91 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFBannedHashAlgorithm.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/WeakKDFBannedHashAlgorithm.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFLowIterationCount.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFLowIterationCount.expected new file mode 100644 index 000000000000..9ecbbd43c49e --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFLowIterationCount.expected @@ -0,0 +1 @@ +| test.cpp:31:97:31:100 | 2048 | Iteration count $@ is passed to this to KDF. Use at least 100000 iterations when deriving cryptographic key from password. | test.cpp:31:97:31:100 | 2048 | 2048 | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFLowIterationCount.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFLowIterationCount.qlref new file mode 100644 index 000000000000..9f2dff690d78 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFLowIterationCount.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/WeakKDFLowIterationCount.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallKeyLength.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallKeyLength.expected new file mode 100644 index 000000000000..2555150a2d95 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallKeyLength.expected @@ -0,0 +1 @@ +| test.cpp:31:123:31:123 | 8 | Key size $@ is passed to this to KDF. Use at least 16 bytes for key length when deriving cryptographic key from password. | test.cpp:31:123:31:123 | 8 | 8 | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallKeyLength.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallKeyLength.qlref new file mode 100644 index 000000000000..d0fe39707800 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallKeyLength.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/WeakKDFSmallKeyLength.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallSaltSize.expected b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallSaltSize.expected new file mode 100644 index 000000000000..d68b6d8274a4 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallSaltSize.expected @@ -0,0 +1 @@ +| test.cpp:31:94:31:94 | 8 | Salt size $@ is passed to this to KDF. Use at least 16 bytes for salt size when deriving cryptographic key from password. | test.cpp:31:94:31:94 | 8 | 8 | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallSaltSize.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallSaltSize.qlref new file mode 100644 index 000000000000..4f097d2b2abf --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/WeakKDFSmallSaltSize.qlref @@ -0,0 +1 @@ +Microsoft/Security/Cryptography/WeakKDFSmallSaltSize.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/bcrypt.h b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/bcrypt.h new file mode 100644 index 000000000000..3e9fc08d7902 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/bcrypt.h @@ -0,0 +1,69 @@ +#define CONST const + +typedef unsigned long DWORD; +typedef int BOOL; +typedef unsigned char BYTE; +typedef unsigned long ULONG_PTR; +typedef unsigned long *PULONG_PTR; +typedef wchar_t WCHAR; // wc, 16-bit UNICODE character +typedef void *PVOID; +typedef CONST WCHAR *LPCWSTR, *PCWSTR; +typedef int BCRYPT_ALG_HANDLE; // using int as a placeholder +typedef long LONG; +typedef unsigned long ULONG; +typedef ULONG *PULONG; +typedef LONG NTSTATUS; +typedef ULONG_PTR HCRYPTHASH; +typedef ULONG_PTR HCRYPTPROV; +typedef ULONG_PTR HCRYPTKEY; +typedef ULONG_PTR HCRYPTHASH; +typedef unsigned int ALG_ID; +typedef unsigned int UINT; +typedef UINT UCHAR; +typedef UCHAR *PUCHAR; +typedef unsigned long long ULONGLONG; + + +#define BCRYPT_MD2_ALGORITHM L"MD2" +#define BCRYPT_MD4_ALGORITHM L"MD4" +#define BCRYPT_MD5_ALGORITHM L"MD5" +#define BCRYPT_SHA1_ALGORITHM L"SHA1" +#define BCRYPT_SHA256_ALGORITHM L"SHA256" +#define BCRYPT_SHA384_ALGORITHM L"SHA384" +#define BCRYPT_SHA512_ALGORITHM L"SHA512" + +#define NULL 0 + +int intgen(); + +NTSTATUS BCryptOpenAlgorithmProvider( + BCRYPT_ALG_HANDLE *phAlgorithm, + LPCWSTR pszAlgId, + LPCWSTR pszImplementation, + ULONG dwFlags) +{ + return intgen(); +} + + +NTSTATUS BCryptDeriveKeyPBKDF2( + BCRYPT_ALG_HANDLE hPrf, + PUCHAR pbPassword, + ULONG cbPassword, + PUCHAR pbSalt, + ULONG cbSalt, + ULONGLONG cIterations, + PUCHAR pbDerivedKey, + ULONG cbDerivedKey, + ULONG dwFlags) +{ + return intgen(); +} + +NTSTATUS BCryptCloseAlgorithmProvider( + BCRYPT_ALG_HANDLE hAlgorithm, + ULONG dwFlags +) +{ + return intgen(); +} \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/test.cpp new file mode 100644 index 000000000000..85a114f14dc3 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Cryptography/WeakKDF/test.cpp @@ -0,0 +1,82 @@ + +#include "./bcrypt.h" +using namespace std; + +char* getString(); + +char* password = getString(); +char* salt = getString(); + +int strlen(char *s); + +void test_bad1() +{ + NTSTATUS Status; + BYTE DerivedKey[64]; + + BCRYPT_ALG_HANDLE handle; + // BAD hash algorithm handle generated here + Status = BCryptOpenAlgorithmProvider(&handle, BCRYPT_MD5_ALGORITHM, NULL, 0); + + if (Status != 0) + { + //std::cout << "BCryptOpenAlgorithmProvider exited with error message " << Status; + goto END; + } + + // BAD Hash algorithm handle + // BAD salt length + // BAD iteration count + // BAD Key length + Status = BCryptDeriveKeyPBKDF2(handle, (PUCHAR)password, strlen(password), (PUCHAR)salt, 8, 2048, (PUCHAR)DerivedKey, 8, 0); + //Status = BCryptDeriveKeyPBKDF2(handle, (PUCHAR)password.data(), password.length(), (PUCHAR)salt.data(), 8, 2048, (PUCHAR)DerivedKey, 64, 0); + + if (Status != 0) + { + //std::cout << "BCryptDeriveKeyPBKDF2 exited with error message " << Status; + goto END; + } + + //else + //std::cout << "Operation completed successfully. Your encrypted key is in variable DerivedKey."; + + BCryptCloseAlgorithmProvider(handle, 0); + +END:; +} + +void test_good1() +{ + NTSTATUS Status; + BYTE DerivedKey[64]; + + BCRYPT_ALG_HANDLE handle; + // GOOD hash handle generated here + Status = BCryptOpenAlgorithmProvider(&handle, BCRYPT_SHA256_ALGORITHM, NULL, 0); + + if (Status != 0) + { + //std::cout << "BCryptOpenAlgorithmProvider exited with error message " << Status; + goto END; + } + + // GOOD Hash algorithm handle + // GOOD salt length + // GOOD iteration count + // GOOD Key length + Status = BCryptDeriveKeyPBKDF2(handle, (PUCHAR)password, strlen(password), (PUCHAR)salt, 64, 100000, (PUCHAR)DerivedKey, 64, 0); + //Status = BCryptDeriveKeyPBKDF2(handle, (PUCHAR)password.data(), password.length(), (PUCHAR)salt.data(), 8, 2048, (PUCHAR)DerivedKey, 64, 0); + + if (Status != 0) + { + //std::cout << "BCryptDeriveKeyPBKDF2 exited with error message " << Status; + goto END; + } + + //else + //std::cout << "Operation completed successfully. Your encrypted key is in variable DerivedKey."; + + BCryptCloseAlgorithmProvider(handle, 0); + +END:; +} diff --git a/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.expected b/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.expected new file mode 100644 index 000000000000..267bf9720731 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.expected @@ -0,0 +1,4 @@ +| UncheckedBoundsEnumAsIndex_test.c:77:27:77:40 | CapabilityType | When accessing array PmiAcpiToCapabilities with index CapabilityType, the upper bound of an enum is used to check the upper bound of the array, but the lower bound is not checked. | +| UncheckedBoundsEnumAsIndex_test.c:111:31:111:44 | CapabilityType | When accessing array PmiAcpiToCapabilities with index CapabilityType, the upper bound of an enum is used to check the upper bound of the array, but the lower bound is not checked. | +| UncheckedBoundsEnumAsIndex_test.c:271:31:271:44 | CapabilityType | When accessing array PmiAcpiToCapabilities with index CapabilityType, the upper bound of an enum is used to check the upper bound of the array, but the lower bound is not checked. | +| UncheckedBoundsEnumAsIndex_test.c:293:31:293:44 | CapabilityType | When accessing array PmiAcpiToCapabilities with index CapabilityType, the upper bound of an enum is used to check the upper bound of the array, but the lower bound is not checked. | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.qlref b/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.qlref new file mode 100644 index 000000000000..ed446417bff7 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.qlref @@ -0,0 +1 @@ +Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex_test.c b/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex_test.c new file mode 100644 index 000000000000..7d919c14aedd --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/MemoryAccess/EnumIndex/UncheckedBoundsEnumAsIndex_test.c @@ -0,0 +1,299 @@ +typedef unsigned long ULONG; +typedef unsigned short USHORT; +typedef unsigned long DWORD; +typedef long NTSTATUS; +#define STATUS_INVALID_PARAMETER ((DWORD )0xC000000DL) + +typedef enum { + PmiMeasurementConfiguration, + PmiBudgetingConfiguration, + PmiThresholdConfiguration, + PmiConfigurationMax +} PMI_CONFIGURATION_TYPE; + +typedef struct _PMI_CONFIGURATION { + ULONG Version; + USHORT Size; + PMI_CONFIGURATION_TYPE ConfigurationType; +} PMI_CONFIGURATION, *PPMI_CONFIGURATION; + +typedef +NTSTATUS +PMI_CONFIGURATION_TO_ACPI( + ULONG something +); + +typedef +NTSTATUS +PMI_ACPI_TO_CAPABILITIES( + ULONG something +); + +typedef PMI_ACPI_TO_CAPABILITIES *PPMI_ACPI_TO_CAPABILITIES; + +NTSTATUS +AcpiPmipBuildReportedCapabilities( + ULONG something +) { + return 0; +} + +NTSTATUS +AcpiPmipBuildMeteredHardwareInformation( + ULONG something +) { + return 0; +} + +typedef enum { + PmiReportedCapabilities, + PmiMeteredHardware, + PmiCapabilitiesMax +} PMI_CAPABILITIES_TYPE; + +PPMI_ACPI_TO_CAPABILITIES PmiAcpiToCapabilities[PmiCapabilitiesMax] = { + AcpiPmipBuildReportedCapabilities, // PmiReportedCapabilities + AcpiPmipBuildMeteredHardwareInformation, // PmiMeteredHardware +}; + +typedef struct _PMI_CAPABILITIES { + ULONG Version; + ULONG Size; + PMI_CAPABILITIES_TYPE CapabilityType; +} PMI_CAPABILITIES, *PPMI_CAPABILITIES; + +NTSTATUS Test_NoLowerBoundCheckUsageAfterIfBlock(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + int CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType >= PmiCapabilitiesMax) + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + PmiAcpiToCapabilities[CapabilityType](0); // BUG + +IoctlGetCapabilitiesExit: + return Status; +} + +// If it fires == false positive +// unsigned type +NTSTATUS Test_NoLowerBoundCheckUsageAfterIfBlock_FP(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + PMI_CAPABILITIES_TYPE CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType >= PmiCapabilitiesMax) + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + PmiAcpiToCapabilities[CapabilityType](0); // NOT A BUG, CapabilityType is unsigned + +IoctlGetCapabilitiesExit: + return Status; +} + +NTSTATUS Test_NoLowerBoundCheckUsageWithinIfBlock(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + int CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType < PmiCapabilitiesMax) + { + PmiAcpiToCapabilities[CapabilityType](1); // BUG + } + else + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + +IoctlGetCapabilitiesExit: + return Status; +} + +// Should not fire an event as this doesn't meet the criteria +// CapabilityType is unsigned, so it will never be < 0 +// If it fires == false positive +NTSTATUS Test_NoLowerBoundCheckUsageWithinIfBlock_FP(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + PMI_CAPABILITIES_TYPE CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType < PmiCapabilitiesMax) + { + PmiAcpiToCapabilities[CapabilityType](1); // NOT A BUG, CapabilityType is unsigned + } + else + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + +IoctlGetCapabilitiesExit: + return Status; +} + +// Should not fire an event as this doesn't meet the criteria +// If it fires == false positive +NTSTATUS Test_NotMeetingUpperboundCheckCritieria(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + PMI_CAPABILITIES_TYPE CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType == PmiMeteredHardware) + { + PmiAcpiToCapabilities[CapabilityType](1); + } + else + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + +IoctlGetCapabilitiesExit: + return Status; +} + +// No bug - Correct Usage +NTSTATUS Test_CorrectUsage(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + DWORD x = 0; + PMI_CAPABILITIES_TYPE CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType < 0 || CapabilityType >= PmiCapabilitiesMax) + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + + x = 1; + + PmiAcpiToCapabilities[CapabilityType](2); + +IoctlGetCapabilitiesExit: + return Status; +} + +// No bug - Correct Usage +NTSTATUS Test_CorrectUsage2(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + DWORD x = 0; + int CapabilityType; + + CapabilityType = PmiCapabilitiesInput->CapabilityType; + if (CapabilityType < 0 || CapabilityType >= PmiCapabilitiesMax) + { + Status = STATUS_INVALID_PARAMETER; + goto IoctlGetCapabilitiesExit; + } + // ... + + x = 1; + + PmiAcpiToCapabilities[CapabilityType](2); + +IoctlGetCapabilitiesExit: + return Status; +} + +// Should not fire as the Guard is not an If statement. The for loop has an implicit lower bound +// If it fires == false positive +NTSTATUS Test_GuardIsNotAnIfStatement(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + DWORD x = 0; + int CapabilityType; + + for (CapabilityType = PmiReportedCapabilities; CapabilityType <= PmiCapabilitiesMax; CapabilityType++) + { + PmiAcpiToCapabilities[CapabilityType](2); + } + // ... + return Status; +} + + +// If it fires == false positive +NTSTATUS Test_GuardIsAnIfStatementButVariableLowerBound(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + DWORD x = 0; + int CapabilityType = 0; //==> Lower bound + + while (1) + { + if (CapabilityType >= PmiCapabilitiesMax) + { + break; + } + // ... + + PmiAcpiToCapabilities[CapabilityType](0); // NOT A BUG - Lower bound == 0 + // ... + CapabilityType++; + } + // ... + return Status; +} + +NTSTATUS Test_GuardIsAnIfStatementButVariableLowerBound_notbound(PPMI_CAPABILITIES PmiCapabilitiesInput, int initialBound) +{ + NTSTATUS Status = 0; + DWORD x = 0; + int CapabilityType = initialBound; //==> Lower bound + + while (1) + { + if (CapabilityType >= PmiCapabilitiesMax) + { + break; + } + // ... + + PmiAcpiToCapabilities[CapabilityType](0); //BUG - Lowerbound is unknown + // ... + CapabilityType++; + } + // ... + return Status; +} + +NTSTATUS Test_GuardIsAnIfStatementButVariableLowerBound_outofBounds(PPMI_CAPABILITIES PmiCapabilitiesInput) +{ + NTSTATUS Status = 0; + DWORD x = 0; + int CapabilityType = -1; //==> Lower bound + + while (1) + { + if (CapabilityType >= PmiCapabilitiesMax) + { + break; + } + // ... + + PmiAcpiToCapabilities[CapabilityType](0); // BUG - lower bound is < 0 + // ... + CapabilityType++; + } + // ... + return Status; +} diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/HardCodedSecurityProtocol.expected b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/HardCodedSecurityProtocol.expected new file mode 100644 index 000000000000..9e2c180bba95 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/HardCodedSecurityProtocol.expected @@ -0,0 +1,10 @@ +| test.cpp:50:43:50:61 | 1 | Hard-coded use of security protocol SP_PROT_PCT1_SERVER set here $@. | test.cpp:50:43:50:61 | 1 | 1 | +| test.cpp:51:43:51:61 | 4 | Hard-coded use of security protocol SP_PROT_SSL2_SERVER set here $@. | test.cpp:51:43:51:61 | 4 | 4 | +| test.cpp:52:43:52:61 | 16 | Hard-coded use of security protocol SP_PROT_SSL3_SERVER set here $@. | test.cpp:52:43:52:61 | 16 | 16 | +| test.cpp:53:43:53:56 | ... \| ... | Hard-coded use of security protocol SP_PROT_TLS1_1 set here $@. | test.cpp:53:43:53:56 | ... \| ... | ... \| ... | +| test.cpp:54:44:54:88 | ... \| ... | Hard-coded use of security protocol ... \| ... set here $@. | test.cpp:54:43:54:89 | ... \| ... | ... \| ... | +| test.cpp:55:43:55:58 | ... \| ... | Hard-coded use of security protocol SP_PROT_SSL3TLS1 set here $@. | test.cpp:55:43:55:58 | ... \| ... | ... \| ... | +| test.cpp:56:54:56:74 | 256 | Hard-coded use of security protocol SP_PROT_TLS1_1_SERVER set here $@. | test.cpp:56:43:56:98 | ... ? ... : ... | ... ? ... : ... | +| test.cpp:56:78:56:98 | 512 | Hard-coded use of security protocol SP_PROT_TLS1_1_CLIENT set here $@. | test.cpp:56:43:56:98 | ... ? ... : ... | ... ? ... : ... | +| test.cpp:58:43:58:56 | ... \| ... | Hard-coded use of security protocol SP_PROT_TLS1_2 set here $@. | test.cpp:58:43:58:56 | ... \| ... | ... \| ... | +| test.cpp:59:43:59:56 | ... \| ... | Hard-coded use of security protocol SP_PROT_TLS1_3 set here $@. | test.cpp:59:43:59:56 | ... \| ... | ... \| ... | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/HardCodedSecurityProtocol.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/HardCodedSecurityProtocol.qlref new file mode 100644 index 000000000000..a1a61b133f34 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/HardCodedSecurityProtocol.qlref @@ -0,0 +1 @@ +Microsoft/Security/Protocols/HardCodedSecurityProtocol.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/UseOfDeprecatedSecurityProtocol.expected b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/UseOfDeprecatedSecurityProtocol.expected new file mode 100644 index 000000000000..337e2630cb81 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/UseOfDeprecatedSecurityProtocol.expected @@ -0,0 +1,8 @@ +| test.cpp:50:43:50:61 | 1 | Hard-coded use of deprecated security protocol SP_PROT_PCT1_SERVER set here $@. | test.cpp:50:43:50:61 | 1 | SP_PROT_PCT1_SERVER | +| test.cpp:51:43:51:61 | 4 | Hard-coded use of deprecated security protocol SP_PROT_SSL2_SERVER set here $@. | test.cpp:51:43:51:61 | 4 | SP_PROT_SSL2_SERVER | +| test.cpp:52:43:52:61 | 16 | Hard-coded use of deprecated security protocol SP_PROT_SSL3_SERVER set here $@. | test.cpp:52:43:52:61 | 16 | SP_PROT_SSL3_SERVER | +| test.cpp:53:43:53:56 | ... \| ... | Hard-coded use of deprecated security protocol SP_PROT_TLS1_1 set here $@. | test.cpp:53:43:53:56 | ... \| ... | SP_PROT_TLS1_1 | +| test.cpp:54:44:54:88 | ... \| ... | Hard-coded use of deprecated security protocol ... \| ... set here $@. | test.cpp:54:44:54:88 | ... \| ... | ... \| ... | +| test.cpp:55:43:55:58 | ... \| ... | Hard-coded use of deprecated security protocol SP_PROT_SSL3TLS1 set here $@. | test.cpp:55:43:55:58 | ... \| ... | SP_PROT_SSL3TLS1 | +| test.cpp:56:54:56:74 | 256 | Hard-coded use of deprecated security protocol SP_PROT_TLS1_1_SERVER set here $@. | test.cpp:56:54:56:74 | 256 | SP_PROT_TLS1_1_SERVER | +| test.cpp:56:78:56:98 | 512 | Hard-coded use of deprecated security protocol SP_PROT_TLS1_1_CLIENT set here $@. | test.cpp:56:78:56:98 | 512 | SP_PROT_TLS1_1_CLIENT | diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/UseOfDeprecatedSecurityProtocol.qlref b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/UseOfDeprecatedSecurityProtocol.qlref new file mode 100644 index 000000000000..18e939dd1bed --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/UseOfDeprecatedSecurityProtocol.qlref @@ -0,0 +1 @@ +Microsoft/Security/Protocols/UseOfDeprecatedSecurityProtocol.ql \ No newline at end of file diff --git a/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/test.cpp b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/test.cpp new file mode 100644 index 000000000000..d34bc3599180 --- /dev/null +++ b/cpp/ql/test/query-tests/Microsoft/Security/Protocols/default/test.cpp @@ -0,0 +1,65 @@ +// semmle-extractor-options: --microsoft + +typedef unsigned long DWORD; + +typedef struct _SCHANNEL_CRED { + // Note: Fields removed before/after to avoid needing to include headers for field types + DWORD grbitEnabledProtocols; +} SCHANNEL_CRED, *PSCHANNEL_CRED; + +#define SP_PROT_PCT1_SERVER 0x00000001 +#define SP_PROT_PCT1_CLIENT 0x00000002 +#define SP_PROT_PCT1 (SP_PROT_PCT1_SERVER | SP_PROT_PCT1_CLIENT) + +#define SP_PROT_SSL2_SERVER 0x00000004 +#define SP_PROT_SSL2_CLIENT 0x00000008 +#define SP_PROT_SSL2 (SP_PROT_SSL2_SERVER | SP_PROT_SSL2_CLIENT) + +#define SP_PROT_SSL3_SERVER 0x00000010 +#define SP_PROT_SSL3_CLIENT 0x00000020 +#define SP_PROT_SSL3 (SP_PROT_SSL3_SERVER | SP_PROT_SSL3_CLIENT) + +#define SP_PROT_TLS1_SERVER 0x00000040 +#define SP_PROT_TLS1_CLIENT 0x00000080 +#define SP_PROT_TLS1 (SP_PROT_TLS1_SERVER | SP_PROT_TLS1_CLIENT) + +#define SP_PROT_TLS1_0_SERVER SP_PROT_TLS1_SERVER +#define SP_PROT_TLS1_0_CLIENT SP_PROT_TLS1_CLIENT +#define SP_PROT_TLS1_0 (SP_PROT_TLS1_0_SERVER | \ + SP_PROT_TLS1_0_CLIENT) + +#define SP_PROT_TLS1_1_SERVER 0x00000100 +#define SP_PROT_TLS1_1_CLIENT 0x00000200 +#define SP_PROT_TLS1_1 (SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_1_CLIENT) + +#define SP_PROT_SSL3TLS1_CLIENTS (SP_PROT_TLS1_CLIENT | SP_PROT_SSL3_CLIENT) +#define SP_PROT_SSL3TLS1_SERVERS (SP_PROT_TLS1_SERVER | SP_PROT_SSL3_SERVER) +#define SP_PROT_SSL3TLS1 (SP_PROT_SSL3 | SP_PROT_TLS1) + +#define SP_PROT_TLS1_2_SERVER 0x00000400 +#define SP_PROT_TLS1_2_CLIENT 0x00000800 +#define SP_PROT_TLS1_2 (SP_PROT_TLS1_2_SERVER | SP_PROT_TLS1_2_CLIENT) + +#define SP_PROT_TLS1_3_SERVER 0x00001000 +#define SP_PROT_TLS1_3_CLIENT 0x00002000 +#define SP_PROT_TLS1_3 (SP_PROT_TLS1_3_SERVER | SP_PROT_TLS1_3_CLIENT) + +void testProtocols(bool isServer, DWORD cred) { + SCHANNEL_CRED testSChannelCred; + // BAD: Deprecated protocols + testSChannelCred.grbitEnabledProtocols = SP_PROT_PCT1_SERVER; + testSChannelCred.grbitEnabledProtocols = SP_PROT_SSL2_SERVER; + testSChannelCred.grbitEnabledProtocols = SP_PROT_SSL3_SERVER; + testSChannelCred.grbitEnabledProtocols = SP_PROT_TLS1_1; + testSChannelCred.grbitEnabledProtocols = (SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_1_CLIENT); + testSChannelCred.grbitEnabledProtocols = SP_PROT_SSL3TLS1; + testSChannelCred.grbitEnabledProtocols = isServer ? SP_PROT_TLS1_1_SERVER : SP_PROT_TLS1_1_CLIENT; + // BAD: hardcoded, but not deprecated, protocol + testSChannelCred.grbitEnabledProtocols = SP_PROT_TLS1_2; + testSChannelCred.grbitEnabledProtocols = SP_PROT_TLS1_3; + // GOOD: system default protocol + testSChannelCred.grbitEnabledProtocols = 0; + // UNKNOWN: Do not flag SP_PROT_TLS1_1 here + // We do not know anything about cred, so don't flag it + testSChannelCred.grbitEnabledProtocols = cred & ~SP_PROT_TLS1_1; +} diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected index c2a952774ff0..b5f6ad602fb8 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/consts/NonConstantFormat.expected @@ -1,9 +1,6 @@ edges -| consts.cpp:24:7:24:9 | **gv1 | consts.cpp:25:2:25:4 | *a | provenance | | | consts.cpp:24:7:24:9 | **gv1 | consts.cpp:30:9:30:14 | *access to array | provenance | | | consts.cpp:24:7:24:9 | **gv1 | consts.cpp:123:2:123:12 | *... = ... | provenance | | -| consts.cpp:25:2:25:4 | *a | consts.cpp:26:2:26:4 | *{...} | provenance | | -| consts.cpp:26:2:26:4 | *{...} | consts.cpp:24:7:24:9 | **gv1 | provenance | | | consts.cpp:29:7:29:25 | **nonConstFuncToArray | consts.cpp:126:9:126:30 | *call to nonConstFuncToArray | provenance | | | consts.cpp:30:9:30:14 | *access to array | consts.cpp:29:7:29:25 | **nonConstFuncToArray | provenance | | | consts.cpp:85:7:85:8 | gets output argument | consts.cpp:86:9:86:10 | *v1 | provenance | | @@ -38,8 +35,6 @@ edges | consts.cpp:144:16:144:18 | readStringRef output argument | consts.cpp:145:9:145:11 | *v12 | provenance | | nodes | consts.cpp:24:7:24:9 | **gv1 | semmle.label | **gv1 | -| consts.cpp:25:2:25:4 | *a | semmle.label | *a | -| consts.cpp:26:2:26:4 | *{...} | semmle.label | *{...} | | consts.cpp:29:7:29:25 | **nonConstFuncToArray | semmle.label | **nonConstFuncToArray | | consts.cpp:30:9:30:14 | *access to array | semmle.label | *access to array | | consts.cpp:85:7:85:8 | gets output argument | semmle.label | gets output argument | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.cpp index dc2b9f4a9c18..22e5ccd958dc 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.cpp @@ -18,13 +18,13 @@ void Test() wchar_t *lpWchar = NULL; LPCSTR lpcstr = "b"; - lpWchar = (LPWSTR)"a"; // BUG - lpWchar = (LPWSTR)lpcstr; // BUG + lpWchar = (LPWSTR)"a"; // $ Alert + lpWchar = (LPWSTR)lpcstr; // $ Alert - lpWchar = (wchar_t*)lpChar; // BUG + lpWchar = (wchar_t*)lpChar; // $ Alert - fconstWChar((LPCWSTR)lpChar); // BUG - fWChar((LPWSTR)lpChar); // BUG + fconstWChar((LPCWSTR)lpChar); // $ Alert + fWChar((LPWSTR)lpChar); // $ Alert lpChar = (LPSTR)"a"; // Valid lpWchar = (LPWSTR)L"a"; // Valid @@ -79,33 +79,64 @@ void CheckedConversionFalsePositiveTest3(unsigned short flags, LPTSTR buffer) if(flags & UNICODE) lpWchar = (LPWSTR)buffer; // GOOD else - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert if((flags & UNICODE) == 0x8) lpWchar = (LPWSTR)buffer; // GOOD else - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert if((flags & UNICODE) != 0x8) - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert else lpWchar = (LPWSTR)buffer; // GOOD // Bad operator precedence if(flags & UNICODE == 0x8) - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert else - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert if((flags & UNICODE) != 0) lpWchar = (LPWSTR)buffer; // GOOD else - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert if((flags & UNICODE) == 0) - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert else lpWchar = (LPWSTR)buffer; // GOOD - lpWchar = (LPWSTR)buffer; // BUG + lpWchar = (LPWSTR)buffer; // $ Alert +} + +typedef unsigned long long size_t; + +size_t wcslen(const wchar_t *str); +size_t strlen(const char* str); + +template +size_t str_len(const C *str) { + if (sizeof(C) != 1) { + return wcslen((const wchar_t *)str); // GOOD -- unreachable code + } + + return strlen((const char *)str); +} + +template +size_t wrong_str_len(const C *str) { + if (sizeof(C) == 1) { + return wcslen((const wchar_t *)str); // $ Alert + } + + return strlen((const char *)str); +} + +void test_str_len(const wchar_t *wstr, const char *str) { + size_t len = + str_len(wstr) + + str_len(str) + + wrong_str_len(wstr) + + wrong_str_len(str); } diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.expected index 9b34966aa87f..bb56396c08c2 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.expected @@ -11,3 +11,4 @@ | WcharCharConversion.cpp:103:21:103:26 | buffer | Conversion from LPTSTR to LPWSTR. Use of invalid string can lead to undefined behavior. | | WcharCharConversion.cpp:106:21:106:26 | buffer | Conversion from LPTSTR to LPWSTR. Use of invalid string can lead to undefined behavior. | | WcharCharConversion.cpp:110:20:110:25 | buffer | Conversion from LPTSTR to LPWSTR. Use of invalid string can lead to undefined behavior. | +| WcharCharConversion.cpp:130:34:130:36 | str | Conversion from const char * to const wchar_t *. Use of invalid string can lead to undefined behavior. | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.qlref b/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.qlref index 4e3b6775188e..5aa0107d1f99 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.qlref +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-704/WcharCharConversion.qlref @@ -1 +1,2 @@ -Security/CWE/CWE-704/WcharCharConversion.ql \ No newline at end of file +query: Security/CWE/CWE-704/WcharCharConversion.ql +postprocess: utils/test/InlineExpectationsTestQuery.ql diff --git a/csharp/documentation/library-coverage/coverage.csv b/csharp/documentation/library-coverage/coverage.csv index ea5961f0c4ee..72c46c89934a 100644 --- a/csharp/documentation/library-coverage/coverage.csv +++ b/csharp/documentation/library-coverage/coverage.csv @@ -43,5 +43,5 @@ MySql.Data.MySqlClient,48,,,,,,,,,,,,48,,,,,,,,,, Newtonsoft.Json,,,91,,,,,,,,,,,,,,,,,,,73,18 ServiceStack,194,,7,27,,,,,75,,,,92,,,,,,,,,7, SourceGenerators,,,5,,,,,,,,,,,,,,,,,,,,5 -System,54,47,12139,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,5903,6236 +System,54,47,12165,,6,5,5,,,4,1,,33,2,,6,15,17,4,3,,5929,6236 Windows.Security.Cryptography.Core,1,,,,,,,1,,,,,,,,,,,,,,, diff --git a/csharp/documentation/library-coverage/coverage.rst b/csharp/documentation/library-coverage/coverage.rst index 6ab5a55b3e68..c1c3f927fd7d 100644 --- a/csharp/documentation/library-coverage/coverage.rst +++ b/csharp/documentation/library-coverage/coverage.rst @@ -8,7 +8,7 @@ C# framework & library support Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE-079` :sub:`Cross-site scripting` `ServiceStack `_,"``ServiceStack.*``, ``ServiceStack``",,7,194, - System,"``System.*``, ``System``",47,12139,54,5 + System,"``System.*``, ``System``",47,12165,54,5 Others,"``Amazon.Lambda.APIGatewayEvents``, ``Amazon.Lambda.Core``, ``Dapper``, ``ILCompiler``, ``ILLink.RoslynAnalyzer``, ``ILLink.Shared``, ``ILLink.Tasks``, ``Internal.IL``, ``Internal.Pgo``, ``Internal.TypeSystem``, ``Microsoft.ApplicationBlocks.Data``, ``Microsoft.AspNetCore.Components``, ``Microsoft.AspNetCore.Http``, ``Microsoft.AspNetCore.Mvc``, ``Microsoft.AspNetCore.WebUtilities``, ``Microsoft.CSharp``, ``Microsoft.Data.SqlClient``, ``Microsoft.Diagnostics.Tools.Pgo``, ``Microsoft.DotNet.Build.Tasks``, ``Microsoft.DotNet.PlatformAbstractions``, ``Microsoft.EntityFrameworkCore``, ``Microsoft.Extensions.Caching.Distributed``, ``Microsoft.Extensions.Caching.Memory``, ``Microsoft.Extensions.Configuration``, ``Microsoft.Extensions.DependencyInjection``, ``Microsoft.Extensions.DependencyModel``, ``Microsoft.Extensions.Diagnostics.Metrics``, ``Microsoft.Extensions.FileProviders``, ``Microsoft.Extensions.FileSystemGlobbing``, ``Microsoft.Extensions.Hosting``, ``Microsoft.Extensions.Http``, ``Microsoft.Extensions.Logging``, ``Microsoft.Extensions.Options``, ``Microsoft.Extensions.Primitives``, ``Microsoft.Interop``, ``Microsoft.JSInterop``, ``Microsoft.NET.Build.Tasks``, ``Microsoft.VisualBasic``, ``Microsoft.Win32``, ``Mono.Linker``, ``MySql.Data.MySqlClient``, ``Newtonsoft.Json``, ``SourceGenerators``, ``Windows.Security.Cryptography.Core``",60,2257,159,4 - Totals,,107,14403,407,9 + Totals,,107,14429,407,9 diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 99267b32a407..f46a19790d63 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.44 + +No user-facing changes. + ## 1.7.43 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.44.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.44.md new file mode 100644 index 000000000000..f25e48c07200 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.44.md @@ -0,0 +1,3 @@ +## 1.7.44 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 9b37539bf65f..a392bdc2592e 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.43 +lastReleaseVersion: 1.7.44 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index b9e0c245b855..4da11e525e6c 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.44-dev +version: 1.7.44 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 99267b32a407..f46a19790d63 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.44 + +No user-facing changes. + ## 1.7.43 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.44.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.44.md new file mode 100644 index 000000000000..f25e48c07200 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.44.md @@ -0,0 +1,3 @@ +## 1.7.44 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 9b37539bf65f..a392bdc2592e 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.43 +lastReleaseVersion: 1.7.44 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 7cf7f04a63ad..b59805aa902f 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.44-dev +version: 1.7.44 groups: - csharp - solorigate diff --git a/csharp/ql/integration-tests/posix/diag_autobuild_script/build.sh b/csharp/ql/integration-tests/posix/diag_autobuild_script/build.sh old mode 100755 new mode 100644 diff --git a/csharp/ql/integration-tests/posix/diag_multiple_scripts/build.sh b/csharp/ql/integration-tests/posix/diag_multiple_scripts/build.sh old mode 100755 new mode 100644 diff --git a/csharp/ql/integration-tests/posix/diag_multiple_scripts/scripts/build.sh b/csharp/ql/integration-tests/posix/diag_multiple_scripts/scripts/build.sh old mode 100755 new mode 100644 diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/packages.config b/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/packages.config index 0f63b3daf6ca..0d124c13c066 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/packages.config +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/packages.config @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/packages.config b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/packages.config index 0f63b3daf6ca..0d124c13c066 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/packages.config +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget with_space/packages.config @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/packages.config b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/packages.config index 0f63b3daf6ca..0d124c13c066 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/packages.config +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget/packages.config @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/packages.config b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/packages.config index 90071d0ca8cd..aab9c8bd2cff 100644 --- a/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/packages.config +++ b/csharp/ql/integration-tests/posix/standalone_dependencies_nuget_no_sources/proj/packages.config @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/csharp/ql/integration-tests/posix/warn_as_error/build.sh b/csharp/ql/integration-tests/posix/warn_as_error/build.sh old mode 100755 new mode 100644 diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 3124c68b6ab1..e8540d22ba84 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.2.0 + +### New Features + +* Added a new predicate, `getASuperType()`, to get a direct supertype of this type. + ## 5.1.9 No user-facing changes. diff --git a/csharp/ql/lib/change-notes/released/5.2.0.md b/csharp/ql/lib/change-notes/released/5.2.0.md new file mode 100644 index 000000000000..5408c0d44bde --- /dev/null +++ b/csharp/ql/lib/change-notes/released/5.2.0.md @@ -0,0 +1,5 @@ +## 5.2.0 + +### New Features + +* Added a new predicate, `getASuperType()`, to get a direct supertype of this type. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index f9bf26052618..9e57a36a7dce 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.1.9 +lastReleaseVersion: 5.2.0 diff --git a/csharp/ql/lib/ext/System.IO.model.yml b/csharp/ql/lib/ext/System.IO.model.yml index dcc9c70551b0..0b8b52d9e8a5 100644 --- a/csharp/ql/lib/ext/System.IO.model.yml +++ b/csharp/ql/lib/ext/System.IO.model.yml @@ -47,7 +47,7 @@ extensions: - ["System.IO", "FileStream", False, "FileStream", "(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "FileStream", False, "FileStream", "(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.IO", "FileStream", False, "FileStream", "(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.IO.FileOptions)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[])", "", "Argument[0]", "Argument[this]", "taint", "manual"] + - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[])", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Boolean)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] - ["System.IO", "MemoryStream", False, "MemoryStream", "(System.Byte[],System.Int32,System.Int32,System.Boolean)", "", "Argument[0].Element", "Argument[this]", "taint", "manual"] diff --git a/csharp/ql/lib/ext/System.Runtime.Serialization.model.yml b/csharp/ql/lib/ext/System.Runtime.Serialization.model.yml new file mode 100644 index 000000000000..628d06b33b8d --- /dev/null +++ b/csharp/ql/lib/ext/System.Runtime.Serialization.model.yml @@ -0,0 +1,13 @@ +extensions: + - addsTo: + pack: codeql/csharp-all + extensible: summaryModel + data: + - ["System.Runtime.Serialization", "SerializationInfo", False, "AddValue", "(System.String,System.Object)", "", "Argument[1]", "Argument[this]", "taint", "manual"] + - ["System.Runtime.Serialization", "SerializationInfo", False, "AddValue", "(System.String,System.Object,System.Type)", "", "Argument[1]", "Argument[this]", "taint", "manual"] + - ["System.Runtime.Serialization", "SerializationInfo", False, "GetEnumerator", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System.Runtime.Serialization", "SerializationInfo", False, "GetString", "(System.String)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System.Runtime.Serialization", "SerializationInfo", False, "GetValue", "(System.String,System.Type)", "", "Argument[this]", "ReturnValue", "taint", "manual"] + # Note that SerializationEntry hasn't been modeled yet, so the model below for get_Current will not in itself provide more flow. + - ["System.Runtime.Serialization", "SerializationInfoEnumerator", False, "get_Current", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] + - ["System.Runtime.Serialization", "SerializationInfoEnumerator", False, "get_Value", "()", "", "Argument[this]", "ReturnValue", "taint", "manual"] diff --git a/csharp/ql/lib/ext/System.Text.model.yml b/csharp/ql/lib/ext/System.Text.model.yml index 4a94b61109f9..0067b8b000cf 100644 --- a/csharp/ql/lib/ext/System.Text.model.yml +++ b/csharp/ql/lib/ext/System.Text.model.yml @@ -3,18 +3,18 @@ extensions: pack: codeql/csharp-all extensible: summaryModel data: - - ["System.Text", "Encoding", True, "GetBytes", "(System.Char*,System.Int32,System.Byte*,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.Char*,System.Int32,System.Byte*,System.Int32)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"] - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.ReadOnlySpan,System.Span)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0].Element", "Argument[3]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.ReadOnlySpan,System.Span)", "", "Argument[0].Element", "Argument[1]", "taint", "manual"] - ["System.Text", "Encoding", True, "GetBytes", "(System.String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", False, "GetBytes", "(System.String,System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetBytes", "(System.String,System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.Byte*,System.Int32,System.Char*,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.String,System.Int32,System.Int32)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetBytes", "(System.String,System.Int32,System.Int32,System.Byte[],System.Int32)", "", "Argument[0]", "Argument[3]", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.Byte*,System.Int32,System.Char*,System.Int32)", "", "Argument[0].Element", "Argument[2]", "taint", "manual"] - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.Text", "Encoding", True, "GetChars", "(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)", "", "Argument[0].Element", "Argument[3]", "taint", "manual"] - ["System.Text", "Encoding", True, "GetChars", "(System.ReadOnlySpan,System.Span)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - ["System.Text", "Encoding", False, "GetString", "(System.Byte*,System.Int32)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] - ["System.Text", "Encoding", True, "GetString", "(System.Byte[])", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] diff --git a/csharp/ql/lib/ext/System.Xml.model.yml b/csharp/ql/lib/ext/System.Xml.model.yml index 55825304a145..efea34b40dbe 100644 --- a/csharp/ql/lib/ext/System.Xml.model.yml +++ b/csharp/ql/lib/ext/System.Xml.model.yml @@ -4,6 +4,25 @@ extensions: extensible: summaryModel data: - ["System.Xml", "XmlAttributeCollection", False, "CopyTo", "(System.Xml.XmlAttribute[],System.Int32)", "", "Argument[this].Element", "Argument[0].Element", "value", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[3]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[3]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[5]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[0].Element", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[3]", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[5]", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.Byte[],System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0].Element", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[1]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[1]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession)", "", "Argument[3]", "ReturnValue", "taint", "df-manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[0]", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[1]", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose)", "", "Argument[3]", "ReturnValue", "taint", "manual"] + - ["System.Xml", "XmlDictionaryReader", False, "CreateBinaryReader", "(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas)", "", "Argument[0]", "ReturnValue", "taint", "df-manual"] - ["System.Xml", "XmlDocument", False, "Load", "(System.IO.Stream)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.Xml", "XmlDocument", False, "Load", "(System.IO.TextReader)", "", "Argument[0]", "Argument[this]", "taint", "manual"] - ["System.Xml", "XmlDocument", False, "Load", "(System.String)", "", "Argument[0]", "Argument[this]", "taint", "manual"] diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index faa7e5e71989..1e89cbf9b23d 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 5.1.10-dev +version: 5.2.0 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp @@ -8,12 +8,14 @@ upgrades: upgrades dependencies: codeql/controlflow: ${workspace} codeql/dataflow: ${workspace} + codeql/dataflowstack: ${workspace} codeql/mad: ${workspace} codeql/ssa: ${workspace} codeql/threat-models: ${workspace} codeql/tutorial: ${workspace} codeql/util: ${workspace} codeql/xml: ${workspace} + codeql/global-controlflow: ${workspace} dataExtensions: - ext/*.model.yml - ext/generated/*.model.yml diff --git a/csharp/ql/lib/semmle/code/asp/WebConfig.qll b/csharp/ql/lib/semmle/code/asp/WebConfig.qll index f9106bcd1afd..384c3a013c3b 100644 --- a/csharp/ql/lib/semmle/code/asp/WebConfig.qll +++ b/csharp/ql/lib/semmle/code/asp/WebConfig.qll @@ -8,14 +8,14 @@ import csharp * A `Web.config` file. */ class WebConfigXml extends XmlFile { - WebConfigXml() { this.getName().matches("%Web.config") } + WebConfigXml() { this.getName().toLowerCase().matches("%web.config") } } /** * A `Web.config` transformation file. */ class WebConfigReleaseTransformXml extends XmlFile { - WebConfigReleaseTransformXml() { this.getName().matches("%Web.Release.config") } + WebConfigReleaseTransformXml() { this.getName().toLowerCase().matches("%web.release.config") } } /** A `` tag in an ASP.NET configuration file. */ diff --git a/csharp/ql/lib/semmle/code/csharp/Type.qll b/csharp/ql/lib/semmle/code/csharp/Type.qll index 9283bb3002a1..d11b5618e806 100644 --- a/csharp/ql/lib/semmle/code/csharp/Type.qll +++ b/csharp/ql/lib/semmle/code/csharp/Type.qll @@ -138,6 +138,9 @@ class ValueOrRefType extends Type, Attributable, @value_or_ref_type { /** Gets an immediate subtype of this type, if any. */ ValueOrRefType getASubType() { result.getABaseType() = this } + /** Gets an immediate supertype of this type, if any. */ + ValueOrRefType getASuperType() { this.getABaseType() = result } + /** Gets a member of this type, if any. */ Member getAMember() { result.getDeclaringType() = this } diff --git a/csharp/ql/lib/semmle/code/csharp/commons/ComparisonTest.qll b/csharp/ql/lib/semmle/code/csharp/commons/ComparisonTest.qll index b4641560892b..6a804f54490c 100644 --- a/csharp/ql/lib/semmle/code/csharp/commons/ComparisonTest.qll +++ b/csharp/ql/lib/semmle/code/csharp/commons/ComparisonTest.qll @@ -305,6 +305,7 @@ class ComparisonTest extends TComparisonTest { } /** Gets an argument of this comparison test. */ + pragma[nomagic] Expr getAnArgument() { result = this.getFirstArgument() or result = this.getSecondArgument() diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlowStack.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlowStack.qll new file mode 100644 index 000000000000..0cbca2e92ff5 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/DataFlowStack.qll @@ -0,0 +1,36 @@ +import csharp +private import codeql.dataflow.DataFlow +private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific +private import codeql.dataflowstack.DataFlowStack as DFS +private import DFS::DataFlowStackMake as DataFlowStackFactory + +private module DataFlowStackInput implements + DFS::DataFlowStackSig +{ + private module Flow = DataFlow::Global; + + CsharpDataFlow::Node getNode(Flow::PathNode n) { result = n.getNode() } + + predicate isSource(Flow::PathNode n) { n.isSource() } + + Flow::PathNode getASuccessor(Flow::PathNode n) { result = n.getASuccessor() } + + CsharpDataFlow::DataFlowCallable getARuntimeTarget(CsharpDataFlow::DataFlowCall call) { + result = call.getARuntimeTarget() + } + + CsharpDataFlow::Node getAnArgumentNode(CsharpDataFlow::DataFlowCall call) { + result = call.getArgument(_) + } +} + +module DataFlowStackMake { + import DataFlowStackFactory::FlowStack> +} + +module BiStackAnalysisMake< + DataFlowStackFactory::DataFlow::ConfigSig ConfigA, + DataFlowStackFactory::DataFlow::ConfigSig ConfigB> +{ + import DataFlowStackFactory::BiStackAnalysis, ConfigB, DataFlowStackInput> +} diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTrackingStack.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTrackingStack.qll new file mode 100644 index 000000000000..e99deb958546 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/TaintTrackingStack.qll @@ -0,0 +1,37 @@ +import csharp +private import codeql.dataflow.DataFlow +private import semmle.code.csharp.dataflow.internal.DataFlowImplSpecific +private import semmle.code.csharp.dataflow.internal.TaintTrackingImplSpecific +private import codeql.dataflowstack.TaintTrackingStack as TTS +private import TTS::TaintTrackingStackMake as TaintTrackingStackFactory + +private module TaintTrackingStackInput + implements TTS::TaintTrackingStackSig +{ + private module Flow = TaintTracking::Global; + + CsharpDataFlow::Node getNode(Flow::PathNode n) { result = n.getNode() } + + predicate isSource(Flow::PathNode n) { n.isSource() } + + Flow::PathNode getASuccessor(Flow::PathNode n) { result = n.getASuccessor() } + + CsharpDataFlow::DataFlowCallable getARuntimeTarget(CsharpDataFlow::DataFlowCall call) { + result = call.getARuntimeTarget() + } + + CsharpDataFlow::Node getAnArgumentNode(CsharpDataFlow::DataFlowCall call) { + result = call.getArgument(_) + } +} + +module TaintTrackingStackMake { + import TaintTrackingStackFactory::FlowStack> +} + +module BiStackAnalysisMake< + TaintTrackingStackFactory::DataFlow::ConfigSig ConfigA, + TaintTrackingStackFactory::DataFlow::ConfigSig ConfigB> +{ + import TaintTrackingStackFactory::BiStackAnalysis, ConfigB, TaintTrackingStackInput> +} \ No newline at end of file diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll index ff2bf7092515..9373c46466a0 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll @@ -2585,6 +2585,15 @@ class NodeRegion instanceof ControlFlow::BasicBlock { string toString() { result = "NodeRegion" } predicate contains(Node n) { this = n.getControlFlowNode().getBasicBlock() } + + int totalOrder() { + this = + rank[result](ControlFlow::BasicBlock b, int startline, int startcolumn | + b.getLocation().hasLocationInfo(_, startline, startcolumn, _, _) + | + b order by startline, startcolumn + ) + } } /** diff --git a/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll b/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll index eecbc35900aa..8547a6cbbc5f 100644 --- a/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll +++ b/csharp/ql/lib/semmle/code/csharp/exprs/Call.qll @@ -40,6 +40,7 @@ class Call extends Expr, @call { Callable getTarget() { none() } /** Gets the `i`th argument to this call, if any. */ + pragma[nomagic] Expr getArgument(int i) { result = this.getChild(i) and i >= 0 } /** diff --git a/csharp/ql/lib/semmle/code/csharp/hashcons/HashCons.qll b/csharp/ql/lib/semmle/code/csharp/hashcons/HashCons.qll new file mode 100644 index 000000000000..a235f49ffd54 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/hashcons/HashCons.qll @@ -0,0 +1,743 @@ +import csharp + +/** + * A hash-cons representation of an expression. + * + * Note: Here is how you go about adding a hash cons for a new expression: + * + * Step 1: Add a branch to this IPA type. + * Step 2: Add a disjunct to `numberableExpr`. + * Step 3: Add a disjunct to `nonUniqueHashCons`. + * + * Notes on performance: + * - Care must be taken not to have `numberableExpr` depend on `THashCons`. + * Since `THashCons` already depends on `numberableExpr` this would introduce + * unnecessary recursion that would ruin performance. + * - This library uses lots of non-linear recursion (i.e., more than one + * recursive call in a single disjunct). Care must be taken to ensure good + * performance when dealing with non-linear recursion. For example, consider + * a snippet such as: + * ```ql + * predicate foo(BinaryExpr bin) { + * interesting(bin) and + * foo(bin.getLeft()) and + * foo(bin.getRight()) + * } + * ``` + * to ensure that `foo` is joined optimally it should be rewritten to: + * + * ```ql + * pragma[nomagic] + * predicate fooLeft(BinaryExpr bin) { + * interesting(bin) and + * foo(bin.getLeft()) + * } + * + * pragma[nomagic] + * predicate fooRight(BinaryExpr bin) { + * interesting(bin) and + * foo(bin.getRight()) + * } + * + * predicate foo(BinaryExpr bin) { + * fooLeft(bin) and + * fooRight(bin) + * } + * ``` + */ +cached +private newtype THashCons = + TVariableAccessHashCons(LocalScopeVariable v) { variableAccessHashCons(_, v) } or + TConstantHashCons(Type type, string value) { constantHashCons(_, type, value) } or + TFieldAccessHashCons(Field field, THashCons qualifier) { + fieldAccessHashCons(_, field, qualifier) + } or + TPropertyAccessHashCons(Property prop, THashCons qualifier) { + propertyAccessHashCons(_, prop, qualifier) + } or + TBinaryHashCons(string operator, THashCons left, THashCons right) { + binaryHashCons(_, operator, left, right) + } or + TThisHashCons() or + TBaseHashCons() or + TTypeAccessHashCons(Type t) { typeAccessHashCons(_, t) } or + TDefaultValueWithoutTypeHashCons() or + TDefaultValueWithTypeHashCons(THashCons typeAccess) { + defaultValueWithTypeHashCons(_, typeAccess) + } or + TIndexerAccessHashCons(Indexer i) { indexerAccessHashCons(_, i) } or + TEventAccessHashCons(Event ev) { eventAccessHashCons(_, ev) } or + TDynamicMemberAccessHashCons(DynamicMember dm) { dynamicMemberAccessHashCons(_, dm) } or + TTypeOfHashCons(THashCons typeAccess) { typeOfHashCons(_, typeAccess) } or + TUnaryHashCons(string operator, THashCons operand) { unaryHashCons(_, operator, operand) } or + TConditionalHashCons(THashCons cond, THashCons then_, THashCons else_) { + conditionalHashCons(_, cond, then_, else_) + } or + TMethodCallHashCons(string name, CallHashCons::TListPartialHashCons args) { + methodCallHashCons(_, name, args) + } or + TConstructorInitializerCallHashCons(string name, CallHashCons::TListPartialHashCons args) { + constructorInitializerCallHashCons(_, name, args) + } or + TOperatorCallHashCons(string name, CallHashCons::TListPartialHashCons args) { + operatorCallHashCons(_, name, args) + } or + TDelegateLikeCallHashCons(THashCons expr, CallHashCons::TListPartialHashCons args) { + delegateLikeCallHashCons(_, expr, args) + } or + TObjectCreationHashCons(string name, CallHashCons::TListPartialHashCons args) { + objectCreationHashCons(_, name, args) + } or + TCastHashCons(Type targetType, THashCons expr) { castHashCons(_, targetType, expr) } or + TAssignmentHashCons(string operator, THashCons left, THashCons right) { + assignmentHashCons(_, operator, left, right) + } or + TArrayAccessHashCons(THashCons index, THashCons qualifier) { + arrayAccessHashCons(_, index, qualifier) + } or + TArrayInitializerHashCons(ArrayInitializerHashCons::TListPartialHashCons list) { + arrayInitializerHashCons(_, list) + } or + TArrayCreationHashCons(THashCons initializer, ArrayCreationHashCons::TListPartialHashCons lengths) { + arrayCreationHashCons(_, initializer, lengths) + } or + TLocalVariableDeclWithInitializerHashCons(Variable v, THashCons initializer) { + localVariableDeclWithInitializerHashCons(_, v, initializer) + } or + TLocalVariableDeclWithoutInitializerHashCons(Variable v) { + localVariableDeclWithoutInitializerHashCons(_, v) + } or + TDefineSymbolHashCons(string name) { defineSymbolHashCons(_, name) } or + TUniqueHashCons(Expr e) { uniqueHashCons(e) } + +private predicate variableAccessHashCons(LocalScopeVariableAccess va, LocalScopeVariable v) { + numberableExpr(va) and + va.getTarget() = v +} + +private predicate constantHashCons(Literal lit, Type t, string value) { + numberableExpr(lit) and + lit.getType() = t and + lit.getValue() = value +} + +private predicate fieldAccessHashCons(FieldAccess fa, Field f, THashCons qualifier) { + numberableExpr(fa) and + hashCons(fa.getQualifier()) = qualifier and + fa.getTarget() = f +} + +private predicate propertyAccessHashCons(PropertyAccess pa, Property prop, THashCons qualifier) { + numberableExpr(pa) and + hashCons(pa.getQualifier()) = qualifier and + pa.getTarget() = prop +} + +pragma[nomagic] +private predicate binaryHashConsLeft(BinaryOperation binary, THashCons h) { + numberableExpr(binary) and + hashCons(binary.getLeftOperand()) = h +} + +pragma[nomagic] +private predicate binaryHashConsRight(BinaryOperation binary, THashCons h) { + numberableExpr(binary) and + hashCons(binary.getRightOperand()) = h +} + +private predicate binaryHashCons( + BinaryOperation binary, string operator, THashCons left, THashCons right +) { + binaryHashConsLeft(binary, left) and + binaryHashConsRight(binary, right) and + binary.getOperator() = operator +} + +private predicate unaryHashCons(UnaryOperation unary, string operator, THashCons operand) { + numberableExpr(unary) and + hashCons(unary.getOperand()) = operand and + unary.getOperator() = operator +} + +pragma[nomagic] +private predicate conditionalHashConsCond(ConditionalExpr condExpr, THashCons cond) { + numberableExpr(condExpr) and + hashCons(condExpr.getCondition()) = cond +} + +pragma[nomagic] +private predicate conditionalHashConsThen(ConditionalExpr condExpr, THashCons then_) { + numberableExpr(condExpr) and + hashCons(condExpr.getThen()) = then_ +} + +pragma[nomagic] +private predicate conditionalHashConsElse(ConditionalExpr condExpr, THashCons else_) { + numberableExpr(condExpr) and + hashCons(condExpr.getElse()) = else_ +} + +private predicate conditionalHashCons( + ConditionalExpr condExpr, THashCons cond, THashCons then_, THashCons else_ +) { + numberableExpr(condExpr) and + conditionalHashConsCond(condExpr, cond) and + conditionalHashConsThen(condExpr, then_) and + conditionalHashConsElse(condExpr, else_) +} + +private predicate typeAccessHashCons(TypeAccess ta, Type t) { ta.getTarget() = t } + +private predicate indexerAccessHashCons(IndexerAccess ia, Indexer i) { ia.getTarget() = i } + +private predicate eventAccessHashCons(EventAccess ea, Event e) { ea.getTarget() = e } + +private predicate dynamicMemberAccessHashCons(DynamicMemberAccess dma, DynamicMember dm) { + dma.getTarget() = dm +} + +private predicate thisHashCons(ThisAccess ta) { any() } + +private predicate baseHashCons(BaseAccess ba) { any() } + +private predicate defaultValueWithTypeHashCons(DefaultValueExpr dve, THashCons typeAccess) { + hashCons(dve.getTypeAccess()) = typeAccess +} + +private predicate defaultValueWithoutTypeHashCons(DefaultValueExpr dve) { + not exists(dve.getTypeAccess()) +} + +private predicate castHashCons(Cast cast, Type targetType, THashCons expr) { + // By not using hashCons(cast.getTypeAccess) we avoid unnecessary non-linear recursion + targetType = cast.getType() and + hashCons(cast.getExpr()) = expr +} + +pragma[nomagic] +private predicate assignmentHashConsLeft(Assignment a, THashCons left) { + numberableAssignment(a) and + hashCons(a.getLValue()) = left +} + +pragma[nomagic] +private predicate assignmentHashConsRight(Assignment a, THashCons right) { + numberableAssignment(a) and + hashCons(a.getRValue()) = right +} + +private predicate assignmentHashCons(Assignment a, string operator, THashCons left, THashCons right) { + a.getOperator() = operator and + assignmentHashConsLeft(a, left) and + assignmentHashConsRight(a, right) +} + +private predicate typeOfHashCons(TypeofExpr typeOf, THashCons typeAccess) { + numberableExpr(typeOf) and + hashCons(typeOf.getTypeAccess()) = typeAccess +} + +private predicate arrayAccessHashCons(ArrayAccess aa, THashCons index, THashCons qualifier) { + numberableExpr(aa) and + // TODO: This is a bit lazy. We should really do something similar to what we do for all arguments + index = hashCons(unique( | | aa.getAnIndex())) and + qualifier = hashCons(aa.getQualifier()) +} + +private signature module ListHashConsInputSig { + class List { + string toString(); + } + + Expr getExpr(List l, int i); +} + +private module ListHashCons { + private import Input + + int getNumberOfExprs(List list) { result = count(int i | exists(getExpr(list, i)) | i) } + + private predicate listArgsAreNumberable(List list, int remaining) { + getNumberOfExprs(list) = remaining + or + exists(Expr e | + listArgsAreNumberable(list, remaining + 1) and + e = getExpr(list, remaining) and + numberableExpr(e) + ) + } + + final class FinalList = List; + + class NumberableList extends FinalList { + NumberableList() { listArgsAreNumberable(this, 0) } + } + + pragma[nomagic] + predicate listHashCons(NumberableList list, TListPartialHashCons args) { + listPartialHashCons(list, getNumberOfExprs(list), args) + } + + pragma[nomagic] + private predicate listPartialHashCons(NumberableList list, int index, TListPartialHashCons head) { + exists(list) and + index = 0 and + head = TNilArgument() + or + exists(TListPartialHashCons prev, THashCons prevHashCons | + listPartialHashCons(list, index - 1, pragma[only_bind_out](prev)) and + listArgHashCons(list, index - 1, pragma[only_bind_into](prevHashCons)) and + head = TArgument(prev, prevHashCons) + ) + } + + pragma[nomagic] + private predicate listArgHashCons(NumberableList list, int index, THashCons arg) { + hashCons(getExpr(list, index)) = arg + } + + newtype TListPartialHashCons = + TNilArgument() or + TArgument(TListPartialHashCons head, THashCons arg) { + exists(NumberableList call, int index | + listArgHashCons(call, index, arg) and + listPartialHashCons(call, index, head) + ) + } +} + +private module CallHashConsInput implements ListHashConsInputSig { + class List = Call; + + Expr getExpr(List l, int i) { result = l.getArgument(i) } +} + +private module CallHashCons = ListHashCons; + +private predicate methodCallHashCons( + MethodCall call, string name, CallHashCons::TListPartialHashCons args +) { + numberableExpr(call) and + call.getTarget().getName() = name and + CallHashCons::listHashCons(call, args) +} + +private predicate constructorInitializerCallHashCons( + ConstructorInitializer call, string name, CallHashCons::TListPartialHashCons args +) { + CallHashCons::listHashCons(call, args) and + call.getTarget().getName() = name +} + +private predicate operatorCallHashCons( + OperatorCall call, string name, CallHashCons::TListPartialHashCons args +) { + CallHashCons::listHashCons(call, args) and + call.getTarget().getName() = name +} + +private predicate delegateLikeCallHashCons( + DelegateLikeCall call, THashCons expr, CallHashCons::TListPartialHashCons args +) { + numberableExpr(call) and + CallHashCons::listHashCons(call, args) and + hashCons(call.getExpr()) = expr +} + +private predicate objectCreationHashCons( + ObjectCreation oc, string name, CallHashCons::TListPartialHashCons args +) { + oc.getTarget().getName() = name and + CallHashCons::listHashCons(oc, args) +} + +private module ArrayInitializerHashConsInput implements ListHashConsInputSig { + class List extends ArrayInitializer { + List() { + // For performance reasons we restrict this to "small" array initializers. + this.getNumberOfElements() < 256 + } + } + + Expr getExpr(List l, int i) { result = l.getElement(i) } +} + +private module ArrayInitializerHashCons = ListHashCons; + +private module ArrayCreationHashConsInput implements ListHashConsInputSig { + class List = ArrayCreation; + + Expr getExpr(List l, int i) { result = l.getLengthArgument(i) } +} + +private module ArrayCreationHashCons = ListHashCons; + +private predicate arrayCreationHashCons( + ArrayCreation ac, THashCons initializer, ArrayCreationHashCons::TListPartialHashCons lengths +) { + tHashCons(ac.getInitializer()) = initializer and + ArrayCreationHashCons::listHashCons(ac, lengths) +} + +private predicate arrayInitializerHashCons( + ArrayInitializer ai, ArrayInitializerHashCons::TListPartialHashCons list +) { + ArrayInitializerHashCons::listHashCons(ai, list) +} + +private predicate localVariableDeclWithInitializerHashCons( + LocalVariableDeclExpr lvd, LocalVariable v, THashCons initializer +) { + lvd.getVariable() = v and + tHashCons(lvd.getInitializer()) = initializer +} + +private predicate localVariableDeclWithoutInitializerHashCons( + LocalVariableDeclExpr lvd, LocalVariable v +) { + lvd.getVariable() = v and + not exists(lvd.getInitializer()) +} + +private predicate defineSymbolHashCons(DefineSymbolExpr dse, string name) { dse.getName() = name } + +pragma[nomagic] +private predicate numberableBinaryLeftExpr(BinaryOperation binary) { + numberableExpr(binary.getLeftOperand()) +} + +pragma[nomagic] +private predicate numberableBinaryRightExpr(BinaryOperation binary) { + numberableExpr(binary.getRightOperand()) +} + +private predicate numberableBinaryExpr(BinaryOperation binary) { + numberableBinaryLeftExpr(binary) and + numberableBinaryRightExpr(binary) +} + +pragma[nomagic] +private predicate numberableDelegateLikeCallExpr(DelegateLikeCall dc) { + numberableExpr(dc.getExpr()) +} + +private predicate numberableCall(Call c) { + c instanceof CallHashCons::NumberableList and + ( + c instanceof MethodCall + or + c instanceof ConstructorInitializer + or + c instanceof OperatorCall + or + numberableDelegateLikeCallExpr(c) + or + c instanceof ObjectCreation + ) +} + +pragma[nomagic] +private predicate numberableConditionalCond(ConditionalExpr cond) { + numberableExpr(cond.getCondition()) +} + +pragma[nomagic] +private predicate numberableConditionalThen(ConditionalExpr cond) { numberableExpr(cond.getThen()) } + +pragma[nomagic] +private predicate numberableConditionalElse(ConditionalExpr cond) { numberableExpr(cond.getElse()) } + +private predicate numberableConditional(ConditionalExpr cond) { + numberableConditionalCond(cond) and + numberableConditionalThen(cond) and + numberableConditionalElse(cond) +} + +private predicate numberableDefaultValue(DefaultValueExpr dve) { + not exists(dve.getTypeAccess()) + or + numberableExpr(dve.getTypeAccess()) +} + +private predicate numberableCast(Cast cast) { numberableExpr(cast.getExpr()) } + +private predicate numberableAssignment(Assignment a) { + numberableExpr(a.getLValue()) and + numberableExpr(a.getRValue()) +} + +private predicate numberableTypeOfAccess(TypeofExpr typeOf) { + numberableExpr(typeOf.getTypeAccess()) +} + +private predicate numberableArrayAccess(ArrayAccess aa) { + numberableExpr(aa.getQualifier()) and + count(aa.getAnIndex()) = 1 +} + +private predicate numberableArrayInitializer(ArrayInitializer init) { + init.getNumberOfElements() < 256 and + init instanceof ArrayInitializerHashCons::NumberableList +} + +private predicate numberableArrayCreation(ArrayCreation ac) { + numberableExpr(ac.getInitializer()) and + ac instanceof ArrayCreationHashCons::NumberableList +} + +private predicate numberableLocalVariableDecl(LocalVariableDeclExpr lvd) { + not exists(lvd.getInitializer()) + or + numberableExpr(lvd.getInitializer()) +} + +/** + * Holds if `e` can be assigned a non-unique hashcons. + * + * Note: This predicate _must not_ depend on `THashCons`. + */ +private predicate numberableExpr(Expr e) { + e instanceof LocalScopeVariableAccess + or + e instanceof FieldAccess + or + e instanceof Literal + or + e instanceof TypeAccess + or + e instanceof IndexerAccess + or + e instanceof EventAccess + or + e instanceof DynamicMemberAccess + or + e instanceof DefineSymbolExpr + or + numberableExpr(e.(FieldAccess).getQualifier()) + or + numberableExpr(e.(PropertyAccess).getQualifier()) + or + numberableBinaryExpr(e) + or + numberableExpr(e.(UnaryOperation).getOperand()) + or + numberableCall(e) + or + numberableConditional(e) + or + e instanceof ThisAccess + or + e instanceof BaseAccess + or + numberableDefaultValue(e) + or + numberableCast(e) + or + numberableAssignment(e) + or + numberableTypeOfAccess(e) + or + numberableArrayAccess(e) + or + numberableArrayInitializer(e) + or + numberableArrayCreation(e) + or + numberableLocalVariableDecl(e) +} + +/** + * Gets the non-unique hashcons for `e`, if any. + */ +private THashCons nonUniqueHashCons(Expr e) { + exists(LocalScopeVariable v | + variableAccessHashCons(e, v) and + result = TVariableAccessHashCons(v) + ) + or + exists(Type type, string value | + constantHashCons(e, type, value) and + result = TConstantHashCons(type, value) + ) + or + exists(Field field, THashCons qualifier | + fieldAccessHashCons(e, field, qualifier) and + result = TFieldAccessHashCons(field, qualifier) + ) + or + exists(Property prop, THashCons qualifier | + propertyAccessHashCons(e, prop, qualifier) and + result = TPropertyAccessHashCons(prop, qualifier) + ) + or + exists(string operator, THashCons left, THashCons right | + binaryHashCons(e, operator, left, right) and + result = TBinaryHashCons(operator, left, right) + ) + or + exists(string operator, THashCons operand | + unaryHashCons(e, operator, operand) and + result = TUnaryHashCons(operator, operand) + ) + or + exists(THashCons cond, THashCons then_, THashCons else_ | + conditionalHashCons(e, cond, then_, else_) and + result = TConditionalHashCons(cond, then_, else_) + ) + or + exists(Type t | + typeAccessHashCons(e, t) and + result = TTypeAccessHashCons(t) + ) + or + exists(Indexer i | + indexerAccessHashCons(e, i) and + result = TIndexerAccessHashCons(i) + ) + or + exists(Event ev | + eventAccessHashCons(e, ev) and + result = TEventAccessHashCons(ev) + ) + or + exists(DynamicMember dm | + dynamicMemberAccessHashCons(e, dm) and + result = TDynamicMemberAccessHashCons(dm) + ) + or + exists(string name, CallHashCons::TListPartialHashCons args | + methodCallHashCons(e, name, args) and + result = TMethodCallHashCons(name, args) + ) + or + exists(string name, CallHashCons::TListPartialHashCons args | + constructorInitializerCallHashCons(e, name, args) and + result = TConstructorInitializerCallHashCons(name, args) + ) + or + exists(string name, CallHashCons::TListPartialHashCons args | + operatorCallHashCons(e, name, args) and + result = TOperatorCallHashCons(name, args) + ) + or + exists(THashCons expr, CallHashCons::TListPartialHashCons args | + delegateLikeCallHashCons(e, expr, args) and + result = TDelegateLikeCallHashCons(expr, args) + ) + or + exists(string name, CallHashCons::TListPartialHashCons args | + objectCreationHashCons(e, name, args) and + result = TObjectCreationHashCons(name, args) + ) + or + thisHashCons(e) and + result = TThisHashCons() + or + baseHashCons(e) and + result = TBaseHashCons() + or + defaultValueWithoutTypeHashCons(e) and + result = TDefaultValueWithoutTypeHashCons() + or + exists(THashCons typeAccess | + defaultValueWithTypeHashCons(e, typeAccess) and + result = TDefaultValueWithTypeHashCons(typeAccess) + ) + or + exists(THashCons operand, Type targetType | + castHashCons(e, targetType, operand) and + result = TCastHashCons(targetType, operand) + ) + or + exists(string operator, THashCons left, THashCons right | + assignmentHashCons(e, operator, left, right) and + result = TAssignmentHashCons(operator, left, right) + ) + or + exists(THashCons typeAccess | + typeOfHashCons(e, typeAccess) and + result = TTypeOfHashCons(typeAccess) + ) + or + exists(THashCons index, THashCons qualifier | + arrayAccessHashCons(e, index, qualifier) and + result = TArrayAccessHashCons(index, qualifier) + ) + or + exists(ArrayInitializerHashCons::TListPartialHashCons list | + arrayInitializerHashCons(e, list) and + result = TArrayInitializerHashCons(list) + ) + or + exists(THashCons initializer, ArrayCreationHashCons::TListPartialHashCons lengths | + arrayCreationHashCons(e, initializer, lengths) and + result = TArrayCreationHashCons(initializer, lengths) + ) + or + exists(Variable v, THashCons initializer | + localVariableDeclWithInitializerHashCons(e, v, initializer) and + result = TLocalVariableDeclWithInitializerHashCons(v, initializer) + ) + or + exists(Variable v | + localVariableDeclWithoutInitializerHashCons(e, v) and + result = TLocalVariableDeclWithoutInitializerHashCons(v) + ) + or + exists(string name | + defineSymbolHashCons(e, name) and + result = TDefineSymbolHashCons(name) + ) +} + +private predicate uniqueHashCons(Expr e) { not numberableExpr(e) } + +private THashCons tHashCons(Expr e) { + result = nonUniqueHashCons(e) + or + uniqueHashCons(e) and + result = TUniqueHashCons(e) +} + +/** + * Gets the hashcons of `e`, if any. + * + * To check if `e1` has the same structure as `e2` + * use `hashCons(e1).getAnExpr() = e2`. + */ +cached +HashCons hashCons(Expr e) { result = tHashCons(e) } + +/** + * A representation of the "structure" of an expression. + */ +class HashCons extends THashCons { + Expr getAnExpr() { this = hashCons(result) } + + /** Gets the unique representative expression with this hashcons. */ + private Expr getReprExpr() { + result = + min(Location loc, Expr e | + e = this.getAnExpr() and + loc = e.getLocation() + | + e order by loc.getFile().getAbsolutePath(), loc.getStartLine(), loc.getStartColumn() + ) + } + + /** + * Gets the string representation of this hash cons. + * + * This is the `toString` of an arbitrarily chosen expression with this + * hashcons. + */ + string toString() { result = this.getReprExpr().toString() } + + /** + * Gets the location of this hashcons. + * + * This is the location of an arbitrarily chosen expression with this + * hashcons. + */ + Location getLocation() { result = this.getReprExpr().getLocation() } +} diff --git a/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/ControlFlow.qll b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/ControlFlow.qll new file mode 100644 index 000000000000..79de23b8bd23 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/ControlFlow.qll @@ -0,0 +1,11 @@ +import csharp + +/** + * Provides classes for performing global (inter-procedural) control flow analyses. + */ +module ControlFlow { + private import internal.ControlFlowSpecific + private import codeql.globalcontrolflow.ControlFlow + import ControlFlowMake + import Public +} diff --git a/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowPrivate.qll b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowPrivate.qll new file mode 100644 index 000000000000..e9043da6c604 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowPrivate.qll @@ -0,0 +1,32 @@ +private import csharp as CS +private import ControlFlowPublic + +predicate edge(Node n1, Node n2) { n1.getASuccessor() = n2 } + +predicate callTarget(CallNode call, Callable target) { call.getARuntimeTarget() = target } + +predicate flowEntry(Callable c, Node entry) { + entry.(CS::ControlFlow::Nodes::EntryNode).getCallable() = c +} + +predicate flowExit(Callable c, Node exitNode) { + exitNode.(CS::ControlFlow::Nodes::ExitNode).getCallable() = c +} + +Callable getEnclosingCallable(Node n) { n.getEnclosingCallable() = result } + +predicate hiddenNode(Node n) { none() } + +private newtype TSplit = TNone() { none() } + +class Split extends TSplit { + abstract string toString(); + + abstract CS::Location getLocation(); + + abstract predicate entry(Node n1, Node n2); + + abstract predicate exit(Node n1, Node n2); + + abstract predicate blocked(Node n1, Node n2); +} diff --git a/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowPublic.qll b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowPublic.qll new file mode 100644 index 000000000000..a67bc54a90b7 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowPublic.qll @@ -0,0 +1,13 @@ +private import csharp as CS + +class Node extends CS::ControlFlow::Node { } + +class CallNode extends Node { + CS::Call call; + + CallNode() { call = super.getAstNode() } + + Callable getARuntimeTarget() { result = call.getARuntimeTarget() } +} + +class Callable = CS::Callable; diff --git a/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowSpecific.qll b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowSpecific.qll new file mode 100644 index 000000000000..f1f8ba3a5d75 --- /dev/null +++ b/csharp/ql/lib/semmle/code/csharp/interproccontrolflow/internal/ControlFlowSpecific.qll @@ -0,0 +1,19 @@ +/** + * Provides C#-specific definitions for use in the control-flow library. + */ + +private import csharp +private import codeql.globalcontrolflow.ControlFlow + +module Private { + import ControlFlowPrivate +} + +module Public { + import ControlFlowPublic +} + +module CSharpControlFlow implements InputSig { + import Private + import Public +} diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/TaintedPathQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/TaintedPathQuery.qll index 2f20eb6e3421..44b6b8a08bf9 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/TaintedPathQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/TaintedPathQuery.qll @@ -4,6 +4,7 @@ */ import csharp +private import codeql.util.Unit private import semmle.code.csharp.controlflow.Guards private import semmle.code.csharp.security.dataflow.flowsinks.FlowSinks private import semmle.code.csharp.security.dataflow.flowsources.FlowSources @@ -24,16 +25,93 @@ abstract class Sink extends ApiSinkExprNode { } /** * A sanitizer for uncontrolled data in path expression vulnerabilities. */ -abstract class Sanitizer extends DataFlow::ExprNode { } +abstract class Sanitizer extends DataFlow::ExprNode { + /** Holds if this is a sanitizer when the flow state is `state`. */ + predicate isBarrier(TaintedPathConfig::FlowState state) { any() } +} + +/** A path normalization step. */ +private class PathNormalizationStep extends Unit { + /** + * Holds if the flow step from `n1` to `n2` transforms the path into an + * absolute path. + * + * For example, the argument-to-return-value step through a call + * to `System.IO.Path.GetFullPath` is a normalization step. + */ + abstract predicate isAdditionalFlowStep(DataFlow::Node n1, DataFlow::Node n2); +} + +private class GetFullPathStep extends PathNormalizationStep { + override predicate isAdditionalFlowStep(DataFlow::Node n1, DataFlow::Node n2) { + exists(Call call | + call.getARuntimeTarget().hasFullyQualifiedName("System.IO.Path", "GetFullPath") and + n1.asExpr() = call.getArgument(0) and + n2.asExpr() = call + ) + } +} + +/** Holds if `e` may evaluate to an absolute path. */ +bindingset[e] +pragma[inline_late] +private predicate isAbsolute(Expr e) { + exists(Expr absolute | DataFlow::localExprFlow(absolute, e) | + exists(Call call | absolute = call | + call.getARuntimeTarget() + .hasFullyQualifiedName(["System.Web.HttpServerUtilityBase", "System.Web.HttpRequest"], + "MapPath") + or + call.getARuntimeTarget().hasFullyQualifiedName("System.IO.Path", "GetFullPath") + or + call.getARuntimeTarget().hasFullyQualifiedName("System.IO.Directory", "GetCurrentDirectory") + ) + or + exists(PropertyRead read | absolute = read | + read.getTarget().hasFullyQualifiedName("System", "Environment", "CurrentDirectory") + ) + ) +} + +private class PathCombineStep extends PathNormalizationStep { + override predicate isAdditionalFlowStep(DataFlow::Node n1, DataFlow::Node n2) { + exists(Call call | + // The result of `Path.Combine(x, y)` is an absolute path when `x` is an + // absolute path. + call.getARuntimeTarget().hasFullyQualifiedName("System.IO.Path", "Combine") and + isAbsolute(call.getArgument(0)) and + n1.asExpr() = call.getArgument(1) and + n2.asExpr() = call + ) + } +} /** * A taint-tracking configuration for uncontrolled data in path expression vulnerabilities. */ -private module TaintedPathConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof Source } +private module TaintedPathConfig implements DataFlow::StateConfigSig { + newtype FlowState = + additional NotNormalized() or + additional Normalized() + + predicate isSource(DataFlow::Node source, FlowState state) { + source instanceof Source and state = NotNormalized() + } predicate isSink(DataFlow::Node sink) { sink instanceof Sink } + predicate isSink(DataFlow::Node sink, FlowState state) { none() } + + predicate isAdditionalFlowStep(DataFlow::Node n1, FlowState s1, DataFlow::Node n2, FlowState s2) { + any(PathNormalizationStep step).isAdditionalFlowStep(n1, n2) and + s1 = NotNormalized() and + s2 = Normalized() + } + + predicate isBarrierOut(DataFlow::Node node, FlowState state) { + isAdditionalFlowStep(_, state, node, _) + } + predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer } predicate observeDiffInformedIncrementalMode() { any() } @@ -42,7 +120,7 @@ private module TaintedPathConfig implements DataFlow::ConfigSig { /** * A taint-tracking module for uncontrolled data in path expression vulnerabilities. */ -module TaintedPath = TaintTracking::Global; +module TaintedPath = TaintTracking::GlobalWithState; /** * DEPRECATED: Use `ThreatModelSource` instead. @@ -101,7 +179,7 @@ class StreamWriterTaintedPathSink extends Sink { } /** - * A weak guard that is insufficient to prevent path tampering. + * A weak guard that may be insufficient to prevent path tampering. */ private class WeakGuard extends Guard { WeakGuard() { @@ -120,6 +198,14 @@ private class WeakGuard extends Guard { or this.(LogicalOperation).getAnOperand() instanceof WeakGuard } + + predicate isBarrier(TaintedPathConfig::FlowState state) { + state = TaintedPathConfig::Normalized() and + exists(Method m | this.(MethodCall).getTarget() = m | + m.getName() = "StartsWith" or + m.getName() = "EndsWith" + ) + } } /** @@ -128,12 +214,17 @@ private class WeakGuard extends Guard { * A weak check is one that is insufficient to prevent path tampering. */ class PathCheck extends Sanitizer { + Guard g; + PathCheck() { - // This expression is structurally replicated in a dominating guard which is not a "weak" check - exists(Guard g, AbstractValues::BooleanValue v | - g = this.(GuardedDataFlowNode).getAGuard(_, v) and - not g instanceof WeakGuard - ) + // This expression is structurally replicated in a dominating guard + exists(AbstractValues::BooleanValue v | g = this.(GuardedDataFlowNode).getAGuard(_, v)) + } + + override predicate isBarrier(TaintedPathConfig::FlowState state) { + g.(WeakGuard).isBarrier(state) + or + not g instanceof WeakGuard } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll index 1639563e9640..fea4a1a46e8b 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll @@ -6,146 +6,462 @@ import csharp private import semmle.code.csharp.controlflow.Guards private import semmle.code.csharp.security.dataflow.flowsinks.FlowSinks +abstract private class AbstractSanitizerMethod extends Method { } + +class MethodSystemStringStartsWith extends AbstractSanitizerMethod { + MethodSystemStringStartsWith() { this.hasFullyQualifiedName("System.String", "StartsWith") } +} + +abstract private class UnsanitizedPathCombiner extends Expr { } + +class PathCombinerViaMethodCall extends UnsanitizedPathCombiner { + PathCombinerViaMethodCall() { + this.(MethodCall).getTarget().hasFullyQualifiedName("System.IO.Path", "Combine") + } +} + +class PathCombinerViaStringInterpolation extends UnsanitizedPathCombiner instanceof InterpolatedStringExpr {} + +class PathCombinerViaStringConcatenation extends UnsanitizedPathCombiner instanceof AddExpr { + PathCombinerViaStringConcatenation() { + this.getAnOperand() instanceof StringLiteral + } +} + +class MethodCallGetFullPath extends MethodCall { + MethodCallGetFullPath() { this.getTarget().hasFullyQualifiedName("System.IO.Path", "GetFullPath") } +} + /** - * A data flow source for unsafe zip extraction. + * A taint tracking module for GetFullPath to String.StartsWith. */ -abstract class Source extends DataFlow::Node { } +module GetFullPathToQualifierTT = + TaintTracking::Global; + +private module GetFullPathToQualifierTaintTrackingConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node node) { + exists(MethodCallGetFullPath mcGetFullPath | node = DataFlow::exprNode(mcGetFullPath)) + } + + predicate isSink(DataFlow::Node node) { + exists(MethodCall mc | + mc.getTarget() instanceof MethodSystemStringStartsWith and + node.asExpr() = mc.getQualifier() + ) + } +} + +/** An access to the `FullName` property of a `ZipArchiveEntry`. */ +class ArchiveFullNameSource extends Source { + ArchiveFullNameSource() { + exists(PropertyAccess pa | this.asExpr() = pa | + pa.getTarget().getDeclaringType().hasFullyQualifiedName("System.IO.Compression", "ZipArchiveEntry") and + pa.getTarget().getName() = "FullName" + ) + } +} /** - * A data flow sink for unsafe zip extraction. + * A taint tracking module for String combining to GetFullPath. */ -abstract class Sink extends ApiSinkExprNode { } +module PathCombinerToGetFullPathTT = + TaintTracking::Global; /** - * A sanitizer for unsafe zip extraction. + * PathCombinerToGetFullPathTaintTrackingConfiguration - A Taint Tracking configuration that tracks + * a File path combining expression (Such as string concatenation, Path.Combine, or string interpolation), + * to a Path.GetFullPath method call's argument. + * + * We need this because we need to find a safe sequence of operations wherein + * - An absolute path is created (uncanonicalized) + * - The Path is canonicalized + * + * If the operations are in the opposite order, the resultant may still contain path traversal characters, + * as you cannot fully resolve a relative path. So we must ascertain that they are conducted in this sequence. */ -abstract class Sanitizer extends DataFlow::ExprNode { } +private module PathCombinerToGetFullPathTaintTrackingConfiguration implements DataFlow::ConfigSig { + /** + * We are looking for the result of some Path combining operation (String concat, Path.Combine, etc.) + */ + predicate isSource(DataFlow::Node node) { + exists(UnsanitizedPathCombiner pathCombiner | node = DataFlow::exprNode(pathCombiner)) + } + + /** + * Find the first (and only) argument of Path.GetFullPath, so we make sure that our expression + * first goes through some path combining function, and then is canonicalized. + */ + predicate isSink(DataFlow::Node node) { + exists(MethodCallGetFullPath mcGetFullPath | + node = DataFlow::exprNode(mcGetFullPath.getArgument(0)) + ) + } +} /** - * A taint tracking configuration for Zip Slip. + * Predicate to check for a safe sequence of events + * Path.Combine THEN Path.GetFullPath is applied (with possibly arbitrary mutations) */ -private module ZipSlipConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { source instanceof Source } +private predicate safeCombineGetFullPathSequence(MethodCallGetFullPath mcGetFullPath, Expr q) { + exists(UnsanitizedPathCombiner source | + PathCombinerToGetFullPathTT::flow(DataFlow::exprNode(source), + DataFlow::exprNode(mcGetFullPath.getArgument(0))) + ) and + GetFullPathToQualifierTT::flow(DataFlow::exprNode(mcGetFullPath), DataFlow::exprNode(q)) +} - predicate isSink(DataFlow::Node sink) { sink instanceof Sink } +/** + * The set of /valid/ Guards of RootSanitizerMethodCall. + * + * IN CONJUNCTION with BOTH + * Path.Combine + * AND Path.GetFullPath + * OR + * There is a direct flow from Path.GetFullPath to qualifier of RootSanitizerMethodCall. + * + * It is not simply enough for the qualifier of String.StartsWith + * to pass through Path.Combine without also passing through GetFullPath AFTER. + */ +class RootSanitizerMethodCall extends SanitizerMethodCall { + RootSanitizerMethodCall() { + exists(MethodSystemStringStartsWith sm | this.getTarget() = sm) and + exists(Expr q, AbstractValue v | + this.getQualifier() = q and + v.(AbstractValues::BooleanValue).getValue() = true and + exists(MethodCallGetFullPath mcGetFullPath | safeCombineGetFullPathSequence(mcGetFullPath, q)) + ) + } - predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer } + override Expr getFilePathArgument() { result = this.getQualifier() } +} - predicate observeDiffInformedIncrementalMode() { any() } +/** + * The set of Guards of RootSanitizerMethodCall that are used IN CONJUNCTION with + * Path.GetFullPath - it is not simply enough for the qualifier of String.StartsWith + * to pass through Path.Combine without also passing through GetFullPath. + */ +class ZipSlipGuard extends Guard { + ZipSlipGuard() { this instanceof SanitizerMethodCall } + + Expr getFilePathArgument() { result = this.(SanitizerMethodCall).getFilePathArgument() } +} + +abstract private class SanitizerMethodCall extends MethodCall { + SanitizerMethodCall() { this instanceof MethodCall } + + abstract Expr getFilePathArgument(); } /** - * A taint tracking module for Zip Slip. + * A taint tracking module for Zip Slip Guard. */ -module ZipSlip = TaintTracking::Global; +module SanitizedGuardTT = TaintTracking::Global; -/** An access to the `FullName` property of a `ZipArchiveEntry`. */ -class ArchiveFullNameSource extends Source { - ArchiveFullNameSource() { - exists(PropertyAccess pa | this.asExpr() = pa | - pa.getTarget() - .getDeclaringType() - .hasFullyQualifiedName("System.IO.Compression", "ZipArchiveEntry") and - pa.getTarget().getName() = "FullName" +/** + * SanitizedGuardTaintTrackingConfiguration - A Taint Tracking configuration class to trace + * parameters of a function to calls to RootSanitizerMethodCall (String.StartsWith). + * + * For example, the following function: + * void exampleFn(String somePath){ + * somePath = Path.GetFullPath(somePath); + * ... + * if(somePath.startsWith("aaaaa")) + * ... + * ... + * } + */ +private module SanitizedGuardTaintTrackingConfiguration implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { + source instanceof DataFlow::ParameterNode and + exists(RootSanitizerMethodCall smc | + smc.getEnclosingCallable() = source.getEnclosingCallable() + ) + } + + predicate isSink(DataFlow::Node sink) { + exists(RootSanitizerMethodCall smc | + smc.getAnArgument() = sink.asExpr() or + smc.getQualifier() = sink.asExpr() + ) + } +} + +/** + * An AbstractWrapperSanitizerMethod is a Method that + * is a suitable sanitizer for a ZipSlip path that may not have been canonicalized prior. + * + * If the return value of this Method correctly validates if a file path is in a valid location, + * or is a restricted subset of that validation, then any use of this Method is as valid as the Root + * sanitizer (Path.StartsWith). + */ +abstract private class AbstractWrapperSanitizerMethod extends AbstractSanitizerMethod { + Parameter paramFilename; + + AbstractWrapperSanitizerMethod() { + this.getReturnType() instanceof BoolType and + this.getAParameter() = paramFilename + } + + Parameter paramFilePath() { result = paramFilename } +} + +/* predicate aaaa(ZipSlipGuard g, DataFlow::ParameterNode source){ + exists(DataFlow::Node sink | + sink = DataFlow::exprNode(g.getFilePathArgument()) and + SanitizedGuardTT::flow(source, sink) and + ) +} */ + +/** + * A DirectWrapperSantizierMethod is a Method where + * The function can /only/ returns true when passes through the RootSanitizerGuard + * + * bool wrapperFn(a,b){ + * if(guard(a,b)) + * return true + * .... + * return false + * } + * + * bool wrapperFn(a,b){ + * ... + * return guard(a,b) + * } + */ +class DirectWrapperSantizierMethod extends AbstractWrapperSanitizerMethod { + /** + * To be declared a Wrapper, a function must: + * - Be a predicate (return a boolean) + * - Accept and use a parameter which represents a File path + * - Contain a call to another sanitizer + * - And can only return true if the sanitizer also returns true. + */ + DirectWrapperSantizierMethod() { + // For every return statement in this Method, + forex(ReturnStmt ret | ret.getEnclosingCallable() = this | + // The function returns false (Fails the Guard) + ret.getExpr().(BoolLiteral).getBoolValue() = false + or + // It passes the guard, contraining the function argument to the Guard argument. + exists(ZipSlipGuard g, DataFlow::ParameterNode source, DataFlow::Node sink | + g.getEnclosingCallable() = this and + source = DataFlow::parameterNode(paramFilename) and + sink = DataFlow::exprNode(g.getFilePathArgument()) and + SanitizedGuardTT::flow(source, sink) and + ( + exists(AbstractValues::BooleanValue bv | + // If there exists a control block that guards against misuse + bv.getValue() = true and + g.controlsNode(ret.getAControlFlowNode(), bv) + ) + or + // Or if the function returns the resultant of the guard call + DataFlow::localFlow(DataFlow::exprNode(g), DataFlow::exprNode(ret.getExpr())) + ) + ) + ) + } +} + +/** + * An IndirectOverloadedWrapperSanitizerMethod is a Method in which simply wraps /another/ wrapper.class + * + * Usually this will look like the following stanza: + * boolean someWrapper(string s){ + * return someWrapper(s, true); + * } + */ +class IndirectOverloadedWrapperSantizierMethod extends AbstractWrapperSanitizerMethod { + /** + * To be declared a Wrapper, a function must: + * - Be a predicate (return a boolean) + * - Accept and use a parameter which represents a File path (via delegation) + * - Contain a call to another sanitizer (via delegation) + * - And can only return true if the delegate sanitizer also returns true. + */ + IndirectOverloadedWrapperSantizierMethod() { + // For every return statement in our Method, + forex(ReturnStmt ret | ret.getEnclosingCallable() = this | + // The Return statement returns false OR + ret.getExpr().(BoolLiteral).getBoolValue() = false + or + // The Method returns the result of calling another known-good sanitizer, connecting + // the parameters of this function to the sanitizer MethodCall. + exists(ZipSlipGuard g | + // If the parameter flows directly to SanitizerMethodCall, and the resultant is returned + DataFlow::localFlow(DataFlow::parameterNode(paramFilename), + DataFlow::exprNode(g.getFilePathArgument())) and + DataFlow::localFlow(DataFlow::exprNode(g), DataFlow::exprNode(ret.getExpr())) + ) + ) + } +} + +/** + * A Wrapped Sanitizer Method call (some function that is equally or more restrictive than our root sanitizer) + * + * bool wrapperMethod(string path){ + * return realSanitizer(path); + * } + */ +class WrapperSanitizerMethodCall extends SanitizerMethodCall { + AbstractWrapperSanitizerMethod wrapperMethod; + + WrapperSanitizerMethodCall() { + exists(AbstractWrapperSanitizerMethod sm | + this.getTarget() = sm and + wrapperMethod = sm + ) + } + + pragma[nomagic] + private predicate paramFilePathIndex(int index) { + index = wrapperMethod.paramFilePath().getIndex() + } + + + override Expr getFilePathArgument() { + exists(int index | + this.paramFilePathIndex(index) and + result = this.getArgument(index) + ) + } +} + +private predicate wrapperCheckGuard(Guard g, Expr e, AbstractValue v) { + // A given wrapper method call, with the filePathArgument as a sink, that returns 'true' + g instanceof WrapperSanitizerMethodCall and + g.(WrapperSanitizerMethodCall).getFilePathArgument() = e and + v.(AbstractValues::BooleanValue).getValue() = true +} + +/** + * A data flow sink for unsafe zip extraction. + */ +abstract class Sink extends ApiSinkExprNode { } + +/** + * A sanitizer for unsafe zip extraction. + */ +abstract private class Sanitizer extends DataFlow::ExprNode { } + +class WrapperCheckSanitizer extends Sanitizer { + // A Wrapped RootSanitizer that is an explicit subset of RootSanitizer + WrapperCheckSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } +} + +/** + * A data flow source for unsafe zip extraction. + */ +abstract private class Source extends DataFlow::Node { } + +/** + * Access to the `FullName` property of the archive item + */ +class ArchiveEntryFullName extends Source { + ArchiveEntryFullName() { + exists(PropertyAccess pa | + pa.getTarget().hasFullyQualifiedName("System.IO.Compression.ZipArchiveEntry", "FullName") and + this = DataFlow::exprNode(pa) ) } } -/** An argument to the `ExtractToFile` extension method. */ -class ExtractToFileArgSink extends Sink { - ExtractToFileArgSink() { +/** + * Argument to extract to file extension method + */ +class SinkCompressionExtractToFileArgument extends Sink { + SinkCompressionExtractToFileArgument() { exists(MethodCall mc | - mc.getTarget() - .hasFullyQualifiedName("System.IO.Compression", "ZipFileExtensions", "ExtractToFile") and + mc.getTarget().hasFullyQualifiedName("System.IO.Compression.ZipFileExtensions", "ExtractToFile") and this.asExpr() = mc.getArgumentForName("destinationFileName") ) } } -/** A path argument to a `File.Open`, `File.OpenWrite`, or `File.Create` method call. */ -class FileOpenArgSink extends Sink { - FileOpenArgSink() { +/** + * File Stream created from tainted file name through File.Open/File.Create + */ +class SinkFileOpenArgument extends Sink { + SinkFileOpenArgument() { exists(MethodCall mc | - mc.getTarget().hasFullyQualifiedName("System.IO", "File", "Open") or - mc.getTarget().hasFullyQualifiedName("System.IO", "File", "OpenWrite") or - mc.getTarget().hasFullyQualifiedName("System.IO", "File", "Create") - | + mc.getTarget().hasFullyQualifiedName("System.IO.File", ["Open", "OpenWrite", "Create"]) and this.asExpr() = mc.getArgumentForName("path") ) } } -/** A path argument to a call to the `FileStream` constructor. */ -class FileStreamArgSink extends Sink { - FileStreamArgSink() { +/** + * File Stream created from tainted file name passed directly to the constructor + */ +class SinkStreamConstructorArgument extends Sink { + SinkStreamConstructorArgument() { exists(ObjectCreation oc | - oc.getTarget().getDeclaringType().hasFullyQualifiedName("System.IO", "FileStream") - | + oc.getTarget().getDeclaringType().hasFullyQualifiedName("System.IO", "FileStream") and this.asExpr() = oc.getArgumentForName("path") ) } } /** - * A path argument to a call to the `FileStream` constructor. - * - * This constructor can accept a tainted file name and subsequently be used to open a file stream. + * Constructor to FileInfo can take tainted file name and subsequently be used to open file stream */ -class FileInfoArgSink extends Sink { - FileInfoArgSink() { +class SinkFileInfoConstructorArgument extends Sink { + SinkFileInfoConstructorArgument() { exists(ObjectCreation oc | - oc.getTarget().getDeclaringType().hasFullyQualifiedName("System.IO", "FileInfo") - | + oc.getTarget().getDeclaringType().hasFullyQualifiedName("System.IO", "FileInfo") and this.asExpr() = oc.getArgumentForName("fileName") ) } } /** - * A call to `GetFileName`. - * - * This is considered a sanitizer because it extracts just the file name, not the full path. + * Extracting just file name from a ZipEntry, not the full path */ -class GetFileNameSanitizer extends Sanitizer { - GetFileNameSanitizer() { +class FileNameExtrationSanitizer extends Sanitizer { + FileNameExtrationSanitizer() { exists(MethodCall mc | - mc.getTarget().hasFullyQualifiedName("System.IO", "Path", "GetFileName") - | - this.asExpr() = mc + mc.getTarget().hasFullyQualifiedName("System.IO.Path", "GetFileName") and + this = DataFlow::exprNode(mc.getAnArgument()) ) } } /** - * A call to `Substring`. - * - * This is considered a sanitizer because `Substring` may be used to extract a single component - * of a path to avoid ZipSlip. + * Checks the string for relative path, + * or checks the destination folder for whitelisted/target path, etc */ -class SubstringSanitizer extends Sanitizer { - SubstringSanitizer() { - exists(MethodCall mc | mc.getTarget().hasFullyQualifiedName("System", "String", "Substring") | - this.asExpr() = mc +class StringCheckSanitizer extends Sanitizer { + StringCheckSanitizer() { + exists(MethodCall mc | + ( + mc instanceof RootSanitizerMethodCall or + mc.getTarget().hasFullyQualifiedName("System.String", "Substring") + ) and + this = DataFlow::exprNode(mc.getQualifier()) ) } } -private predicate stringCheckGuard(Guard g, Expr e, AbstractValue v) { - g.(MethodCall).getTarget().hasFullyQualifiedName("System", "String", "StartsWith") and - g.(MethodCall).getQualifier() = e and - // A StartsWith check against Path.Combine is not sufficient, because the ".." elements have - // not yet been resolved. - not exists(MethodCall combineCall | - combineCall.getTarget().hasFullyQualifiedName("System.IO", "Path", "Combine") and - DataFlow::localExprFlow(combineCall, e) - ) and - v.(AbstractValues::BooleanValue).getValue() = true +/** + * A taint tracking configuration for Zip Slip. + */ +private module ZipSlipConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source instanceof Source } + + predicate isSink(DataFlow::Node sink) { sink instanceof Sink } + + predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer } + + predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) { + // If the sink is a method call, and the source is an argument to that method call + exists(MethodCall mc | succ.asExpr() = mc and pred.asExpr() = mc.getAnArgument()) + } + + predicate observeDiffInformedIncrementalMode() { any() } } /** - * A call to `String.StartsWith()` that indicates that the tainted path value is being - * validated to ensure that it occurs within a permitted output path. + * A taint tracking module for Zip Slip. */ -class StringCheckSanitizer extends Sanitizer { - StringCheckSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } -} +module ZipSlip = TaintTracking::Global; \ No newline at end of file diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index da76eab521c1..888800c5021d 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,14 @@ +## 1.3.1 + +### Minor Analysis Improvements + +* Explicitly added summary models for all overloads of `System.Xml.XmlDictionaryReader.CreateBinaryReader`. Added models for some of the methods and properties in `System.Runtime.Serialization.SerializationInfo` and `System.Runtime.Serialization.SerializationInfoEnumerator`. Updated models for `System.Text.Encoding.GetBytes`, `System.Text.Encoding.GetChars` and the constructor for `System.IO.MemoryStream`. This generally improves the library modelling and thus reduces the number of false negatives. +* Added explicit SQL injection Models as Data models for `Microsoft.Data.SqlClient.SqlCommand` and `Microsoft.Data.SqlClient.SqlDataAdapter`. This reduces false negatives for the query `cs/sql-injection`. + +### Bug Fixes + +* `web.config` and `web.release.config` files are now recognized regardless of case. This means queries `cs/web/debug-binary` and `cs/web/missing-x-frame-options` may produce more results than before. + ## 1.3.0 ### Query Metadata Changes diff --git a/csharp/ql/src/Security Features/CWE-022/ZipSlip.qhelp b/csharp/ql/src/Security Features/CWE-022/ZipSlip.qhelp index d75ababa6a8b..fc1ebe1e4670 100644 --- a/csharp/ql/src/Security Features/CWE-022/ZipSlip.qhelp +++ b/csharp/ql/src/Security Features/CWE-022/ZipSlip.qhelp @@ -26,7 +26,7 @@ written to c:\sneaky-file.

    Ensure that output paths constructed from zip archive entries are validated to prevent writing files to unexpected locations.

    -

    The recommended way of writing an output file from a zip archive entry is to:

    +

    The recommended way of writing an output file from a zip archive entry is to conduct the following in sequence:

    1. Use Path.Combine(destinationDirectory, archiveEntry.FullName) to determine the raw diff --git a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.ql b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.ql index 330ad1c1c329..710228ffc0ef 100644 --- a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.ql +++ b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.ql @@ -12,35 +12,57 @@ import csharp import InsecureSqlConnection::PathGraph +import InsecureSQLConnection -/** - * A data flow configuration for tracking strings passed to `SqlConnection[StringBuilder]` instances. - */ -module InsecureSqlConnectionConfig implements DataFlow::ConfigSig { - predicate isSource(DataFlow::Node source) { - exists(string s | s = source.asExpr().(StringLiteral).getValue().toLowerCase() | - s.matches("%encrypt=false%") - or - not s.matches("%encrypt=%") +class Source extends DataFlow::Node { + string sourcestring; + + Source() { + sourcestring = this.asExpr().(StringLiteral).getValue().toLowerCase() and + ( + not sourcestring.matches("%encrypt=%") or + sourcestring.matches("%encrypt=false%") ) } - predicate isSink(DataFlow::Node sink) { + predicate setsEncryptFalse() { sourcestring.matches("%encrypt=false%") } +} + +class Sink extends DataFlow::Node { + Version version; + + Sink() { exists(ObjectCreation oc | - oc.getRuntimeArgument(0) = sink.asExpr() and + oc.getRuntimeArgument(0) = this.asExpr() and ( oc.getType().getName() = "SqlConnectionStringBuilder" or oc.getType().getName() = "SqlConnection" ) and - not exists(MemberInitializer mi | - mi = oc.getInitializer().(ObjectInitializer).getAMemberInitializer() and - mi.getLValue().(PropertyAccess).getTarget().getName() = "Encrypt" and - mi.getRValue().(BoolLiteral).getValue() = "true" - ) + version = oc.getType().getALocation().(Assembly).getVersion() ) } + predicate isEncryptedByDefault() { version.compareTo("4.0") >= 0 } +} + +predicate isEncryptTrue(Source source, Sink sink) { + sink.isEncryptedByDefault() and + not source.setsEncryptFalse() + or + exists(ObjectCreation oc, Expr e | oc.getRuntimeArgument(0) = sink.asExpr() | + getInfoForInitializedConnEncryption(oc, e) and + e.getValue().toLowerCase() = "true" + ) +} + +/** + * A data flow configuration for tracking strings passed to `SqlConnection[StringBuilder]` instances. + */ +module InsecureSqlConnectionConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source instanceof Source } + + predicate isSink(DataFlow::Node sink) { sink instanceof Sink } predicate observeDiffInformedIncrementalMode() { any() } } @@ -50,7 +72,9 @@ module InsecureSqlConnectionConfig implements DataFlow::ConfigSig { module InsecureSqlConnection = DataFlow::Global; from InsecureSqlConnection::PathNode source, InsecureSqlConnection::PathNode sink -where InsecureSqlConnection::flowPath(source, sink) +where + InsecureSqlConnection::flowPath(source, sink) and + not isEncryptTrue(source.getNode().(Source), sink.getNode().(Sink)) select sink.getNode(), source, sink, "$@ flows to this SQL connection and does not specify `Encrypt=True`.", source.getNode(), "Connection string" diff --git a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.qll b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.qll new file mode 100644 index 000000000000..1f30cb955cc5 --- /dev/null +++ b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.qll @@ -0,0 +1,11 @@ +import csharp + +/** + * Holds if `ObjectCreation` has an initializer for a member named `Encrypt`, set to `e` + */ +predicate getInfoForInitializedConnEncryption(ObjectCreation oc, Expr e) { + exists(MemberInitializer mi | mi.getInitializedMember().hasName("Encrypt") | + e = mi.getRValue() and + oc.getInitializer().(ObjectInitializer).getAMemberInitializer() = mi + ) +} diff --git a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializer.qhelp b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializer.qhelp new file mode 100644 index 000000000000..74165ab248b5 --- /dev/null +++ b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializer.qhelp @@ -0,0 +1,45 @@ + + + + +

      + SQL Server connections where the client is not enforcing the encryption in transit are susceptible to multiple attacks, including a man-in-the-middle, that would potentially compromise the user credentials and/or the TDS session. +

      + +
      + + +

      Ensure that the client code enforces the Encrypt option by setting it to true in the connection string or as a property.

      +

      Explicitly setting the property Encrypt to false will result in unprotected connections.

      + +
      + + +

      The following example shows a SQL connection string that is explicitly disabling the Encrypt setting.

      + + + +

      + The following example shows a SQL connection string that is explicitly enabling the Encrypt setting to force encryption in transit. +

      + + + +
      + +
    2. Microsoft, SQL Protocols blog: + Selectively using secure connection to SQL Server. +
    3. +
    4. Microsoft: + SqlConnection.ConnectionString Property. +
    5. +
    6. Microsoft: + Using Connection String Keywords with SQL Server Native Client. +
    7. +
    8. Microsoft: + Setting the connection properties. +
    9. + + diff --git a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializer.ql b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializer.ql new file mode 100644 index 000000000000..f2663b508909 --- /dev/null +++ b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializer.ql @@ -0,0 +1,48 @@ +/** + * @name Insecure SQL connection in Initializer + * @description Using an SQL Server connection without enforcing encryption is a security vulnerability. + * This rule variant will flag when the `encrypt` property is explicitly set to `false` during the object initializer + * @kind path-problem + * @id cs/insecure-sql-connection-initializer + * @problem.severity error + * @security-severity 7.5 + * @precision medium + * @tags security + * external/cwe/cwe-327 + */ + +import csharp +import InsecureSqlConnectionInitialize::PathGraph +import InsecureSQLConnection + +class Source extends DataFlow::Node { + Source() { this.asExpr().(BoolLiteral).getBoolValue() = false } +} + +class Sink extends DataFlow::Node { + Sink() { getInfoForInitializedConnEncryption(_, this.asExpr()) } +} + +/** + * A data flow configuration for tracking strings passed to `SqlConnection[StringBuilder]` instances. + */ +module InsecureSqlConnectionInitializeConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source instanceof Source } + + predicate isSink(DataFlow::Node sink) { sink instanceof Sink } +} + +/** + * A data flow configuration for tracking strings passed to `SqlConnection[StringBuilder]` instances. + */ +module InsecureSqlConnectionInitialize = DataFlow::Global; + +from + ObjectCreation oc, InsecureSqlConnectionInitialize::PathNode source, + InsecureSqlConnectionInitialize::PathNode sink +where + InsecureSqlConnectionInitialize::flowPath(source, sink) and + getInfoForInitializedConnEncryption(oc, sink.getNode().asExpr()) +select sink.getNode(), source, sink, + "A value evaluating to $@ flows to $@ and sets the `encrypt` property.", source.getNode(), + "`false`", oc, "this SQL connection initializer" diff --git a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerBad.cs b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerBad.cs new file mode 100644 index 000000000000..e51e1a261d37 --- /dev/null +++ b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerBad.cs @@ -0,0 +1,7 @@ +using System.Data.SqlClient; + +// BAD, Encrypt not specified +string connectString = + "Server=1.2.3.4;Database=Anything;Integrated Security=true;"; +var builder = new SqlConnectionStringBuilder(connectString) { Encrypt = false } +var conn = new SqlConnection(builder.ConnectionString); \ No newline at end of file diff --git a/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerGood.cs b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerGood.cs new file mode 100644 index 000000000000..2548d15ffd37 --- /dev/null +++ b/csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerGood.cs @@ -0,0 +1,7 @@ +using System.Data.SqlClient; + +// BAD, Encrypt not specified +string connectString = + "Server=1.2.3.4;Database=Anything;Integrated Security=true;"; +var builder = new SqlConnectionStringBuilder(connectString) { Encrypt = true } +var conn = new SqlConnection(builder.ConnectionString); \ No newline at end of file diff --git a/csharp/ql/src/change-notes/2025-06-25-sqlcommand-models.md b/csharp/ql/src/change-notes/2025-06-25-sqlcommand-models.md deleted file mode 100644 index 8d800aa75801..000000000000 --- a/csharp/ql/src/change-notes/2025-06-25-sqlcommand-models.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added explicit SQL injection Models as Data models for `Microsoft.Data.SqlClient.SqlCommand` and `Microsoft.Data.SqlClient.SqlDataAdapter`. This reduces false negatives for the query `cs/sql-injection`. diff --git a/csharp/ql/src/change-notes/released/1.3.1.md b/csharp/ql/src/change-notes/released/1.3.1.md new file mode 100644 index 000000000000..4576c8116873 --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.3.1.md @@ -0,0 +1,10 @@ +## 1.3.1 + +### Minor Analysis Improvements + +* Explicitly added summary models for all overloads of `System.Xml.XmlDictionaryReader.CreateBinaryReader`. Added models for some of the methods and properties in `System.Runtime.Serialization.SerializationInfo` and `System.Runtime.Serialization.SerializationInfoEnumerator`. Updated models for `System.Text.Encoding.GetBytes`, `System.Text.Encoding.GetChars` and the constructor for `System.IO.MemoryStream`. This generally improves the library modelling and thus reduces the number of false negatives. +* Added explicit SQL injection Models as Data models for `Microsoft.Data.SqlClient.SqlCommand` and `Microsoft.Data.SqlClient.SqlDataAdapter`. This reduces false negatives for the query `cs/sql-injection`. + +### Bug Fixes + +* `web.config` and `web.release.config` files are now recognized regardless of case. This means queries `cs/web/debug-binary` and `cs/web/missing-x-frame-options` may produce more results than before. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index ec16350ed6fd..e71b6d081f15 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.0 +lastReleaseVersion: 1.3.1 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index b6307e4210a8..c3963f711e69 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.3.1-dev +version: 1.3.1 groups: - csharp - queries diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index c3eb0402922c..ff615d531152 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -12371,7 +12371,7 @@ summary | System.IO;MemoryStream;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);Argument[this];Argument[0];taint;manual | | System.IO;MemoryStream;FlushAsync;(System.Threading.CancellationToken);Argument[this];ReturnValue.SyntheticField[System.Threading.Tasks.Task.m_stateObject];value;dfc-generated | | System.IO;MemoryStream;GetBuffer;();Argument[this];ReturnValue;taint;df-generated | -| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0].Element;Argument[this];taint;manual | | System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Boolean);Argument[0].Element;Argument[this];taint;manual | | System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | | System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);Argument[0].Element;Argument[this];taint;manual | @@ -17277,30 +17277,20 @@ summary | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Int16);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Int64);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object);Argument[1];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object,System.Type);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object,System.Type);Argument[1];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;value;dfc-generated | +| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object);Argument[1];Argument[this];taint;manual | +| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object,System.Type);Argument[1];Argument[this];taint;manual | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.SByte);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Single);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.UInt16);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.UInt32);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.UInt64);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetEnumerator;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names];ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetEnumerator;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values];ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetString;(System.String);Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;ReturnValue;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetValue;(System.String,System.Type);Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;ReturnValue;value;dfc-generated | +| System.Runtime.Serialization;SerializationInfo;GetEnumerator;();Argument[this];ReturnValue;taint;manual | +| System.Runtime.Serialization;SerializationInfo;GetString;(System.String);Argument[this];ReturnValue;taint;manual | +| System.Runtime.Serialization;SerializationInfo;GetValue;(System.String,System.Type);Argument[this];ReturnValue;taint;manual | | System.Runtime.Serialization;SerializationInfo;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);Argument[1];Argument[this];taint;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].Property[System.Runtime.Serialization.SerializationInfoEnumerator.Current];ReturnValue;value;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].Property[System.Runtime.Serialization.SerializationInfoEnumerator.Current];ReturnValue;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._value];value;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._value];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._name];value;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._name];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this];ReturnValue;taint;dfc-generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this];ReturnValue;taint;manual | | System.Runtime.Serialization;SerializationInfoEnumerator;get_Name;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members].Element;ReturnValue;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Value;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data].Element;ReturnValue;value;dfc-generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;get_Value;();Argument[this];ReturnValue;taint;manual | | System.Runtime.Serialization;SerializationObjectManager;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);Argument[0];Argument[this];taint;df-generated | | System.Runtime.Serialization;StreamingContext;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);Argument[1];Argument[this].SyntheticField[System.Runtime.Serialization.StreamingContext._additionalContext];value;dfc-generated | | System.Runtime.Serialization;StreamingContext;get_Context;();Argument[this].SyntheticField[System.Runtime.Serialization.StreamingContext._additionalContext];ReturnValue;value;dfc-generated | @@ -18467,12 +18457,12 @@ summary | System.Text.Unicode;Utf8+TryWriteInterpolatedStringHandler;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.Boolean);Argument[2];Argument[this];taint;df-generated | | System.Text.Unicode;Utf8+TryWriteInterpolatedStringHandler;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);Argument[2];Argument[this];taint;df-generated | | System.Text.Unicode;Utf8+TryWriteInterpolatedStringHandler;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);Argument[3];Argument[this];taint;df-generated | -| System.Text;ASCIIEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;ASCIIEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;ASCIIEncoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | -| System.Text;ASCIIEncoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;ASCIIEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;ASCIIEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | +| System.Text;ASCIIEncoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;ASCIIEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;ASCIIEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;ASCIIEncoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | | System.Text;ASCIIEncoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;ASCIIEncoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | @@ -18501,18 +18491,18 @@ summary | System.Text;Encoding;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);Argument[2];ReturnValue;taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];Argument[this];taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];Argument[this];taint;df-generated | -| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | | System.Text;Encoding;GetBytes;(System.Char[]);Argument[0].Element;ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | | System.Text;Encoding;GetBytes;(System.String);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | | System.Text;Encoding;GetChars;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | | System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | | System.Text;Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | @@ -18703,37 +18693,37 @@ summary | System.Text;StringRuneEnumerator;GetEnumerator;();Argument[this].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | | System.Text;StringRuneEnumerator;GetEnumerator;();Argument[this];ReturnValue;value;dfc-generated | | System.Text;StringRuneEnumerator;get_Current;();Argument[this];ReturnValue;taint;df-generated | -| System.Text;UTF7Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF7Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF7Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF7Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF7Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF7Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UTF7Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF7Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;UTF7Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UTF7Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;UTF7Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF7Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF7Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF8Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | +| System.Text;UTF8Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;UTF8Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UTF8Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;UTF8Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | | System.Text;UTF8Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF8Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF8Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF32Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF32Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF32Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UTF32Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UTF32Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF32Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UTF32Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UTF32Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;UTF32Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UTF32Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;UTF32Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF32Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UTF32Encoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UnicodeEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UnicodeEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UnicodeEncoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;UnicodeEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;UnicodeEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UnicodeEncoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;UnicodeEncoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;UnicodeEncoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | +| System.Text;UnicodeEncoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;UnicodeEncoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UnicodeEncoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;UnicodeEncoding;GetString;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | @@ -20868,21 +20858,27 @@ summary | System.Xml;XmlDictionary;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlDictionary;TryLookup;(System.String,System.Xml.XmlDictionaryString);Argument[this];Argument[1];taint;df-generated | | System.Xml;XmlDictionary;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);Argument[0];Argument[1];value;dfc-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[3];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[5];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[1];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[1];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-generated | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[3];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[5];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0].Element;ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[3];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[5];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[6];Argument[6].Parameter[delegate-self];value;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[1];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[1];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[1];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[3];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[4];Argument[4].Parameter[delegate-self];value;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateDictionaryReader;(System.Xml.XmlReader);Argument[0];ReturnValue;value;dfc-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose);Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 8c0a26ee4039..faf716f4d7be 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -9208,7 +9208,7 @@ | System.IO;FileSystemWatcher;remove_Error;(System.IO.ErrorEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;FileSystemWatcher;remove_Renamed;(System.IO.RenamedEventHandler);Argument[0];Argument[0].Parameter[delegate-self];value;hq-generated | | System.IO;MemoryStream;GetBuffer;();Argument[this];ReturnValue;taint;df-generated | -| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0];Argument[this];taint;manual | +| System.IO;MemoryStream;MemoryStream;(System.Byte[]);Argument[0].Element;Argument[this];taint;manual | | System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Boolean);Argument[0].Element;Argument[this];taint;manual | | System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;Argument[this];taint;manual | | System.IO;MemoryStream;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);Argument[0].Element;Argument[this];taint;manual | @@ -13222,28 +13222,20 @@ | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Int16);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Int32);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Int64);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object);Argument[1];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object,System.Type);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object,System.Type);Argument[1];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;value;dfc-generated | +| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object);Argument[1];Argument[this];taint;manual | +| System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Object,System.Type);Argument[1];Argument[this];taint;manual | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.SByte);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.Single);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.UInt16);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.UInt32);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | | System.Runtime.Serialization;SerializationInfo;AddValue;(System.String,System.UInt64);Argument[0];Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names].Element;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetEnumerator;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._names];ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetEnumerator;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values];ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetString;(System.String);Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;ReturnValue;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfo;GetValue;(System.String,System.Type);Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfo._values].Element;ReturnValue;value;dfc-generated | +| System.Runtime.Serialization;SerializationInfo;GetEnumerator;();Argument[this];ReturnValue;taint;manual | +| System.Runtime.Serialization;SerializationInfo;GetString;(System.String);Argument[this];ReturnValue;taint;manual | +| System.Runtime.Serialization;SerializationInfo;GetValue;(System.String,System.Type);Argument[this];ReturnValue;taint;manual | | System.Runtime.Serialization;SerializationInfo;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);Argument[1];Argument[this];taint;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].Property[System.Runtime.Serialization.SerializationInfoEnumerator.Current];ReturnValue;value;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].Property[System.Runtime.Serialization.SerializationInfoEnumerator.Current];ReturnValue;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._value];value;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._value];value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._name];value;df-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members].Element;ReturnValue.SyntheticField[System.Runtime.Serialization.SerializationEntry._name];value;dfc-generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;get_Current;();Argument[this];ReturnValue;taint;manual | | System.Runtime.Serialization;SerializationInfoEnumerator;get_Name;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._members].Element;ReturnValue;value;dfc-generated | -| System.Runtime.Serialization;SerializationInfoEnumerator;get_Value;();Argument[this].SyntheticField[System.Runtime.Serialization.SerializationInfoEnumerator._data].Element;ReturnValue;value;dfc-generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;get_Value;();Argument[this];ReturnValue;taint;manual | | System.Runtime.Serialization;SerializationObjectManager;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);Argument[0];Argument[this];taint;df-generated | | System.Runtime.Serialization;StreamingContext;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);Argument[1];Argument[this].SyntheticField[System.Runtime.Serialization.StreamingContext._additionalContext];value;dfc-generated | | System.Runtime.Serialization;StreamingContext;get_Context;();Argument[this].SyntheticField[System.Runtime.Serialization.StreamingContext._additionalContext];ReturnValue;value;dfc-generated | @@ -14074,18 +14066,18 @@ | System.Text;Encoding;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);Argument[2];ReturnValue;taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[1];Argument[this];taint;df-generated | | System.Text;Encoding;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);Argument[2];Argument[this];taint;df-generated | -| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);Argument[0].Element;Argument[2];taint;manual | | System.Text;Encoding;GetBytes;(System.Char[]);Argument[0].Element;ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0].Element;Argument[3];taint;manual | +| System.Text;Encoding;GetBytes;(System.ReadOnlySpan,System.Span);Argument[0].Element;Argument[1];taint;manual | | System.Text;Encoding;GetBytes;(System.String);Argument[0];ReturnValue;taint;manual | | System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);Argument[0];Argument[3];taint;manual | +| System.Text;Encoding;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);Argument[0].Element;Argument[2];taint;manual | | System.Text;Encoding;GetChars;(System.Byte[]);Argument[0].Element;ReturnValue;taint;manual | | System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32);Argument[0].Element;ReturnValue;taint;manual | -| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);Argument[0].Element;Argument[3];taint;manual | | System.Text;Encoding;GetChars;(System.ReadOnlySpan,System.Span);Argument[0].Element;ReturnValue;taint;manual | | System.Text;Encoding;GetDecoder;();Argument[this];ReturnValue;taint;df-generated | | System.Text;Encoding;GetEncoder;();Argument[this];ReturnValue;taint;df-generated | @@ -16194,21 +16186,27 @@ | System.Xml;XmlDeclaration;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);Argument[2];Argument[this];taint;df-generated | | System.Xml;XmlDictionary;Add;(System.String);Argument[0];ReturnValue.SyntheticField[System.Xml.XmlDictionaryString._value];value;dfc-generated | | System.Xml;XmlDictionary;Add;(System.String);Argument[this];ReturnValue.SyntheticField[System.Xml.XmlDictionaryString._dictionary];value;dfc-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[3];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[5];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[6];Argument[6].Parameter[delegate-self];value;hq-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[1];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[1];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[4];Argument[4].Parameter[delegate-self];value;hq-generated | -| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-generated | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[3];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[5];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0].Element;ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[3];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[5];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[6];Argument[6].Parameter[delegate-self];value;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);Argument[0].Element;ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);Argument[1];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[0];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[1];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);Argument[3];ReturnValue;taint;df-manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[1];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[3];ReturnValue;taint;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession,System.Xml.OnXmlDictionaryReaderClose);Argument[4];Argument[4].Parameter[delegate-self];value;manual | +| System.Xml;XmlDictionaryReader;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);Argument[0];ReturnValue;taint;df-manual | | System.Xml;XmlDictionaryReader;CreateDictionaryReader;(System.Xml.XmlReader);Argument[0];ReturnValue;value;dfc-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose);Argument[7];Argument[7].Parameter[delegate-self];value;hq-generated | | System.Xml;XmlDictionaryReader;CreateMtomReader;(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose);Argument[5];Argument[5].Parameter[delegate-self];value;hq-generated | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.cs b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.cs index 3ea90facfd3c..d492f20336b6 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.cs @@ -55,6 +55,21 @@ public void ProcessRequest(HttpContext ctx) // GOOD: A simple type. File.ReadAllText(int.Parse(path).ToString()); + + string fullPath = Path.GetFullPath(path); + if (fullPath.StartsWith("C:\\Foo")) + { + File.ReadAllText(fullPath); // GOOD + } + + // This test ensures that we can flow through `Path.GetFullPath` and still get a result. + ctx.Response.Write(File.ReadAllText(path)); // BAD + + string absolutePath = ctx.Request.MapPath("~MyTempFile"); + string fullPath2 = Path.Combine(absolutePath, path); + if (fullPath2.StartsWith(absolutePath + Path.DirectorySeparatorChar)) { + File.ReadAllText(fullPath2); // GOOD + } } public bool IsReusable diff --git a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.expected b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.expected index edb948d412c2..a258bdf4a4e7 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/TaintedPath.expected @@ -6,6 +6,7 @@ | TaintedPath.cs:36:25:36:31 | access to local variable badPath | TaintedPath.cs:10:23:10:45 | access to property QueryString : NameValueCollection | TaintedPath.cs:36:25:36:31 | access to local variable badPath | This path depends on a $@. | TaintedPath.cs:10:23:10:45 | access to property QueryString | user-provided value | | TaintedPath.cs:38:49:38:55 | access to local variable badPath | TaintedPath.cs:10:23:10:45 | access to property QueryString : NameValueCollection | TaintedPath.cs:38:49:38:55 | access to local variable badPath | This path depends on a $@. | TaintedPath.cs:10:23:10:45 | access to property QueryString | user-provided value | | TaintedPath.cs:51:26:51:29 | access to local variable path | TaintedPath.cs:10:23:10:45 | access to property QueryString : NameValueCollection | TaintedPath.cs:51:26:51:29 | access to local variable path | This path depends on a $@. | TaintedPath.cs:10:23:10:45 | access to property QueryString | user-provided value | +| TaintedPath.cs:66:45:66:48 | access to local variable path | TaintedPath.cs:10:23:10:45 | access to property QueryString : NameValueCollection | TaintedPath.cs:66:45:66:48 | access to local variable path | This path depends on a $@. | TaintedPath.cs:10:23:10:45 | access to property QueryString | user-provided value | edges | TaintedPath.cs:10:16:10:19 | access to local variable path : String | TaintedPath.cs:12:50:12:53 | access to local variable path | provenance | | | TaintedPath.cs:10:16:10:19 | access to local variable path : String | TaintedPath.cs:17:51:17:54 | access to local variable path | provenance | | @@ -13,11 +14,13 @@ edges | TaintedPath.cs:10:16:10:19 | access to local variable path : String | TaintedPath.cs:31:30:31:33 | access to local variable path | provenance | | | TaintedPath.cs:10:16:10:19 | access to local variable path : String | TaintedPath.cs:35:16:35:22 | access to local variable badPath : String | provenance | | | TaintedPath.cs:10:16:10:19 | access to local variable path : String | TaintedPath.cs:51:26:51:29 | access to local variable path | provenance | | +| TaintedPath.cs:10:16:10:19 | access to local variable path : String | TaintedPath.cs:59:44:59:47 | access to local variable path : String | provenance | | | TaintedPath.cs:10:23:10:45 | access to property QueryString : NameValueCollection | TaintedPath.cs:10:16:10:19 | access to local variable path : String | provenance | | | TaintedPath.cs:10:23:10:45 | access to property QueryString : NameValueCollection | TaintedPath.cs:10:23:10:53 | access to indexer : String | provenance | MaD:1 | | TaintedPath.cs:10:23:10:53 | access to indexer : String | TaintedPath.cs:10:16:10:19 | access to local variable path : String | provenance | | | TaintedPath.cs:35:16:35:22 | access to local variable badPath : String | TaintedPath.cs:36:25:36:31 | access to local variable badPath | provenance | | | TaintedPath.cs:35:16:35:22 | access to local variable badPath : String | TaintedPath.cs:38:49:38:55 | access to local variable badPath | provenance | | +| TaintedPath.cs:59:44:59:47 | access to local variable path : String | TaintedPath.cs:66:45:66:48 | access to local variable path | provenance | | models | 1 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated | nodes @@ -32,4 +35,6 @@ nodes | TaintedPath.cs:36:25:36:31 | access to local variable badPath | semmle.label | access to local variable badPath | | TaintedPath.cs:38:49:38:55 | access to local variable badPath | semmle.label | access to local variable badPath | | TaintedPath.cs:51:26:51:29 | access to local variable path | semmle.label | access to local variable path | +| TaintedPath.cs:59:44:59:47 | access to local variable path : String | semmle.label | access to local variable path : String | +| TaintedPath.cs:66:45:66:48 | access to local variable path | semmle.label | access to local variable path | subpaths diff --git a/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.cs b/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.cs index 1ec93bba3edd..089aa410a96d 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.cs @@ -6,44 +6,88 @@ namespace ZipSlip { class Program { + private static readonly char DirectorySeparatorChar = '\\'; - public static void UnzipFileByFile(ZipArchive archive, - string destDirectory) + public static void UnzipFileByFile(ZipArchive archive, string destDirectory) { foreach (var entry in archive.Entries) { - string fullPath = Path.GetFullPath(entry.FullName); - string fileName = Path.GetFileName(entry.FullName); - string filename = entry.Name; - string file = entry.FullName; - if (!string.IsNullOrEmpty(file)) + string fullPath_relative = Path.GetFullPath(entry.FullName); + string filename_filenameOnly = Path.GetFileName(entry.FullName); + string filename_noPathTraversal = entry.Name; + string file_badDirectoryTraversal = entry.FullName; + if (!string.IsNullOrEmpty(file_badDirectoryTraversal)) { // BAD - string destFileName = Path.Combine(destDirectory, file); + string destFileName = Path.Combine(destDirectory, file_badDirectoryTraversal); entry.ExtractToFile(destFileName, true); // GOOD - string sanitizedFileName = Path.Combine(destDirectory, fileName); + string sanitizedFileName = Path.Combine(destDirectory, filename_filenameOnly); entry.ExtractToFile(sanitizedFileName, true); // BAD - string destFilePath = Path.Combine(destDirectory, fullPath); + string destFilePath = Path.Combine(destDirectory, fullPath_relative); entry.ExtractToFile(destFilePath, true); - // BAD: destFilePath isn't fully resolved, so may still contain .. - if (destFilePath.StartsWith(destDirectory)) - entry.ExtractToFile(destFilePath, true); + unzipWrapperProtected(destDirectory, entry); - // BAD - destFilePath = Path.GetFullPath(Path.Combine(destDirectory, fullPath)); - entry.ExtractToFile(destFilePath, true); + string destFilePath_notCanonicalized = destDirectory + "/" + fullPath_relative; + if (destFilePath_notCanonicalized.StartsWith(destDirectory)){ + // BAD: no canonicalization has been applied. Directory traversal characters + // could still be present ie C:\some\dir\..\..\abc.exe + entry.ExtractToFile(destFilePath_notCanonicalized, true); + } - // GOOD: a check for StartsWith against a fully resolved path - if (destFilePath.StartsWith(destDirectory)) - entry.ExtractToFile(destFilePath, true); + string destFilePath_fullyCanonicalized = Path.GetFullPath(destFilePath_notCanonicalized); + if (destFilePath_fullyCanonicalized.StartsWith(destDirectory)){ + // GOOD: canonicalization has been applied by GetFullPath, +StartsWith Barrier. + entry.ExtractToFile(destFilePath_fullyCanonicalized, true); + } + + string destFilePath_fullyCanonicalized2 = Path.GetFullPath(destFileName); + if (destFilePath_fullyCanonicalized2.StartsWith(destDirectory)){ + // GOOD: canonicalization has been applied by GetFullPath, +StartsWith Barrier. + entry.ExtractToFile(destFilePath_fullyCanonicalized2, true); + } } } } + + private static void unzipWrapperProtected(string destinationPath, ZipArchiveEntry entry){ + string fullpath = Path.Combine(destinationPath, entry.FullName); + string entry_fullpath = Path.GetFullPath(entry.FullName); + + // BAD: no canonicalization, no validation/guard. + entry.ExtractToFile(fullpath, true); + + if(ContainsPath(fullpath, destinationPath, true)){ + // GOOD - Barrier guard applied (canonicalization applied in ContainsPath) + entry.ExtractToFile(fullpath, true); + } + + if(!ContainsPath(fullpath, destinationPath, true)){ + // BAD: Failed guard + entry.ExtractToFile(fullpath, true); + Console.WriteLine("Path traversal detected"); + return; + } + + // GOOD: Path has been sanitized above and guarded for (by returning early) + entry.ExtractToFile(fullpath, true); + + if(ContainsPath(fullpath, destinationPath, true)){ + // GOOD: guarded by ContainsPath (with delegate calls to StartsWith) + entry.ExtractToFile(fullpath, true); + } + + // GOOD: path checking applied above (and function terminates early). + string destFilePath = Path.Combine(destinationPath, entry_fullpath); + if (!destFilePath.StartsWith(destinationPath)){ + return; + } + entry.ExtractToFile(fullpath, true); + } private static int UnzipToStream(Stream zipStream, string installDir) { @@ -115,6 +159,43 @@ private static int UnzipToStream(Stream zipStream, string installDir) return returnCode; } + public static string? AddBackslashIfNotPresent(string? path) + { + if (!string.IsNullOrEmpty(path) && path![path.Length - 1] != DirectorySeparatorChar) + { + path += DirectorySeparatorChar; + } + return path; + } + + public static bool ContainsPath(string? fullPath, string? path){ + return ContainsPath(fullPath, path, true); + } + + public static bool ContainsPath(string? fullPath, string? path, bool excludeSame) + { + try + { + fullPath = Path.GetFullPath(fullPath); + path = Path.GetFullPath(path); + + fullPath = AddBackslashIfNotPresent(fullPath); + path = AddBackslashIfNotPresent(path); + + var result = fullPath!.StartsWith(path, StringComparison.OrdinalIgnoreCase); + if (result && excludeSame) + { + return !fullPath.Equals(path, StringComparison.OrdinalIgnoreCase); + } + return result; + } + catch + { + // If there is any error, just return false + return false; + } + } + static void Main(string[] args) { string zipFileName; @@ -135,5 +216,20 @@ static void Main(string[] args) } } } + + /** + * Negative - dangerous path terminates early due to exception thrown by guarded condition. + */ + static void fp_throw(ZipArchive archive, string root){ + foreach (var entry in archive.Entries){ + string destinationOnDisk = Path.GetFullPath(Path.Combine(root, entry.FullName)); + string fullRoot = Path.GetFullPath(root + Path.DirectorySeparatorChar); + if (!destinationOnDisk.StartsWith(fullRoot)){ + throw new Exception("Entry is outside of target directory. There may have been some directory traversal sequences in filename."); + } + // NEGATIVE, above exception short circuits on invalid input by path traversal. + entry.ExtractToFile(destinationOnDisk, true); + } + } } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.expected b/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.expected index 8e59305b4c2e..0d84dccb6499 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-022/ZipSlip/ZipSlip.expected @@ -1,70 +1,96 @@ #select -| ZipSlip.cs:15:52:15:65 | access to property FullName | ZipSlip.cs:15:52:15:65 | access to property FullName : String | ZipSlip.cs:31:41:31:52 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:31:41:31:52 | access to local variable destFilePath | file system operation | -| ZipSlip.cs:15:52:15:65 | access to property FullName | ZipSlip.cs:15:52:15:65 | access to property FullName : String | ZipSlip.cs:35:45:35:56 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:35:45:35:56 | access to local variable destFilePath | file system operation | -| ZipSlip.cs:15:52:15:65 | access to property FullName | ZipSlip.cs:15:52:15:65 | access to property FullName : String | ZipSlip.cs:39:41:39:52 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:39:41:39:52 | access to local variable destFilePath | file system operation | -| ZipSlip.cs:18:31:18:44 | access to property FullName | ZipSlip.cs:18:31:18:44 | access to property FullName : String | ZipSlip.cs:23:41:23:52 | access to local variable destFileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:23:41:23:52 | access to local variable destFileName | file system operation | -| ZipSlip.cs:61:72:61:85 | access to property FullName | ZipSlip.cs:61:72:61:85 | access to property FullName : String | ZipSlip.cs:68:74:68:85 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:68:74:68:85 | access to local variable destFilePath | file system operation | -| ZipSlip.cs:61:72:61:85 | access to property FullName | ZipSlip.cs:61:72:61:85 | access to property FullName : String | ZipSlip.cs:75:71:75:82 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:75:71:75:82 | access to local variable destFilePath | file system operation | -| ZipSlip.cs:61:72:61:85 | access to property FullName | ZipSlip.cs:61:72:61:85 | access to property FullName : String | ZipSlip.cs:82:57:82:68 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:82:57:82:68 | access to local variable destFilePath | file system operation | -| ZipSlip.cs:61:72:61:85 | access to property FullName | ZipSlip.cs:61:72:61:85 | access to property FullName : String | ZipSlip.cs:90:58:90:69 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:90:58:90:69 | access to local variable destFilePath | file system operation | +| ZipSlip.cs:15:61:15:74 | access to property FullName | ZipSlip.cs:15:61:15:74 | access to property FullName : String | ZipSlip.cs:31:41:31:52 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:31:41:31:52 | access to local variable destFilePath | file system operation | +| ZipSlip.cs:15:61:15:74 | access to property FullName | ZipSlip.cs:15:61:15:74 | access to property FullName : String | ZipSlip.cs:39:45:39:73 | access to local variable destFilePath_notCanonicalized | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:39:45:39:73 | access to local variable destFilePath_notCanonicalized | file system operation | +| ZipSlip.cs:18:53:18:66 | access to property FullName | ZipSlip.cs:18:53:18:66 | access to property FullName : String | ZipSlip.cs:23:41:23:52 | access to local variable destFileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:23:41:23:52 | access to local variable destFileName | file system operation | +| ZipSlip.cs:58:61:58:74 | access to property FullName | ZipSlip.cs:58:61:58:74 | access to property FullName : String | ZipSlip.cs:62:33:62:40 | access to local variable fullpath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:62:33:62:40 | access to local variable fullpath | file system operation | +| ZipSlip.cs:58:61:58:74 | access to property FullName | ZipSlip.cs:58:61:58:74 | access to property FullName : String | ZipSlip.cs:71:37:71:44 | access to local variable fullpath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:71:37:71:44 | access to local variable fullpath | file system operation | +| ZipSlip.cs:105:72:105:85 | access to property FullName | ZipSlip.cs:105:72:105:85 | access to property FullName : String | ZipSlip.cs:112:74:112:85 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:112:74:112:85 | access to local variable destFilePath | file system operation | +| ZipSlip.cs:105:72:105:85 | access to property FullName | ZipSlip.cs:105:72:105:85 | access to property FullName : String | ZipSlip.cs:119:71:119:82 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:119:71:119:82 | access to local variable destFilePath | file system operation | +| ZipSlip.cs:105:72:105:85 | access to property FullName | ZipSlip.cs:105:72:105:85 | access to property FullName : String | ZipSlip.cs:126:57:126:68 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:126:57:126:68 | access to local variable destFilePath | file system operation | +| ZipSlip.cs:105:72:105:85 | access to property FullName | ZipSlip.cs:105:72:105:85 | access to property FullName : String | ZipSlip.cs:134:58:134:69 | access to local variable destFilePath | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlip.cs:134:58:134:69 | access to local variable destFilePath | file system operation | | ZipSlipBad.cs:9:59:9:72 | access to property FullName | ZipSlipBad.cs:9:59:9:72 | access to property FullName : String | ZipSlipBad.cs:10:29:10:40 | access to local variable destFileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.cs:10:29:10:40 | access to local variable destFileName | file system operation | edges -| ZipSlip.cs:15:24:15:31 | access to local variable fullPath : String | ZipSlip.cs:30:71:30:78 | access to local variable fullPath : String | provenance | | -| ZipSlip.cs:15:24:15:31 | access to local variable fullPath : String | ZipSlip.cs:38:81:38:88 | access to local variable fullPath : String | provenance | | -| ZipSlip.cs:15:35:15:66 | call to method GetFullPath : String | ZipSlip.cs:15:24:15:31 | access to local variable fullPath : String | provenance | | -| ZipSlip.cs:15:52:15:65 | access to property FullName : String | ZipSlip.cs:15:35:15:66 | call to method GetFullPath : String | provenance | MaD:2 | -| ZipSlip.cs:18:24:18:27 | access to local variable file : String | ZipSlip.cs:22:71:22:74 | access to local variable file : String | provenance | | -| ZipSlip.cs:18:31:18:44 | access to property FullName : String | ZipSlip.cs:18:24:18:27 | access to local variable file : String | provenance | | +| ZipSlip.cs:15:24:15:40 | access to local variable fullPath_relative : String | ZipSlip.cs:30:71:30:87 | access to local variable fullPath_relative : String | provenance | | +| ZipSlip.cs:15:44:15:75 | call to method GetFullPath : String | ZipSlip.cs:15:24:15:40 | access to local variable fullPath_relative : String | provenance | | +| ZipSlip.cs:15:61:15:74 | access to property FullName : String | ZipSlip.cs:15:44:15:75 | call to method GetFullPath : String | provenance | Config | +| ZipSlip.cs:15:61:15:74 | access to property FullName : String | ZipSlip.cs:15:44:15:75 | call to method GetFullPath : String | provenance | MaD:2 | +| ZipSlip.cs:18:24:18:49 | access to local variable file_badDirectoryTraversal : String | ZipSlip.cs:19:43:19:68 | access to local variable file_badDirectoryTraversal : String | provenance | | +| ZipSlip.cs:18:53:18:66 | access to property FullName : String | ZipSlip.cs:18:24:18:49 | access to local variable file_badDirectoryTraversal : String | provenance | | +| ZipSlip.cs:19:43:19:68 | access to local variable file_badDirectoryTraversal : String | ZipSlip.cs:22:71:22:96 | access to local variable file_badDirectoryTraversal : String | provenance | | | ZipSlip.cs:22:28:22:39 | access to local variable destFileName : String | ZipSlip.cs:23:41:23:52 | access to local variable destFileName | provenance | | -| ZipSlip.cs:22:43:22:75 | call to method Combine : String | ZipSlip.cs:22:28:22:39 | access to local variable destFileName : String | provenance | | -| ZipSlip.cs:22:71:22:74 | access to local variable file : String | ZipSlip.cs:22:43:22:75 | call to method Combine : String | provenance | MaD:1 | +| ZipSlip.cs:22:43:22:97 | call to method Combine : String | ZipSlip.cs:22:28:22:39 | access to local variable destFileName : String | provenance | | +| ZipSlip.cs:22:71:22:96 | access to local variable file_badDirectoryTraversal : String | ZipSlip.cs:22:43:22:97 | call to method Combine : String | provenance | Config | +| ZipSlip.cs:22:71:22:96 | access to local variable file_badDirectoryTraversal : String | ZipSlip.cs:22:43:22:97 | call to method Combine : String | provenance | MaD:1 | | ZipSlip.cs:30:28:30:39 | access to local variable destFilePath : String | ZipSlip.cs:31:41:31:52 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:30:28:30:39 | access to local variable destFilePath : String | ZipSlip.cs:35:45:35:56 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:30:43:30:79 | call to method Combine : String | ZipSlip.cs:30:28:30:39 | access to local variable destFilePath : String | provenance | | -| ZipSlip.cs:30:71:30:78 | access to local variable fullPath : String | ZipSlip.cs:30:43:30:79 | call to method Combine : String | provenance | MaD:1 | -| ZipSlip.cs:38:21:38:32 | access to local variable destFilePath : String | ZipSlip.cs:39:41:39:52 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:38:36:38:90 | call to method GetFullPath : String | ZipSlip.cs:38:21:38:32 | access to local variable destFilePath : String | provenance | | -| ZipSlip.cs:38:53:38:89 | call to method Combine : String | ZipSlip.cs:38:36:38:90 | call to method GetFullPath : String | provenance | MaD:2 | -| ZipSlip.cs:38:81:38:88 | access to local variable fullPath : String | ZipSlip.cs:38:53:38:89 | call to method Combine : String | provenance | MaD:1 | -| ZipSlip.cs:61:32:61:43 | access to local variable destFilePath : String | ZipSlip.cs:68:74:68:85 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:61:32:61:43 | access to local variable destFilePath : String | ZipSlip.cs:75:71:75:82 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:61:32:61:43 | access to local variable destFilePath : String | ZipSlip.cs:82:57:82:68 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:61:32:61:43 | access to local variable destFilePath : String | ZipSlip.cs:90:58:90:69 | access to local variable destFilePath | provenance | | -| ZipSlip.cs:61:47:61:86 | call to method Combine : String | ZipSlip.cs:61:32:61:43 | access to local variable destFilePath : String | provenance | | -| ZipSlip.cs:61:72:61:85 | access to property FullName : String | ZipSlip.cs:61:47:61:86 | call to method Combine : String | provenance | MaD:1 | +| ZipSlip.cs:30:43:30:88 | call to method Combine : String | ZipSlip.cs:30:28:30:39 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:30:71:30:87 | access to local variable fullPath_relative : String | ZipSlip.cs:30:43:30:88 | call to method Combine : String | provenance | Config | +| ZipSlip.cs:30:71:30:87 | access to local variable fullPath_relative : String | ZipSlip.cs:30:43:30:88 | call to method Combine : String | provenance | MaD:1 | +| ZipSlip.cs:30:71:30:87 | access to local variable fullPath_relative : String | ZipSlip.cs:35:28:35:56 | access to local variable destFilePath_notCanonicalized : String | provenance | | +| ZipSlip.cs:35:28:35:56 | access to local variable destFilePath_notCanonicalized : String | ZipSlip.cs:39:45:39:73 | access to local variable destFilePath_notCanonicalized | provenance | | +| ZipSlip.cs:58:20:58:27 | access to local variable fullpath : String | ZipSlip.cs:62:33:62:40 | access to local variable fullpath | provenance | | +| ZipSlip.cs:58:20:58:27 | access to local variable fullpath : String | ZipSlip.cs:62:33:62:40 | access to local variable fullpath : String | provenance | | +| ZipSlip.cs:58:31:58:75 | call to method Combine : String | ZipSlip.cs:58:20:58:27 | access to local variable fullpath : String | provenance | | +| ZipSlip.cs:58:61:58:74 | access to property FullName : String | ZipSlip.cs:58:31:58:75 | call to method Combine : String | provenance | Config | +| ZipSlip.cs:58:61:58:74 | access to property FullName : String | ZipSlip.cs:58:31:58:75 | call to method Combine : String | provenance | MaD:1 | +| ZipSlip.cs:62:33:62:40 | access to local variable fullpath : String | ZipSlip.cs:64:29:64:36 | access to local variable fullpath : String | provenance | | +| ZipSlip.cs:64:29:64:36 | access to local variable fullpath : String | ZipSlip.cs:69:30:69:37 | access to local variable fullpath : String | provenance | | +| ZipSlip.cs:69:30:69:37 | access to local variable fullpath : String | ZipSlip.cs:71:37:71:44 | access to local variable fullpath | provenance | | +| ZipSlip.cs:105:32:105:43 | access to local variable destFilePath : String | ZipSlip.cs:107:73:107:84 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:105:47:105:86 | call to method Combine : String | ZipSlip.cs:105:32:105:43 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:105:72:105:85 | access to property FullName : String | ZipSlip.cs:105:47:105:86 | call to method Combine : String | provenance | Config | +| ZipSlip.cs:105:72:105:85 | access to property FullName : String | ZipSlip.cs:105:47:105:86 | call to method Combine : String | provenance | MaD:1 | +| ZipSlip.cs:107:73:107:84 | access to local variable destFilePath : String | ZipSlip.cs:112:74:112:85 | access to local variable destFilePath | provenance | | +| ZipSlip.cs:107:73:107:84 | access to local variable destFilePath : String | ZipSlip.cs:114:71:114:82 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:114:71:114:82 | access to local variable destFilePath : String | ZipSlip.cs:119:71:119:82 | access to local variable destFilePath | provenance | | +| ZipSlip.cs:114:71:114:82 | access to local variable destFilePath : String | ZipSlip.cs:119:71:119:82 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:119:71:119:82 | access to local variable destFilePath : String | ZipSlip.cs:121:71:121:82 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:121:71:121:82 | access to local variable destFilePath : String | ZipSlip.cs:126:57:126:68 | access to local variable destFilePath | provenance | | +| ZipSlip.cs:121:71:121:82 | access to local variable destFilePath : String | ZipSlip.cs:129:71:129:82 | access to local variable destFilePath : String | provenance | | +| ZipSlip.cs:129:71:129:82 | access to local variable destFilePath : String | ZipSlip.cs:134:58:134:69 | access to local variable destFilePath | provenance | | | ZipSlipBad.cs:9:16:9:27 | access to local variable destFileName : String | ZipSlipBad.cs:10:29:10:40 | access to local variable destFileName | provenance | | | ZipSlipBad.cs:9:31:9:73 | call to method Combine : String | ZipSlipBad.cs:9:16:9:27 | access to local variable destFileName : String | provenance | | +| ZipSlipBad.cs:9:59:9:72 | access to property FullName : String | ZipSlipBad.cs:9:31:9:73 | call to method Combine : String | provenance | Config | | ZipSlipBad.cs:9:59:9:72 | access to property FullName : String | ZipSlipBad.cs:9:31:9:73 | call to method Combine : String | provenance | MaD:1 | models | 1 | Summary: System.IO; Path; false; Combine; (System.String,System.String); ; Argument[1]; ReturnValue; taint; manual | | 2 | Summary: System.IO; Path; false; GetFullPath; (System.String); ; Argument[0]; ReturnValue; taint; manual | nodes -| ZipSlip.cs:15:24:15:31 | access to local variable fullPath : String | semmle.label | access to local variable fullPath : String | -| ZipSlip.cs:15:35:15:66 | call to method GetFullPath : String | semmle.label | call to method GetFullPath : String | -| ZipSlip.cs:15:52:15:65 | access to property FullName : String | semmle.label | access to property FullName : String | -| ZipSlip.cs:18:24:18:27 | access to local variable file : String | semmle.label | access to local variable file : String | -| ZipSlip.cs:18:31:18:44 | access to property FullName : String | semmle.label | access to property FullName : String | +| ZipSlip.cs:15:24:15:40 | access to local variable fullPath_relative : String | semmle.label | access to local variable fullPath_relative : String | +| ZipSlip.cs:15:44:15:75 | call to method GetFullPath : String | semmle.label | call to method GetFullPath : String | +| ZipSlip.cs:15:61:15:74 | access to property FullName : String | semmle.label | access to property FullName : String | +| ZipSlip.cs:18:24:18:49 | access to local variable file_badDirectoryTraversal : String | semmle.label | access to local variable file_badDirectoryTraversal : String | +| ZipSlip.cs:18:53:18:66 | access to property FullName : String | semmle.label | access to property FullName : String | +| ZipSlip.cs:19:43:19:68 | access to local variable file_badDirectoryTraversal : String | semmle.label | access to local variable file_badDirectoryTraversal : String | | ZipSlip.cs:22:28:22:39 | access to local variable destFileName : String | semmle.label | access to local variable destFileName : String | -| ZipSlip.cs:22:43:22:75 | call to method Combine : String | semmle.label | call to method Combine : String | -| ZipSlip.cs:22:71:22:74 | access to local variable file : String | semmle.label | access to local variable file : String | +| ZipSlip.cs:22:43:22:97 | call to method Combine : String | semmle.label | call to method Combine : String | +| ZipSlip.cs:22:71:22:96 | access to local variable file_badDirectoryTraversal : String | semmle.label | access to local variable file_badDirectoryTraversal : String | | ZipSlip.cs:23:41:23:52 | access to local variable destFileName | semmle.label | access to local variable destFileName | | ZipSlip.cs:30:28:30:39 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | -| ZipSlip.cs:30:43:30:79 | call to method Combine : String | semmle.label | call to method Combine : String | -| ZipSlip.cs:30:71:30:78 | access to local variable fullPath : String | semmle.label | access to local variable fullPath : String | +| ZipSlip.cs:30:43:30:88 | call to method Combine : String | semmle.label | call to method Combine : String | +| ZipSlip.cs:30:71:30:87 | access to local variable fullPath_relative : String | semmle.label | access to local variable fullPath_relative : String | | ZipSlip.cs:31:41:31:52 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | -| ZipSlip.cs:35:45:35:56 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | -| ZipSlip.cs:38:21:38:32 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | -| ZipSlip.cs:38:36:38:90 | call to method GetFullPath : String | semmle.label | call to method GetFullPath : String | -| ZipSlip.cs:38:53:38:89 | call to method Combine : String | semmle.label | call to method Combine : String | -| ZipSlip.cs:38:81:38:88 | access to local variable fullPath : String | semmle.label | access to local variable fullPath : String | -| ZipSlip.cs:39:41:39:52 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | -| ZipSlip.cs:61:32:61:43 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | -| ZipSlip.cs:61:47:61:86 | call to method Combine : String | semmle.label | call to method Combine : String | -| ZipSlip.cs:61:72:61:85 | access to property FullName : String | semmle.label | access to property FullName : String | -| ZipSlip.cs:68:74:68:85 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | -| ZipSlip.cs:75:71:75:82 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | -| ZipSlip.cs:82:57:82:68 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | -| ZipSlip.cs:90:58:90:69 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | +| ZipSlip.cs:35:28:35:56 | access to local variable destFilePath_notCanonicalized : String | semmle.label | access to local variable destFilePath_notCanonicalized : String | +| ZipSlip.cs:39:45:39:73 | access to local variable destFilePath_notCanonicalized | semmle.label | access to local variable destFilePath_notCanonicalized | +| ZipSlip.cs:58:20:58:27 | access to local variable fullpath : String | semmle.label | access to local variable fullpath : String | +| ZipSlip.cs:58:31:58:75 | call to method Combine : String | semmle.label | call to method Combine : String | +| ZipSlip.cs:58:61:58:74 | access to property FullName : String | semmle.label | access to property FullName : String | +| ZipSlip.cs:62:33:62:40 | access to local variable fullpath | semmle.label | access to local variable fullpath | +| ZipSlip.cs:62:33:62:40 | access to local variable fullpath : String | semmle.label | access to local variable fullpath : String | +| ZipSlip.cs:64:29:64:36 | access to local variable fullpath : String | semmle.label | access to local variable fullpath : String | +| ZipSlip.cs:69:30:69:37 | access to local variable fullpath : String | semmle.label | access to local variable fullpath : String | +| ZipSlip.cs:71:37:71:44 | access to local variable fullpath | semmle.label | access to local variable fullpath | +| ZipSlip.cs:105:32:105:43 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | +| ZipSlip.cs:105:47:105:86 | call to method Combine : String | semmle.label | call to method Combine : String | +| ZipSlip.cs:105:72:105:85 | access to property FullName : String | semmle.label | access to property FullName : String | +| ZipSlip.cs:107:73:107:84 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | +| ZipSlip.cs:112:74:112:85 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | +| ZipSlip.cs:114:71:114:82 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | +| ZipSlip.cs:119:71:119:82 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | +| ZipSlip.cs:119:71:119:82 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | +| ZipSlip.cs:121:71:121:82 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | +| ZipSlip.cs:126:57:126:68 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | +| ZipSlip.cs:129:71:129:82 | access to local variable destFilePath : String | semmle.label | access to local variable destFilePath : String | +| ZipSlip.cs:134:58:134:69 | access to local variable destFilePath | semmle.label | access to local variable destFilePath | | ZipSlipBad.cs:9:16:9:27 | access to local variable destFileName : String | semmle.label | access to local variable destFileName : String | | ZipSlipBad.cs:9:31:9:73 | call to method Combine : String | semmle.label | call to method Combine : String | | ZipSlipBad.cs:9:59:9:72 | access to property FullName : String | semmle.label | access to property FullName : String | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.cs b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.cs index a433d5493851..f60accb818d5 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.cs @@ -34,9 +34,9 @@ public void StringInBuilderProperty() public void StringInInitializer() { string connectString = "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false"; - SqlConnectionStringBuilder conBuilder = new SqlConnectionStringBuilder(connectString) { Encrypt = true}; + SqlConnectionStringBuilder conBuilder = new SqlConnectionStringBuilder(connectString) { Encrypt = true }; } - + public void TriggerThis() { diff --git a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.expected b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.expected index 83fdf530423a..8d76d8d2b9cd 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnection/InsecureSQLConnection.expected @@ -1,9 +1,14 @@ edges +| InsecureSQLConnection.cs:36:20:36:32 | access to local variable connectString : String | InsecureSQLConnection.cs:37:84:37:96 | access to local variable connectString | provenance | | +| InsecureSQLConnection.cs:36:36:36:97 | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false" : String | InsecureSQLConnection.cs:36:20:36:32 | access to local variable connectString : String | provenance | | | InsecureSQLConnection.cs:49:20:49:32 | access to local variable connectString : String | InsecureSQLConnection.cs:52:81:52:93 | access to local variable connectString | provenance | | | InsecureSQLConnection.cs:50:17:50:64 | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd" : String | InsecureSQLConnection.cs:49:20:49:32 | access to local variable connectString : String | provenance | | | InsecureSQLConnection.cs:58:20:58:32 | access to local variable connectString : String | InsecureSQLConnection.cs:61:81:61:93 | access to local variable connectString | provenance | | | InsecureSQLConnection.cs:59:17:59:78 | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false" : String | InsecureSQLConnection.cs:58:20:58:32 | access to local variable connectString : String | provenance | | nodes +| InsecureSQLConnection.cs:36:20:36:32 | access to local variable connectString : String | semmle.label | access to local variable connectString : String | +| InsecureSQLConnection.cs:36:36:36:97 | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false" : String | semmle.label | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false" : String | +| InsecureSQLConnection.cs:37:84:37:96 | access to local variable connectString | semmle.label | access to local variable connectString | | InsecureSQLConnection.cs:44:52:44:128 | "Server=myServerName\\myInstanceName;Database=myDataBase;User Id=myUsername;" | semmle.label | "Server=myServerName\\myInstanceName;Database=myDataBase;User Id=myUsername;" | | InsecureSQLConnection.cs:49:20:49:32 | access to local variable connectString : String | semmle.label | access to local variable connectString : String | | InsecureSQLConnection.cs:50:17:50:64 | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd" : String | semmle.label | "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd" : String | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.cs b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.cs new file mode 100644 index 000000000000..a1ddbb9254b9 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.cs @@ -0,0 +1,43 @@ +namespace System.Data.SqlClient +{ + public sealed class SqlConnectionStringBuilder + { + public bool Encrypt { get; set; } + public SqlConnectionStringBuilder(string connectionString) { } + } + +} + +namespace InsecureSQLConnection +{ + public class Class1 + { + void Test6() + { + string connectString = "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false"; + var conn = new System.Data.SqlClient.SqlConnectionStringBuilder(connectString) { Encrypt = false }; // Bug - cs/insecure-sql-connection-initializer + } + + void Test72ndPhase(bool encrypt) + { + string connectString = "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false"; + var conn = new System.Data.SqlClient.SqlConnectionStringBuilder(connectString) { Encrypt = encrypt }; // Bug - cs/insecure-sql-connection-initializer (sink) + } + + void Test7() + { + Test72ndPhase(false); // Bug - cs/insecure-sql-connection-initializer (source) + } + + void Test7FP() + { + Test72ndPhase(true); // Not a bug source + } + + void Test8FP() + { + string connectString = "Server=1.2.3.4;Database=Anything;UID=ab;Pwd=cd;Encrypt=false"; + var conn = new System.Data.SqlClient.SqlConnectionStringBuilder(connectString) { Encrypt = true }; + } + } +} diff --git a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.expected b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.expected new file mode 100644 index 000000000000..85fc23a99745 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.expected @@ -0,0 +1,12 @@ +edges +| InsecureSQLConnectionInitializer.cs:21:33:21:39 | encrypt : Boolean | InsecureSQLConnectionInitializer.cs:24:104:24:110 | access to parameter encrypt | provenance | | +| InsecureSQLConnectionInitializer.cs:29:27:29:31 | false : Boolean | InsecureSQLConnectionInitializer.cs:21:33:21:39 | encrypt : Boolean | provenance | | +nodes +| InsecureSQLConnectionInitializer.cs:18:104:18:108 | false | semmle.label | false | +| InsecureSQLConnectionInitializer.cs:21:33:21:39 | encrypt : Boolean | semmle.label | encrypt : Boolean | +| InsecureSQLConnectionInitializer.cs:24:104:24:110 | access to parameter encrypt | semmle.label | access to parameter encrypt | +| InsecureSQLConnectionInitializer.cs:29:27:29:31 | false : Boolean | semmle.label | false : Boolean | +subpaths +#select +| InsecureSQLConnectionInitializer.cs:18:104:18:108 | false | InsecureSQLConnectionInitializer.cs:18:104:18:108 | false | InsecureSQLConnectionInitializer.cs:18:104:18:108 | false | A value evaluating to $@ flows to $@ and sets the `encrypt` property. | InsecureSQLConnectionInitializer.cs:18:104:18:108 | false | `false` | InsecureSQLConnectionInitializer.cs:18:24:18:110 | object creation of type SqlConnectionStringBuilder | this SQL connection initializer | +| InsecureSQLConnectionInitializer.cs:24:104:24:110 | access to parameter encrypt | InsecureSQLConnectionInitializer.cs:29:27:29:31 | false : Boolean | InsecureSQLConnectionInitializer.cs:24:104:24:110 | access to parameter encrypt | A value evaluating to $@ flows to $@ and sets the `encrypt` property. | InsecureSQLConnectionInitializer.cs:29:27:29:31 | false | `false` | InsecureSQLConnectionInitializer.cs:24:24:24:112 | object creation of type SqlConnectionStringBuilder | this SQL connection initializer | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.qlref b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.qlref new file mode 100644 index 000000000000..8036c56927a8 --- /dev/null +++ b/csharp/ql/test/query-tests/Security Features/CWE-327/InsecureSQLConnectionInitializer/InsecureSQLConnectionInitializer.qlref @@ -0,0 +1 @@ +Security Features/CWE-327/InsecureSQLConnectionInitializer.ql \ No newline at end of file diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.cs index 93dede10b15d..a2d0c24ff4c4 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.cs @@ -11,11 +11,11 @@ public static void M(FileStream fs) { var formatter = new BinaryFormatter(); // BAD - var a = (Func)formatter.Deserialize(fs); + var a = (Func)formatter.Deserialize(fs); // $ Alert[cs/deserialized-delegate] // BAD - var b = (Expression>)formatter.Deserialize(fs); + var b = (Expression>)formatter.Deserialize(fs); // $ Alert[cs/deserialized-delegate] // BAD - var c = (D)formatter.Deserialize(fs); + var c = (D)formatter.Deserialize(fs); // $ Alert[cs/deserialized-delegate] // GOOD var d = (int)formatter.Deserialize(fs); } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.qlref b/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.qlref index 913c61338c47..dbfd493cef5b 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.qlref +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegate.qlref @@ -1 +1,4 @@ -Security Features/CWE-502/DeserializedDelegate.ql \ No newline at end of file +query: Security Features/CWE-502/DeserializedDelegate.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegateBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegateBad.cs index 12b2dc76987d..48c2ed2b4140 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegateBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/DeserializedDelegate/DeserializedDelegateBad.cs @@ -8,7 +8,7 @@ public static int InvokeSerialized(FileStream fs) { var formatter = new BinaryFormatter(); // BAD - var f = (Func)formatter.Deserialize(fs); + var f = (Func)formatter.Deserialize(fs); // $ Alert[cs/deserialized-delegate] return f(); } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/BinaryFormatterBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/BinaryFormatterBad.cs index 1170a37ad3b9..7fbe5499dbb7 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/BinaryFormatterBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/BinaryFormatterBad.cs @@ -7,6 +7,6 @@ public static object Deserialize(Stream s) { var ds = new BinaryFormatter(); // BAD - return ds.Deserialize(s); + return ds.Deserialize(s); // $ Alert[cs/unsafe-deserialization] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractJsonSerializerBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractJsonSerializerBad.cs index 1256428176c5..2e2b80cc25ae 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractJsonSerializerBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractJsonSerializerBad.cs @@ -8,6 +8,6 @@ public static object Deserialize(Type type, Stream s) { var ds = new DataContractJsonSerializer(type); // BAD - return ds.ReadObject(s); + return ds.ReadObject(s); // $ Alert[cs/unsafe-deserialization] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractSerializerBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractSerializerBad.cs index 35cff0b45f1d..e98bd0c0aa0b 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractSerializerBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/DataContractSerializerBad.cs @@ -8,6 +8,6 @@ public static object Deserialize(Type type, Stream s) { var ds = new DataContractSerializer(type); // BAD - return ds.ReadObject(s); + return ds.ReadObject(s); // $ Alert[cs/unsafe-deserialization] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/ResourceReaderBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/ResourceReaderBad.cs index 2da5dc1aa6a5..e39a87769900 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/ResourceReaderBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/ResourceReaderBad.cs @@ -6,11 +6,11 @@ class BadResourceReader { public static void Deserialize(Stream s) { - var ds = new ResourceReader(s); + var ds = new ResourceReader(s); // $ Alert[cs/unsafe-deserialization] // BAD var dict = ds.GetEnumerator(); while (dict.MoveNext()) - Console.WriteLine(" {0}: '{1}' (Type {2})", + Console.WriteLine(" {0}: '{1}' (Type {2})", dict.Key, dict.Value, dict.Value.GetType().Name); ds.Close(); } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserialization.qlref b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserialization.qlref index 78efa2399c0b..25a133ff8a71 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserialization.qlref +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserialization.qlref @@ -1 +1,4 @@ -Security Features/CWE-502/UnsafeDeserialization.ql \ No newline at end of file +query: Security Features/CWE-502/UnsafeDeserialization.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserializationBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserializationBad.cs index 385e700a0bf9..ce178961b9b6 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserializationBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/UnsafeDeserializationBad.cs @@ -6,6 +6,6 @@ public static object Deserialize(string s) { JavaScriptSerializer sr = new JavaScriptSerializer(new SimpleTypeResolver()); // BAD - return sr.DeserializeObject(s); + return sr.DeserializeObject(s); // $ Alert[cs/unsafe-deserialization] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlObjectSerializerBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlObjectSerializerBad.cs index 4096934da0ba..a8e1bc42e2fc 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlObjectSerializerBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlObjectSerializerBad.cs @@ -8,6 +8,6 @@ public static object Deserialize(Type type, Stream s) { XmlObjectSerializer ds = new DataContractSerializer(type); // BAD - return ds.ReadObject(s); + return ds.ReadObject(s); // $ Alert[cs/unsafe-deserialization] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlSerializerBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlSerializerBad.cs index 4d32bae9c082..a5f3287cd55d 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlSerializerBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/XmlSerializerBad.cs @@ -8,6 +8,6 @@ public static object Deserialize(Type type, Stream s) { var ds = new XmlSerializer(type); // BAD - return ds.Deserialize(s); + return ds.Deserialize(s); // $ Alert[cs/unsafe-deserialization] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/BinaryFormatterUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/BinaryFormatterUntrustedInputBad.cs index 73c6c35413bc..8f19580b68a8 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/BinaryFormatterUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/BinaryFormatterUntrustedInputBad.cs @@ -1,14 +1,25 @@ -using System.Web.UI.WebControls; -using System.Runtime.Serialization.Formatters.Binary; +using System; using System.IO; +using System.Runtime.Serialization.Formatters.Binary; using System.Text; +using System.Web.UI.WebControls; -class BadBinaryFormatter +class BadBinaryFormatter1 { public static object Deserialize(TextBox textBox) { var ds = new BinaryFormatter(); // BAD - return ds.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(textBox.Text))); + return ds.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(textBox.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] + } +} + +class BadBinaryFormatter2 +{ + public static object Deserialize(TextBox type, TextBox data) + { + var ds = new BinaryFormatter(); + // BAD + return ds.Deserialize(new MemoryStream(Convert.FromBase64String(data.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractJsonSerializerUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractJsonSerializerUntrustedInputBad.cs index 2d3efe3ae269..e1e389c0a67f 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractJsonSerializerUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractJsonSerializerUntrustedInputBad.cs @@ -10,6 +10,6 @@ public static object Deserialize(TextBox type, TextBox data) { var ds = new DataContractJsonSerializer(Type.GetType(type.Text)); // BAD - return ds.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); + return ds.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractSerializerUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractSerializerUntrustedInputBad.cs index f4f266ed3e00..2e979b2387d6 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractSerializerUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/DataContractSerializerUntrustedInputBad.cs @@ -10,6 +10,6 @@ public static object Deserialize(TextBox type, TextBox data) { var ds = new DataContractSerializer(Type.GetType(type.Text)); // BAD - return ds.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); + return ds.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/ResourceReaderUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/ResourceReaderUntrustedInputBad.cs index cd5468afc2d2..33ca758ac9cf 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/ResourceReaderUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/ResourceReaderUntrustedInputBad.cs @@ -8,11 +8,11 @@ class BadResourceReader { public static void Deserialize(TextBox data) { - var ds = new ResourceReader(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); + var ds = new ResourceReader(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] // BAD var dict = ds.GetEnumerator(); while (dict.MoveNext()) - Console.WriteLine(" {0}: '{1}' (Type {2})", + Console.WriteLine(" {0}: '{1}' (Type {2})", dict.Key, dict.Value, dict.Value.GetType().Name); ds.Close(); } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected index 37cba1c28bff..c3377fcb04f0 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.expected @@ -1,5 +1,6 @@ #select -| BinaryFormatterUntrustedInputBad.cs:12:31:12:84 | object creation of type MemoryStream | BinaryFormatterUntrustedInputBad.cs:12:71:12:77 | access to parameter textBox : TextBox | BinaryFormatterUntrustedInputBad.cs:12:31:12:84 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | BinaryFormatterUntrustedInputBad.cs:12:71:12:77 | access to parameter textBox : TextBox | User-provided data | +| BinaryFormatterUntrustedInputBad.cs:13:31:13:84 | object creation of type MemoryStream | BinaryFormatterUntrustedInputBad.cs:13:71:13:77 | access to parameter textBox : TextBox | BinaryFormatterUntrustedInputBad.cs:13:31:13:84 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | BinaryFormatterUntrustedInputBad.cs:13:71:13:77 | access to parameter textBox : TextBox | User-provided data | +| BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | BinaryFormatterUntrustedInputBad.cs:23:73:23:76 | access to parameter data : TextBox | BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | BinaryFormatterUntrustedInputBad.cs:23:73:23:76 | access to parameter data : TextBox | User-provided data | | DataContractJsonSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | DataContractJsonSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | User-provided data | | DataContractSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | DataContractSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | DataContractSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | DataContractSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | User-provided data | | ResourceReaderUntrustedInputBad.cs:11:37:11:87 | object creation of type MemoryStream | ResourceReaderUntrustedInputBad.cs:11:77:11:80 | access to parameter data : TextBox | ResourceReaderUntrustedInputBad.cs:11:37:11:87 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | ResourceReaderUntrustedInputBad.cs:11:77:11:80 | access to parameter data : TextBox | User-provided data | @@ -7,9 +8,12 @@ | XmlObjectSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | XmlObjectSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | XmlObjectSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | XmlObjectSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | User-provided data | | XmlSerializerUntrustedInputBad.cs:13:31:13:81 | object creation of type MemoryStream | XmlSerializerUntrustedInputBad.cs:13:71:13:74 | access to parameter data : TextBox | XmlSerializerUntrustedInputBad.cs:13:31:13:81 | object creation of type MemoryStream | $@ flows to unsafe deserializer. | XmlSerializerUntrustedInputBad.cs:13:71:13:74 | access to parameter data : TextBox | User-provided data | edges -| BinaryFormatterUntrustedInputBad.cs:12:48:12:83 | call to method GetBytes : Byte[] | BinaryFormatterUntrustedInputBad.cs:12:31:12:84 | object creation of type MemoryStream | provenance | MaD:1 | -| BinaryFormatterUntrustedInputBad.cs:12:71:12:77 | access to parameter textBox : TextBox | BinaryFormatterUntrustedInputBad.cs:12:71:12:82 | access to property Text : String | provenance | MaD:3 | -| BinaryFormatterUntrustedInputBad.cs:12:71:12:82 | access to property Text : String | BinaryFormatterUntrustedInputBad.cs:12:48:12:83 | call to method GetBytes : Byte[] | provenance | MaD:2 | +| BinaryFormatterUntrustedInputBad.cs:13:48:13:83 | call to method GetBytes : Byte[] | BinaryFormatterUntrustedInputBad.cs:13:31:13:84 | object creation of type MemoryStream | provenance | MaD:1 | +| BinaryFormatterUntrustedInputBad.cs:13:71:13:77 | access to parameter textBox : TextBox | BinaryFormatterUntrustedInputBad.cs:13:71:13:82 | access to property Text : String | provenance | MaD:3 | +| BinaryFormatterUntrustedInputBad.cs:13:71:13:82 | access to property Text : String | BinaryFormatterUntrustedInputBad.cs:13:48:13:83 | call to method GetBytes : Byte[] | provenance | MaD:2 | +| BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] [element] : Object | BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | provenance | MaD:1 | +| BinaryFormatterUntrustedInputBad.cs:23:73:23:76 | access to parameter data : TextBox | BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | provenance | MaD:3 | +| BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] [element] : Object | provenance | MaD:4 | | DataContractJsonSerializerUntrustedInputBad.cs:13:47:13:79 | call to method GetBytes : Byte[] | DataContractJsonSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | provenance | MaD:1 | | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:78 | access to property Text : String | provenance | MaD:3 | | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:78 | access to property Text : String | DataContractJsonSerializerUntrustedInputBad.cs:13:47:13:79 | call to method GetBytes : Byte[] | provenance | MaD:2 | @@ -27,14 +31,19 @@ edges | XmlSerializerUntrustedInputBad.cs:13:71:13:74 | access to parameter data : TextBox | XmlSerializerUntrustedInputBad.cs:13:71:13:79 | access to property Text : String | provenance | MaD:3 | | XmlSerializerUntrustedInputBad.cs:13:71:13:79 | access to property Text : String | XmlSerializerUntrustedInputBad.cs:13:48:13:80 | call to method GetBytes : Byte[] | provenance | MaD:2 | models -| 1 | Summary: System.IO; MemoryStream; false; MemoryStream; (System.Byte[]); ; Argument[0]; Argument[this]; taint; manual | +| 1 | Summary: System.IO; MemoryStream; false; MemoryStream; (System.Byte[]); ; Argument[0].Element; Argument[this]; taint; manual | | 2 | Summary: System.Text; Encoding; true; GetBytes; (System.String); ; Argument[0]; ReturnValue; taint; manual | | 3 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual | +| 4 | Summary: System; Convert; false; FromBase64String; (System.String); ; Argument[0]; ReturnValue.Element; taint; manual | nodes -| BinaryFormatterUntrustedInputBad.cs:12:31:12:84 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream | -| BinaryFormatterUntrustedInputBad.cs:12:48:12:83 | call to method GetBytes : Byte[] | semmle.label | call to method GetBytes : Byte[] | -| BinaryFormatterUntrustedInputBad.cs:12:71:12:77 | access to parameter textBox : TextBox | semmle.label | access to parameter textBox : TextBox | -| BinaryFormatterUntrustedInputBad.cs:12:71:12:82 | access to property Text : String | semmle.label | access to property Text : String | +| BinaryFormatterUntrustedInputBad.cs:13:31:13:84 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream | +| BinaryFormatterUntrustedInputBad.cs:13:48:13:83 | call to method GetBytes : Byte[] | semmle.label | call to method GetBytes : Byte[] | +| BinaryFormatterUntrustedInputBad.cs:13:71:13:77 | access to parameter textBox : TextBox | semmle.label | access to parameter textBox : TextBox | +| BinaryFormatterUntrustedInputBad.cs:13:71:13:82 | access to property Text : String | semmle.label | access to property Text : String | +| BinaryFormatterUntrustedInputBad.cs:23:31:23:83 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream | +| BinaryFormatterUntrustedInputBad.cs:23:48:23:82 | call to method FromBase64String : Byte[] [element] : Object | semmle.label | call to method FromBase64String : Byte[] [element] : Object | +| BinaryFormatterUntrustedInputBad.cs:23:73:23:76 | access to parameter data : TextBox | semmle.label | access to parameter data : TextBox | +| BinaryFormatterUntrustedInputBad.cs:23:73:23:81 | access to property Text : String | semmle.label | access to property Text : String | | DataContractJsonSerializerUntrustedInputBad.cs:13:30:13:80 | object creation of type MemoryStream | semmle.label | object creation of type MemoryStream | | DataContractJsonSerializerUntrustedInputBad.cs:13:47:13:79 | call to method GetBytes : Byte[] | semmle.label | call to method GetBytes : Byte[] | | DataContractJsonSerializerUntrustedInputBad.cs:13:70:13:73 | access to parameter data : TextBox | semmle.label | access to parameter data : TextBox | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.qlref b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.qlref index a1ffb72bf108..195452ad5675 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.qlref +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInput.qlref @@ -1,2 +1,4 @@ query: Security Features/CWE-502/UnsafeDeserializationUntrustedInput.ql -postprocess: utils/test/PrettyPrintModels.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInputBad.cs index db2b25097bac..6af634af09c5 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/UnsafeDeserializationUntrustedInputBad.cs @@ -7,6 +7,6 @@ public static object Deserialize(TextBox textBox) { JavaScriptSerializer sr = new JavaScriptSerializer(new SimpleTypeResolver()); // BAD - return sr.DeserializeObject(textBox.Text); + return sr.DeserializeObject(textBox.Text); // $ Alert[cs/unsafe-deserialization-untrusted-input] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlObjectSerializerUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlObjectSerializerUntrustedInputBad.cs index b525dd28692b..c7a0d94cb45b 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlObjectSerializerUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlObjectSerializerUntrustedInputBad.cs @@ -10,6 +10,6 @@ public static object Deserialize(TextBox type, TextBox data) { XmlObjectSerializer ds = new DataContractSerializer(Type.GetType(type.Text)); // BAD - return ds.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); + return ds.ReadObject(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlSerializerUntrustedInputBad.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlSerializerUntrustedInputBad.cs index f658f2a9e1a7..b5299c01f3f4 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlSerializerUntrustedInputBad.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/XmlSerializerUntrustedInputBad.cs @@ -10,6 +10,6 @@ public static object Deserialize(TextBox type, TextBox data) { var ds = new XmlSerializer(Type.GetType(type.Text)); // BAD - return ds.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); + return ds.Deserialize(new MemoryStream(Encoding.UTF8.GetBytes(data.Text))); // $ Alert[cs/unsafe-deserialization-untrusted-input] } } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/Test.cs b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/Test.cs index c8c5cbb00988..90bdeef83368 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/Test.cs +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/Test.cs @@ -14,9 +14,9 @@ public static object Deserialize1(TextBox data) public static object Deserialize2(TextBox data) { - return JsonConvert.DeserializeObject(data.Text, new JsonSerializerSettings + return JsonConvert.DeserializeObject(data.Text, new JsonSerializerSettings // $ Alert[cs/unsafe-deserialization-untrusted-input] { - TypeNameHandling = TypeNameHandling.Auto // BAD + TypeNameHandling = TypeNameHandling.Auto }); } diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/UnsafeDeserializationUntrustedInput.qlref b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/UnsafeDeserializationUntrustedInput.qlref index a1ffb72bf108..195452ad5675 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/UnsafeDeserializationUntrustedInput.qlref +++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/UnsafeDeserializationUntrustedInput.qlref @@ -1,2 +1,4 @@ query: Security Features/CWE-502/UnsafeDeserializationUntrustedInput.ql -postprocess: utils/test/PrettyPrintModels.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.22.1.rst b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.22.1.rst new file mode 100644 index 000000000000..c1b1bb4b0a27 --- /dev/null +++ b/docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.22.1.rst @@ -0,0 +1,202 @@ +.. _codeql-cli-2.22.1: + +========================== +CodeQL 2.22.1 (2025-06-26) +========================== + +.. contents:: Contents + :depth: 2 + :local: + :backlinks: none + +This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog `__, `relevant GitHub Changelog updates `__, `changes in the CodeQL extension for Visual Studio Code `__, and the `CodeQL Action changelog `__. + +Security Coverage +----------------- + +CodeQL 2.22.1 runs a total of 449 security queries when configured with the Default suite (covering 165 CWE). The Extended suite enables an additional 129 queries (covering 33 more CWE). + +CodeQL CLI +---------- + +New Features +~~~~~~~~~~~~ + +* Rust language support is now in public preview. + +Miscellaneous +~~~~~~~~~~~~~ + +* The version of :code:`jgit` used by the CodeQL CLI has been updated to :code:`6.10.1.202505221210-r`. + +Query Packs +----------- + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* Added flow model for the following libraries: :code:`madler/zlib`, :code:`google/brotli`, :code:`libidn/libidn2`, :code:`libssh2/libssh2/`, :code:`nghttp2/nghttp2`, :code:`libuv/libuv/`, and :code:`curl/curl`. This may result in more alerts when running queries on codebases that use these libraries. + +C# +"" + +* The queries :code:`cs/dereferenced-value-is-always-null` and :code:`cs/dereferenced-value-may-be-null` have been improved to reduce false positives. The queries no longer assume that expressions are dereferenced when passed as the receiver (:code:`this` parameter) to extension methods where that parameter is a nullable type. + +JavaScript/TypeScript +""""""""""""""""""""" + +* The :code:`js/loop-iteration-skipped-due-to-shifting` query now has the :code:`reliability` tag. +* Fixed false positives in the :code:`js/loop-iteration-skipped-due-to-shifting` query when the return value of :code:`splice` is used to decide whether to adjust the loop counter. +* Fixed false positives in the :code:`js/template-syntax-in-string-literal` query where template syntax in string concatenation and "manual string interpolation" patterns were incorrectly flagged. +* The :code:`js/useless-expression` query now correctly flags only the innermost expressions with no effect, avoiding duplicate alerts on compound expressions. + +Python +"""""" + +* The :code:`py/iter-returns-non-self` query has been modernized, and no longer alerts for certain cases where an equivalent iterator is returned. + +New Queries +~~~~~~~~~~~ + +Rust +"""" + +* Initial public preview release. + +Query Metadata Changes +~~~~~~~~~~~~~~~~~~~~~~ + +C# +"" + +* Query metadata tags have been systematically updated for many C# queries. Primary categorization as either :code:`reliability` or :code:`maintainability`, and relevant sub-category tags such as :code:`readability`, :code:`useless-code`, :code:`complexity`, :code:`performance`, :code:`correctness`, :code:`error-handling`, and :code:`concurrency`. Aligns with the established `Query file metadata and alert message style guide `__. +* Adjusts the :code:`@security-severity` from 9.3 to 7.3 for :code:`cs/uncontrolled-format-string` to align :code:`CWE-134` severity for memory safe languages to better reflect their impact. + +Golang +"""""" + +* The tag :code:`quality` has been added to multiple Go quality queries for consistency. They have all been given a tag for one of the two top-level categories :code:`reliability` or :code:`maintainability`, and a tag for a sub-category. See `Query file metadata and alert message style guide `__ for more information about these categories. +* The tag :code:`external/cwe/cwe-129` has been added to :code:`go/constant-length-comparison`. +* The tag :code:`external/cwe/cwe-193` has been added to :code:`go/index-out-of-bounds`. +* The tag :code:`external/cwe/cwe-197` has been added to :code:`go/shift-out-of-range`. +* The tag :code:`external/cwe/cwe-248` has been added to :code:`go/redundant-recover`. +* The tag :code:`external/cwe/cwe-252` has been added to :code:`go/missing-error-check` and :code:`go/unhandled-writable-file-close`. +* The tag :code:`external/cwe/cwe-480` has been added to :code:`go/mistyped-exponentiation`. +* The tag :code:`external/cwe/cwe-570` has been added to :code:`go/impossible-interface-nil-check` and :code:`go/comparison-of-identical-expressions`. +* The tag :code:`external/cwe/cwe-571` has been added to :code:`go/negative-length-check` and :code:`go/comparison-of-identical-expressions`. +* The tag :code:`external/cwe/cwe-783` has been added to :code:`go/whitespace-contradicts-precedence`. +* The tag :code:`external/cwe/cwe-835` has been added to :code:`go/inconsistent-loop-direction`. +* The tag :code:`error-handling` has been added to :code:`go/missing-error-check`, :code:`go/unhandled-writable-file-close`, and :code:`go/unexpected-nil-value`. +* The tag :code:`useless-code` has been added to :code:`go/useless-assignment-to-field`, :code:`go/useless-assignment-to-local`, :code:`go/useless-expression`, and :code:`go/unreachable-statement`. +* The tag :code:`logic` has been removed from :code:`go/index-out-of-bounds` and :code:`go/unexpected-nil-value`. +* The tags :code:`call` and :code:`defer` have been removed from :code:`go/unhandled-writable-file-close`. +* The tags :code:`correctness` and :code:`quality` have been reordered in :code:`go/missing-error-check` and :code:`go/unhandled-writable-file-close`. +* The tag :code:`maintainability` has been changed to :code:`reliability` for :code:`go/unhandled-writable-file-close`. +* The tag order has been standardized to have :code:`quality` first, followed by the top-level category (:code:`reliability` or :code:`maintainability`), then sub-category tags, and finally CWE tags. +* The description text has been updated in :code:`go/whitespace-contradicts-precedence` to change "may even indicate" to "may indicate". + +Java/Kotlin +""""""""""" + +* The tag :code:`quality` has been added to multiple Java quality queries for consistency. They have all been given a tag for one of the two top-level categories :code:`reliability` or :code:`maintainability`, and a tag for a sub-category. See `Query file metadata and alert message style guide `__ for more information about these categories. +* The tag :code:`external/cwe/cwe-571` has been added to :code:`java/equals-on-unrelated-types`. +* The tag :code:`readability` has been added to :code:`java/missing-override-annotation`, :code:`java/deprecated-call`, :code:`java/inconsistent-javadoc-throws`, :code:`java/unknown-javadoc-parameter`, :code:`java/jdk-internal-api-access`, :code:`java/underscore-identifier`, :code:`java/misleading-indentation`, :code:`java/inefficient-empty-string-test`, :code:`java/non-static-nested-class`, :code:`inefficient-string-constructor`, and :code:`java/constants-only-interface`. +* The tag :code:`useless-code` has been added to :code:`java/useless-type-test`, and :code:`java/useless-tostring-call`. +* The tag :code:`complexity` has been added to :code:`java/chained-type-tests`, and :code:`java/abstract-to-concrete-cast`. +* The tag :code:`error-handling` has been added to :code:`java/ignored-error-status-of-call`, and :code:`java/uncaught-number-format-exception`. +* The tag :code:`correctness` has been added to :code:`java/evaluation-to-constant`, :code:`java/whitespace-contradicts-precedence`, :code:`java/empty-container`, :code:`java/string-buffer-char-init`, :code:`java/call-to-object-tostring`, :code:`java/print-array` and :code:`java/internal-representation-exposure`. +* The tag :code:`performance` has been added to :code:`java/input-resource-leak`, :code:`java/database-resource-leak`, :code:`java/output-resource-leak`, :code:`java/inefficient-key-set-iterator`, :code:`java/inefficient-output-stream`, and :code:`java/inefficient-boxed-constructor`. +* The tag :code:`correctness` has been removed from :code:`java/call-to-thread-run`, :code:`java/unsafe-double-checked-locking`, :code:`java/unsafe-double-checked-locking-init-order`, :code:`java/non-sync-override`, :code:`java/sync-on-boxed-types`, :code:`java/unsynchronized-getter`, :code:`java/input-resource-leak`, :code:`java/output-resource-leak`, :code:`java/database-resource-leak`, and :code:`java/ignored-error-status-of-call`. +* The tags :code:`maintainability` has been removed from :code:`java/string-buffer-char-init`, :code:`java/inefficient-key-set-iterator`, :code:`java/inefficient-boxed-constructor`, and :code:`java/internal-representation-exposure`. +* The tags :code:`reliability` has been removed from :code:`java/subtle-inherited-call`, :code:`java/print-array`, and :code:`java/call-to-object-tostring`. +* The tags :code:`maintainability` and :code:`useless-code` have been removed from :code:`java/evaluation-to-constant`. +* The tags :code:`maintainability` and :code:`readability` have been removed from :code:`java/whitespace-contradicts-precedence`. +* The tags :code:`maintainability` and :code:`useless-code` have been removed from :code:`java/empty-container`. +* Adjusts the :code:`@precision` from high to medium for :code:`java/concatenated-command-line` because it is producing false positive alerts when the concatenated strings are hard-coded. +* Adjusts the :code:`@security-severity` from 9.3 to 7.3 for :code:`java/tainted-format-string` to align :code:`CWE-134` severity for memory safe languages to better reflect their impact. + +JavaScript/TypeScript +""""""""""""""""""""" + +* The :code:`quality` tag has been added to multiple JavaScript quality queries, with tags for :code:`reliability` or :code:`maintainability` categories and their sub-categories. See `Query file metadata and alert message style guide `__ for more information about these categories. +* Added :code:`reliability` tag to the :code:`js/suspicious-method-name-declaration` query. +* Added :code:`reliability` and :code:`language-features` tags to the :code:`js/template-syntax-in-string-literal` query. + +Python +"""""" + +* The tag :code:`quality` has been added to multiple Python quality queries for consistency. They have all been given a tag for one of the two top-level categories :code:`reliability` or :code:`maintainability`, and a tag for a sub-category. See `Query file metadata and alert message style guide `__ for more information about these categories. + +Ruby +"""" + +* Update query metadata tags for :code:`rb/database-query-in-loop` and :code:`rb/useless-assignment-to-local` to align with the established + \ `Query file metadata and alert message style guide `__. + +Swift +""""" + +* Adjusts the :code:`@security-severity` from 9.3 to 7.3 for :code:`swift/uncontrolled-format-string` to align :code:`CWE-134` severity for memory safe languages to better reflect their impact. + +Language Libraries +------------------ + +Bug Fixes +~~~~~~~~~ + +C/C++ +""""" + +* :code:`resolveTypedefs` now properly resolves typedefs for :code:`ArrayType`\ s. + +Minor Analysis Improvements +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Java/Kotlin +""""""""""" + +* Java :code:`assert` statements are now assumed to be executed for the purpose of analysing control flow. This improves precision for a number of queries. + +JavaScript/TypeScript +""""""""""""""""""""" + +* Calls to :code:`sinon.match()` are no longer incorrectly identified as regular expression operations. +* Improved data flow tracking through middleware to handle default value and similar patterns. +* Added :code:`req._parsedUrl` as a remote input source. +* Improved taint tracking through calls to :code:`serialize-javascript`. +* Removed :code:`encodeURI` and :code:`escape` functions from the sanitizer list for request forgery. +* The JavaScript extractor now skips generated JavaScript files if the original TypeScript files are already present. It also skips any files in the output directory specified in the :code:`compilerOptions` part of the :code:`tsconfig.json` file. +* Added support for Axios instances in the :code:`axios` module. + +GitHub Actions +"""""""""""""" + +* 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. + +Deprecated APIs +~~~~~~~~~~~~~~~ + +C/C++ +""""" + +* The :code:`ThrowingFunction` class (:code:`semmle.code.cpp.models.interfaces.Throwing`) has been deprecated. Please use the :code:`AlwaysSehThrowingFunction` class instead. + +New Features +~~~~~~~~~~~~ + +C/C++ +""""" + +* Added a predicate :code:`getAnAttribute` to :code:`Namespace` to retrieve a namespace attribute. +* The Microsoft-specific :code:`__leave` statement is now supported. +* A new class :code:`LeaveStmt` extending :code:`JumpStmt` was added to represent :code:`__leave` statements. +* Added a predicate :code:`hasParameterList` to :code:`LambdaExpression` to capture whether a lambda has an explicitly specified parameter list. + +Rust +"""" + +* Initial public preview release. diff --git a/docs/codeql/codeql-overview/codeql-changelog/index.rst b/docs/codeql/codeql-overview/codeql-changelog/index.rst index af427fd69150..53603bb44a34 100644 --- a/docs/codeql/codeql-overview/codeql-changelog/index.rst +++ b/docs/codeql/codeql-overview/codeql-changelog/index.rst @@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here + diff --git a/docs/codeql/reusables/download-github-database.rst b/docs/codeql/reusables/download-github-database.rst index e416d3cd8ecf..e2b2303c2fa8 100644 --- a/docs/codeql/reusables/download-github-database.rst +++ b/docs/codeql/reusables/download-github-database.rst @@ -3,12 +3,12 @@ GitHub stores CodeQL databases for over 200,000 repos on GitHub.com, which you c You can check if a repository has any CodeQL databases available for download using the ``/repos///code-scanning/codeql/databases`` endpoint. For example, to check for CodeQL databases using the `GitHub CLI `__ you would run:: - gh api /repos///code-scanning/codeql/databases + gh api repos///code-scanning/codeql/databases This command returns information about any CodeQL databases that are available for a repository, including the language the database represents, and when the database was last updated. If no CodeQL databases are available, the response is empty. When you have confirmed that a CodeQL database exists for the language you are interested in, you can download it using the following command:: - gh api /repos///code-scanning/codeql/databases/ -H 'Accept: application/zip' > path/to/local/database.zip + gh api repos///code-scanning/codeql/databases/ -H 'Accept: application/zip' > path/to/local/database.zip For more information, see the documentation for the `Get CodeQL database `__ endpoint in the GitHub REST API documentation. diff --git a/docs/query-metadata-style-guide.md b/docs/query-metadata-style-guide.md index 18fa5d1880f5..f6cc6f883fc1 100644 --- a/docs/query-metadata-style-guide.md +++ b/docs/query-metadata-style-guide.md @@ -157,7 +157,7 @@ Each code quality related query should have **one** of these two "top-level" cat * `@tags maintainability`–for queries that detect patterns that make it harder for developers to make changes to the code. * `@tags reliability`–for queries that detect issues that affect whether the code will perform as expected during execution. -In addition to the "top-level" categories, we will also add sub-categories to further group code quality related queries: +In addition to the "top-level" categories, we may also add sub-categories to further group code quality related queries: * `@tags maintainability`–for queries that detect patterns that make it harder for developers to make changes to the code. * `@tags readability`–for queries that detect confusing patterns that make it harder for developers to read the code. @@ -171,6 +171,7 @@ In addition to the "top-level" categories, we will also add sub-categories to fu * `@tags concurrency`-for queries that detect concurrency related issues such as race conditions, deadlocks, thread safety, etc * `@tags error-handling`-for queries that detect issues related to unsafe error handling such as uncaught exceptions, etc +You may use sub-categories from both top-level categories on the same query. However, if you only use sub-categories from a single top-level category, then you must also tag the query with that top-level category. There are also more specific `@tags` that can be added. See, the following pages for examples of the low-level tags: diff --git a/go/actions/test/action.yml b/go/actions/test/action.yml index 667ee4751ba9..f777535fec17 100644 --- a/go/actions/test/action.yml +++ b/go/actions/test/action.yml @@ -9,10 +9,6 @@ inputs: description: Whether to run formatting, code and qhelp generation checks required: false default: false - dynamic-join-order-mode: - description: Value of the --dynamic-join-order-mode flag to pass to the codeql test command - required: false - default: "none" runs: using: composite steps: @@ -67,15 +63,3 @@ runs: with: name: qhelp-markdown path: go/qhelp-out/**/*.md - - - name: Cache compilation cache - id: query-cache - uses: ./.github/actions/cache-query-compilation - with: - key: go-qltest - - - name: Test - shell: bash - run: | - cd go - make test cache="${{ steps.query-cache.outputs.cache-dir }}" rtjo=${{ inputs.dynamic-join-order-mode }} diff --git a/go/extractor/go.mod b/go/extractor/go.mod index 8dce8565a58a..927cf8e05123 100644 --- a/go/extractor/go.mod +++ b/go/extractor/go.mod @@ -9,8 +9,8 @@ toolchain go1.24.0 // when adding or removing dependencies, run // bazel mod tidy require ( - golang.org/x/mod v0.25.0 - golang.org/x/tools v0.34.0 + golang.org/x/mod v0.26.0 + golang.org/x/tools v0.35.0 ) -require golang.org/x/sync v0.15.0 // indirect +require golang.org/x/sync v0.16.0 // indirect diff --git a/go/extractor/go.sum b/go/extractor/go.sum index c6a97825c8a1..58f0d0b933bb 100644 --- a/go/extractor/go.sum +++ b/go/extractor/go.sum @@ -1,8 +1,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 0d814dec385b..7b90353d01a8 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.27 + +No user-facing changes. + ## 1.0.26 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.27.md b/go/ql/consistency-queries/change-notes/released/1.0.27.md new file mode 100644 index 000000000000..a16f9fe5eebb --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.27.md @@ -0,0 +1,3 @@ +## 1.0.27 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 125d169e44f8..1d6c59bacdbf 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.26 +lastReleaseVersion: 1.0.27 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index e964007a13da..fd4932f54ad6 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.27-dev +version: 1.0.27 groups: - go - queries diff --git a/go/ql/integration-tests/bazel-sample-1/src/go.mod b/go/ql/integration-tests/bazel-sample-1/src/go.mod index babe05def2b2..ecaae99ba560 100644 --- a/go/ql/integration-tests/bazel-sample-1/src/go.mod +++ b/go/ql/integration-tests/bazel-sample-1/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module bazelsample diff --git a/go/ql/integration-tests/bazel-sample-1/src/go.sum b/go/ql/integration-tests/bazel-sample-1/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/bazel-sample-1/src/go.sum +++ b/go/ql/integration-tests/bazel-sample-1/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/bazel-sample-2/src/go.mod b/go/ql/integration-tests/bazel-sample-2/src/go.mod index babe05def2b2..ecaae99ba560 100644 --- a/go/ql/integration-tests/bazel-sample-2/src/go.mod +++ b/go/ql/integration-tests/bazel-sample-2/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module bazelsample diff --git a/go/ql/integration-tests/bazel-sample-2/src/go.sum b/go/ql/integration-tests/bazel-sample-2/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/bazel-sample-2/src/go.sum +++ b/go/ql/integration-tests/bazel-sample-2/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/go-mod-sample/src/go.mod b/go/ql/integration-tests/go-mod-sample/src/go.mod index 8d994ee3c125..35b1caa17f4a 100644 --- a/go/ql/integration-tests/go-mod-sample/src/go.mod +++ b/go/ql/integration-tests/go-mod-sample/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module makesample diff --git a/go/ql/integration-tests/go-mod-sample/src/go.sum b/go/ql/integration-tests/go-mod-sample/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/go-mod-sample/src/go.sum +++ b/go/ql/integration-tests/go-mod-sample/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/make-sample/src/go.mod b/go/ql/integration-tests/make-sample/src/go.mod index 8d994ee3c125..35b1caa17f4a 100644 --- a/go/ql/integration-tests/make-sample/src/go.mod +++ b/go/ql/integration-tests/make-sample/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module makesample diff --git a/go/ql/integration-tests/make-sample/src/go.sum b/go/ql/integration-tests/make-sample/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/make-sample/src/go.sum +++ b/go/ql/integration-tests/make-sample/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/mixed-layout/src/workspace/go.work b/go/ql/integration-tests/mixed-layout/src/workspace/go.work index e7e866fbe27d..434b740cd224 100644 --- a/go/ql/integration-tests/mixed-layout/src/workspace/go.work +++ b/go/ql/integration-tests/mixed-layout/src/workspace/go.work @@ -1,3 +1,5 @@ -go 1.22.0 +go 1.23.0 + +toolchain go1.23.2 use ./subdir diff --git a/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.mod b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.mod index b4ed08ff30be..f0fcd633bc30 100644 --- a/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.mod +++ b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.mod @@ -1,7 +1,9 @@ -go 1.22.0 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 -require golang.org/x/sys v0.18.0 // indirect +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir diff --git a/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.sum b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.sum index 98d0ad505a69..c60ab41465e2 100644 --- a/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.sum +++ b/go/ql/integration-tests/mixed-layout/src/workspace/subdir/go.sum @@ -1,4 +1,4 @@ -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/ninja-sample/src/go.mod b/go/ql/integration-tests/ninja-sample/src/go.mod index 8d994ee3c125..35b1caa17f4a 100644 --- a/go/ql/integration-tests/ninja-sample/src/go.mod +++ b/go/ql/integration-tests/ninja-sample/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module makesample diff --git a/go/ql/integration-tests/ninja-sample/src/go.sum b/go/ql/integration-tests/ninja-sample/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/ninja-sample/src/go.sum +++ b/go/ql/integration-tests/ninja-sample/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod index c7060dfa0de9..f0fcd633bc30 100644 --- a/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod +++ b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir diff --git a/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum +++ b/go/ql/integration-tests/single-go-mod-and-go-files-not-under-it/src/subdir/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/single-go-mod-in-root/src/go.mod b/go/ql/integration-tests/single-go-mod-in-root/src/go.mod index b6d7e456852b..7c062bcacf8b 100644 --- a/go/ql/integration-tests/single-go-mod-in-root/src/go.mod +++ b/go/ql/integration-tests/single-go-mod-in-root/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module test diff --git a/go/ql/integration-tests/single-go-mod-in-root/src/go.sum b/go/ql/integration-tests/single-go-mod-in-root/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/single-go-mod-in-root/src/go.sum +++ b/go/ql/integration-tests/single-go-mod-in-root/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.mod b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.mod index c7060dfa0de9..f0fcd633bc30 100644 --- a/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.mod +++ b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir diff --git a/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.sum b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.sum +++ b/go/ql/integration-tests/single-go-mod-not-in-root/src/subdir/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/go.work b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/go.work index 6610d43e9c0e..58590722fe3c 100644 --- a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/go.work +++ b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/go.work @@ -1,4 +1,6 @@ -go 1.19 +go 1.23.0 + +toolchain go1.23.2 use ( ./subdir1 diff --git a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.mod b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.mod index 4b99f58c0eb0..326818c22e4c 100644 --- a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.mod +++ b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir1 diff --git a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.sum b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.sum +++ b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir1/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.mod b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.mod index 5da75a136d9b..4ee54ae3890e 100644 --- a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.mod +++ b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir2 diff --git a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.sum b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.sum +++ b/go/ql/integration-tests/single-go-work-not-in-root/src/modules/subdir2/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/test-extraction/src/go.sum b/go/ql/integration-tests/test-extraction/src/go.sum index a8e1b59ae4b1..e69de29bb2d1 100644 --- a/go/ql/integration-tests/test-extraction/src/go.sum +++ b/go/ql/integration-tests/test-extraction/src/go.sum @@ -1,45 +0,0 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/ql/integration-tests/traced-extraction/src/go.sum b/go/ql/integration-tests/traced-extraction/src/go.sum index a8e1b59ae4b1..e69de29bb2d1 100644 --- a/go/ql/integration-tests/traced-extraction/src/go.sum +++ b/go/ql/integration-tests/traced-extraction/src/go.sum @@ -1,45 +0,0 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.mod b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.mod index b6d7e456852b..7c062bcacf8b 100644 --- a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.mod +++ b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module test diff --git a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.sum b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.sum +++ b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod index 4b99f58c0eb0..620df2856ee2 100644 --- a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod +++ b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.40.0 + +require golang.org/x/sys v0.33.0 // indirect module subdir1 diff --git a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum index a8e1b59ae4b1..5b3bc988d1a9 100644 --- a/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum +++ b/go/ql/integration-tests/two-go-mods-nested-none-in-root/src/subdir0/subdir1/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.mod b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.mod index 284b506c63fa..cc68a350ef7f 100644 --- a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.mod +++ b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module main diff --git a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.sum b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.sum +++ b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.mod index 147c51b83862..620df2856ee2 100644 --- a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.mod +++ b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.0.0-20200505041828-1ed23360d12c +toolchain go1.23.2 + +require golang.org/x/net v0.40.0 + +require golang.org/x/sys v0.33.0 // indirect module subdir1 diff --git a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.sum index 6c5ffa613d0a..5b3bc988d1a9 100644 --- a/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.sum +++ b/go/ql/integration-tests/two-go-mods-nested-one-in-root/src/subdir1/go.sum @@ -1,7 +1,4 @@ -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/net v0.0.0-20200505041828-1ed23360d12c h1:zJ0mtu4jCalhKg6Oaukv6iIkb+cOvDrajDH9DH46Q4M= -golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.mod index 4b99f58c0eb0..326818c22e4c 100644 --- a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.mod +++ b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir1 diff --git a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.sum +++ b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir1/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.mod b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.mod index c6eec7d9ca51..4ee54ae3890e 100644 --- a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.mod +++ b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.0.0-20200505041828-1ed23360d12c +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir2 diff --git a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.sum b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.sum index 6c5ffa613d0a..c60ab41465e2 100644 --- a/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.sum +++ b/go/ql/integration-tests/two-go-mods-not-nested/src/subdir2/go.sum @@ -1,7 +1,4 @@ -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/net v0.0.0-20200505041828-1ed23360d12c h1:zJ0mtu4jCalhKg6Oaukv6iIkb+cOvDrajDH9DH46Q4M= -golang.org/x/net v0.0.0-20200505041828-1ed23360d12c/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.mod b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.mod index 4b99f58c0eb0..326818c22e4c 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.mod +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.mod @@ -1,5 +1,9 @@ -go 1.14 +go 1.23.0 -require golang.org/x/net v0.23.0 +toolchain go1.23.2 + +require golang.org/x/net v0.39.0 + +require golang.org/x/sys v0.32.0 // indirect module subdir1 diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.sum b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.sum index a8e1b59ae4b1..c60ab41465e2 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.sum +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir1/go.sum @@ -1,45 +1,4 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod index 7a2ca787004f..f33ad2ef3e86 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod @@ -1,7 +1,5 @@ go 1.14 -require ( - github.com/microsoft/go-mssqldb v0.12.0 -) +require github.com/microsoft/go-mssqldb v0.12.0 module subdir2 diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum index 432407e3db02..506dc22b5e60 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum @@ -1,30 +1 @@ -github.com/Azure/go-autorest v13.3.2+incompatible h1:VxzPyuhtnlBOzc4IWCZHqpyH2d+QMLQEuy3wREyY4oc= -github.com/Azure/go-autorest/autorest v0.9.0 h1:MRvx8gncNaXJqOoLmhNjUAKh33JJF8LyxPhomEtOsjs= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.4 h1:1cM+NmKw91+8h5vfjgzK4ZGLuN72k87XVZBWyGwNjUM= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.1 h1:pZdL8o72rK+avFWl+p9nE8RWi1JInZrWJYlnpfXJwHk= -github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0 h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/microsoft/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73 h1:OGNva6WhsKst5OZf7eZOklDztV3hwtTHovdrLHV+MsA= -github.com/microsoft/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +github.com/microsoft/go-mssqldb v0.12.0 h1:nuQ0ygjq+dPZx78vkGH98aXZsk8tIdWHJaFV7ydhnqs= diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index c5fac252869a..3181c613e094 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,15 @@ +## 4.3.0 + +### Deprecated APIs + +* The class `BuiltinType` is now deprecated. Use the new replacement `BuiltinTypeEntity` instead. +* The class `DeclaredType` is now deprecated. Use the new replacement `DeclaredTypeEntity` instead. + +### Minor Analysis Improvements + +* Added models for the `Head` function and the `Client.Head` method, from the `net/http` package, to the `Http::ClientRequest` class. This means that they will be recognized as sinks for the query `go/request-forgery` and the experimental query `go/ssrf`. +* Previously, `DefinedType.getBaseType` gave the underlying type. It now gives the right hand side of the type declaration, as the documentation indicated that it should. + ## 4.2.8 No user-facing changes. diff --git a/go/ql/lib/change-notes/2025-06-03-fix-definedtype-getbasetype.md b/go/ql/lib/change-notes/2025-06-03-fix-definedtype-getbasetype.md deleted file mode 100644 index b58ebf64f09a..000000000000 --- a/go/ql/lib/change-notes/2025-06-03-fix-definedtype-getbasetype.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Previously, `DefinedType.getBaseType` gave the underlying type. It now gives the right hand side of the type declaration, as the documentation indicated that it should. diff --git a/go/ql/lib/change-notes/2025-06-05-deprecate-DeclaredType-BuiltinType.md b/go/ql/lib/change-notes/2025-06-05-deprecate-DeclaredType-BuiltinType.md deleted file mode 100644 index 6744743ea27a..000000000000 --- a/go/ql/lib/change-notes/2025-06-05-deprecate-DeclaredType-BuiltinType.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* The class `BuiltinType` is now deprecated. Use the new replacement `BuiltinTypeEntity` instead. -* The class `DeclaredType` is now deprecated. Use the new replacement `DeclaredTypeEntity` instead. diff --git a/go/ql/lib/change-notes/released/4.3.0.md b/go/ql/lib/change-notes/released/4.3.0.md new file mode 100644 index 000000000000..2b2369b2d690 --- /dev/null +++ b/go/ql/lib/change-notes/released/4.3.0.md @@ -0,0 +1,11 @@ +## 4.3.0 + +### Deprecated APIs + +* The class `BuiltinType` is now deprecated. Use the new replacement `BuiltinTypeEntity` instead. +* The class `DeclaredType` is now deprecated. Use the new replacement `DeclaredTypeEntity` instead. + +### Minor Analysis Improvements + +* Added models for the `Head` function and the `Client.Head` method, from the `net/http` package, to the `Http::ClientRequest` class. This means that they will be recognized as sinks for the query `go/request-forgery` and the experimental query `go/ssrf`. +* Previously, `DefinedType.getBaseType` gave the underlying type. It now gives the right hand side of the type declaration, as the documentation indicated that it should. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 9b51fbc5ce54..c46c103a0bd7 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.8 +lastReleaseVersion: 4.3.0 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 44d63e64e3b3..61e78a5eb558 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 4.2.9-dev +version: 4.3.0 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll index 58b849858416..aa9c9da1bd13 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImplConsistency.qll @@ -4,11 +4,11 @@ */ private import go -private import DataFlowImplSpecific +private import DataFlowImplSpecific as Impl private import TaintTrackingImplSpecific private import codeql.dataflow.internal.DataFlowImplConsistency private import semmle.go.dataflow.internal.DataFlowNodes -private module Input implements InputSig { } +private module Input implements InputSig { } -module Consistency = MakeConsistency; +module Consistency = MakeConsistency; diff --git a/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll b/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll index dded5092bcc3..9a917f05ff5c 100644 --- a/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll +++ b/go/ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll @@ -179,12 +179,11 @@ module NetHttp { private class RequestCall extends Http::ClientRequest::Range, DataFlow::CallNode { RequestCall() { exists(string functionName | - ( - this.getTarget().hasQualifiedName("net/http", functionName) - or - this.getTarget().(Method).hasQualifiedName("net/http", "Client", functionName) - ) and - (functionName = "Get" or functionName = "Post" or functionName = "PostForm") + this.getTarget().hasQualifiedName("net/http", functionName) + or + this.getTarget().(Method).hasQualifiedName("net/http", "Client", functionName) + | + functionName = ["Get", "Head", "Post", "PostForm"] ) } diff --git a/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll b/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll index df601ce1eb84..39db60de4830 100644 --- a/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll +++ b/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll @@ -243,4 +243,20 @@ module TaintedPath { override predicate checks(Expr e, boolean branch) { regexpFunctionChecksExpr(this, e, branch) } } + + /** + * A call of the form `filepath.IsLocal(path)` considered as a sanitizer guard for `path`. + */ + class IsLocalCheck extends SanitizerGuard, DataFlow::CallNode { + IsLocalCheck() { + exists(Function f | + f.hasQualifiedName("path/filepath", "IsLocal") and + this = f.getACall() + ) + } + + override predicate checks(Expr e, boolean branch) { + e = this.getArgument(0).asExpr() and branch = true + } + } } diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 521c13208390..288315dedc67 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.4.1 + +### Minor Analysis Improvements + +* `filepath.IsLocal` is now recognized as a sanitizer against path-traversal and related vulnerabilities. + ## 1.4.0 ### Query Metadata Changes diff --git a/go/ql/src/change-notes/released/1.4.1.md b/go/ql/src/change-notes/released/1.4.1.md new file mode 100644 index 000000000000..8d054d1eb688 --- /dev/null +++ b/go/ql/src/change-notes/released/1.4.1.md @@ -0,0 +1,5 @@ +## 1.4.1 + +### Minor Analysis Improvements + +* `filepath.IsLocal` is now recognized as a sanitizer against path-traversal and related vulnerabilities. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index b8b2e97d5086..43ccf4467bed 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.4.0 +lastReleaseVersion: 1.4.1 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index ad2712943a3c..67b9ff12d462 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.4.1-dev +version: 1.4.1 groups: - go - queries diff --git a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.go b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.go index e6a1c49f4c5b..82c0592a5166 100644 --- a/go/ql/test/query-tests/Security/CWE-022/TaintedPath.go +++ b/go/ql/test/query-tests/Security/CWE-022/TaintedPath.go @@ -93,4 +93,10 @@ func handler(w http.ResponseWriter, r *http.Request) { } data, _ = ioutil.ReadFile(part.FileName()) + + // GOOD: An attempt has been made to prevent path traversal + if filepath.IsLocal(tainted_path) { + data, _ = ioutil.ReadFile(tainted_path) + w.Write(data) + } } diff --git a/go/ql/test/query-tests/Security/CWE-918/RequestForgery.expected b/go/ql/test/query-tests/Security/CWE-918/RequestForgery.expected index 76097b7a5c0b..696d8dd700b4 100644 --- a/go/ql/test/query-tests/Security/CWE-918/RequestForgery.expected +++ b/go/ql/test/query-tests/Security/CWE-918/RequestForgery.expected @@ -1,12 +1,18 @@ #select | RequestForgery.go:11:15:11:66 | call to Get | RequestForgery.go:8:12:8:34 | call to FormValue | RequestForgery.go:11:24:11:65 | ...+... | The $@ of this request depends on a $@. | RequestForgery.go:11:24:11:65 | ...+... | URL | RequestForgery.go:8:12:8:34 | call to FormValue | user-provided value | | tst.go:14:2:14:18 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:14:11:14:17 | tainted | The $@ of this request depends on a $@. | tst.go:14:11:14:17 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:16:2:16:19 | call to Head | tst.go:10:13:10:35 | call to FormValue | tst.go:16:12:16:18 | tainted | The $@ of this request depends on a $@. | tst.go:16:12:16:18 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | | tst.go:18:2:18:38 | call to Post | tst.go:10:13:10:35 | call to FormValue | tst.go:18:12:18:18 | tainted | The $@ of this request depends on a $@. | tst.go:18:12:18:18 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | -| tst.go:22:2:22:14 | call to Do | tst.go:10:13:10:35 | call to FormValue | tst.go:21:34:21:40 | tainted | The $@ of this request depends on a $@. | tst.go:21:34:21:40 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | -| tst.go:25:2:25:14 | call to Do | tst.go:10:13:10:35 | call to FormValue | tst.go:24:66:24:72 | tainted | The $@ of this request depends on a $@. | tst.go:24:66:24:72 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | -| tst.go:27:2:27:30 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:27:11:27:29 | ...+... | The $@ of this request depends on a $@. | tst.go:27:11:27:29 | ...+... | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | -| tst.go:29:2:29:41 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:29:11:29:40 | ...+... | The $@ of this request depends on a $@. | tst.go:29:11:29:40 | ...+... | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | -| tst.go:37:2:37:21 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:37:11:37:20 | call to String | The $@ of this request depends on a $@. | tst.go:37:11:37:20 | call to String | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:20:2:20:28 | call to PostForm | tst.go:10:13:10:35 | call to FormValue | tst.go:20:16:20:22 | tainted | The $@ of this request depends on a $@. | tst.go:20:16:20:22 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:24:2:24:15 | call to Do | tst.go:10:13:10:35 | call to FormValue | tst.go:23:35:23:41 | tainted | The $@ of this request depends on a $@. | tst.go:23:35:23:41 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:27:2:27:15 | call to Do | tst.go:10:13:10:35 | call to FormValue | tst.go:26:68:26:74 | tainted | The $@ of this request depends on a $@. | tst.go:26:68:26:74 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:29:2:29:20 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:29:13:29:19 | tainted | The $@ of this request depends on a $@. | tst.go:29:13:29:19 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:30:2:30:21 | call to Head | tst.go:10:13:10:35 | call to FormValue | tst.go:30:14:30:20 | tainted | The $@ of this request depends on a $@. | tst.go:30:14:30:20 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:31:2:31:40 | call to Post | tst.go:10:13:10:35 | call to FormValue | tst.go:31:14:31:20 | tainted | The $@ of this request depends on a $@. | tst.go:31:14:31:20 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:32:2:32:30 | call to PostForm | tst.go:10:13:10:35 | call to FormValue | tst.go:32:18:32:24 | tainted | The $@ of this request depends on a $@. | tst.go:32:18:32:24 | tainted | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:34:2:34:30 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:34:11:34:29 | ...+... | The $@ of this request depends on a $@. | tst.go:34:11:34:29 | ...+... | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:36:2:36:41 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:36:11:36:40 | ...+... | The $@ of this request depends on a $@. | tst.go:36:11:36:40 | ...+... | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | +| tst.go:44:2:44:21 | call to Get | tst.go:10:13:10:35 | call to FormValue | tst.go:44:11:44:20 | call to String | The $@ of this request depends on a $@. | tst.go:44:11:44:20 | call to String | URL | tst.go:10:13:10:35 | call to FormValue | user-provided value | | websocket.go:65:12:65:53 | call to Dial | websocket.go:60:21:60:31 | call to Referer | websocket.go:65:27:65:40 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:65:27:65:40 | untrustedInput | WebSocket URL | websocket.go:60:21:60:31 | call to Referer | user-provided value | | websocket.go:79:13:79:40 | call to DialConfig | websocket.go:74:21:74:31 | call to Referer | websocket.go:78:36:78:49 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:78:36:78:49 | untrustedInput | WebSocket URL | websocket.go:74:21:74:31 | call to Referer | user-provided value | | websocket.go:91:3:91:50 | call to Dial | websocket.go:88:21:88:31 | call to Referer | websocket.go:91:31:91:44 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:91:31:91:44 | untrustedInput | WebSocket URL | websocket.go:88:21:88:31 | call to Referer | user-provided value | @@ -14,27 +20,33 @@ | websocket.go:129:3:129:62 | call to DialContext | websocket.go:126:21:126:31 | call to Referer | websocket.go:129:38:129:51 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:129:38:129:51 | untrustedInput | WebSocket URL | websocket.go:126:21:126:31 | call to Referer | user-provided value | | websocket.go:155:3:155:45 | call to Dial | websocket.go:154:21:154:31 | call to Referer | websocket.go:155:31:155:44 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:155:31:155:44 | untrustedInput | WebSocket URL | websocket.go:154:21:154:31 | call to Referer | user-provided value | | websocket.go:162:3:162:45 | call to Dial | websocket.go:160:21:160:31 | call to Referer | websocket.go:162:31:162:44 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:162:31:162:44 | untrustedInput | WebSocket URL | websocket.go:160:21:160:31 | call to Referer | user-provided value | -| websocket.go:197:3:197:32 | call to BuildProxy | websocket.go:195:21:195:31 | call to Referer | websocket.go:197:18:197:31 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:197:18:197:31 | untrustedInput | WebSocket URL | websocket.go:195:21:195:31 | call to Referer | user-provided value | -| websocket.go:204:3:204:25 | call to New | websocket.go:202:21:202:31 | call to Referer | websocket.go:204:11:204:24 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:204:11:204:24 | untrustedInput | WebSocket URL | websocket.go:202:21:202:31 | call to Referer | user-provided value | +| websocket.go:197:7:197:36 | call to BuildProxy | websocket.go:195:21:195:31 | call to Referer | websocket.go:197:22:197:35 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:197:22:197:35 | untrustedInput | WebSocket URL | websocket.go:195:21:195:31 | call to Referer | user-provided value | +| websocket.go:204:7:204:29 | call to New | websocket.go:202:21:202:31 | call to Referer | websocket.go:204:15:204:28 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:204:15:204:28 | untrustedInput | WebSocket URL | websocket.go:202:21:202:31 | call to Referer | user-provided value | edges | RequestForgery.go:8:12:8:34 | call to FormValue | RequestForgery.go:11:24:11:65 | ...+... | provenance | Src:MaD:1 | | tst.go:10:13:10:35 | call to FormValue | tst.go:14:11:14:17 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:16:12:16:18 | tainted | provenance | Src:MaD:1 | | tst.go:10:13:10:35 | call to FormValue | tst.go:18:12:18:18 | tainted | provenance | Src:MaD:1 | -| tst.go:10:13:10:35 | call to FormValue | tst.go:21:34:21:40 | tainted | provenance | Src:MaD:1 | -| tst.go:10:13:10:35 | call to FormValue | tst.go:24:66:24:72 | tainted | provenance | Src:MaD:1 | -| tst.go:10:13:10:35 | call to FormValue | tst.go:27:11:27:29 | ...+... | provenance | Src:MaD:1 | -| tst.go:10:13:10:35 | call to FormValue | tst.go:29:11:29:40 | ...+... | provenance | Src:MaD:1 | -| tst.go:10:13:10:35 | call to FormValue | tst.go:36:11:36:17 | tainted | provenance | Src:MaD:1 | -| tst.go:35:2:35:2 | definition of u [pointer] | tst.go:36:2:36:2 | u [pointer] | provenance | | -| tst.go:36:2:36:2 | implicit dereference | tst.go:35:2:35:2 | definition of u [pointer] | provenance | | -| tst.go:36:2:36:2 | implicit dereference | tst.go:36:2:36:2 | u | provenance | | -| tst.go:36:2:36:2 | implicit dereference | tst.go:37:11:37:11 | u | provenance | | -| tst.go:36:2:36:2 | u | tst.go:36:2:36:2 | implicit dereference | provenance | | -| tst.go:36:2:36:2 | u | tst.go:37:11:37:11 | u | provenance | | -| tst.go:36:2:36:2 | u [pointer] | tst.go:36:2:36:2 | implicit dereference | provenance | | -| tst.go:36:11:36:17 | tainted | tst.go:36:2:36:2 | u | provenance | Config | -| tst.go:36:11:36:17 | tainted | tst.go:37:11:37:11 | u | provenance | Config | -| tst.go:37:11:37:11 | u | tst.go:37:11:37:20 | call to String | provenance | MaD:3 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:20:16:20:22 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:23:35:23:41 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:26:68:26:74 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:29:13:29:19 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:30:14:30:20 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:31:14:31:20 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:32:18:32:24 | tainted | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:34:11:34:29 | ...+... | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:36:11:36:40 | ...+... | provenance | Src:MaD:1 | +| tst.go:10:13:10:35 | call to FormValue | tst.go:43:11:43:17 | tainted | provenance | Src:MaD:1 | +| tst.go:42:2:42:2 | definition of u [pointer] | tst.go:43:2:43:2 | u [pointer] | provenance | | +| tst.go:43:2:43:2 | implicit dereference | tst.go:42:2:42:2 | definition of u [pointer] | provenance | | +| tst.go:43:2:43:2 | implicit dereference | tst.go:43:2:43:2 | u | provenance | | +| tst.go:43:2:43:2 | implicit dereference | tst.go:44:11:44:11 | u | provenance | | +| tst.go:43:2:43:2 | u | tst.go:43:2:43:2 | implicit dereference | provenance | | +| tst.go:43:2:43:2 | u | tst.go:44:11:44:11 | u | provenance | | +| tst.go:43:2:43:2 | u [pointer] | tst.go:43:2:43:2 | implicit dereference | provenance | | +| tst.go:43:11:43:17 | tainted | tst.go:43:2:43:2 | u | provenance | Config | +| tst.go:43:11:43:17 | tainted | tst.go:44:11:44:11 | u | provenance | Config | +| tst.go:44:11:44:11 | u | tst.go:44:11:44:20 | call to String | provenance | MaD:3 | | websocket.go:60:21:60:31 | call to Referer | websocket.go:65:27:65:40 | untrustedInput | provenance | Src:MaD:2 | | websocket.go:74:21:74:31 | call to Referer | websocket.go:78:36:78:49 | untrustedInput | provenance | Src:MaD:2 | | websocket.go:88:21:88:31 | call to Referer | websocket.go:91:31:91:44 | untrustedInput | provenance | Src:MaD:2 | @@ -42,8 +54,8 @@ edges | websocket.go:126:21:126:31 | call to Referer | websocket.go:129:38:129:51 | untrustedInput | provenance | Src:MaD:2 | | websocket.go:154:21:154:31 | call to Referer | websocket.go:155:31:155:44 | untrustedInput | provenance | Src:MaD:2 | | websocket.go:160:21:160:31 | call to Referer | websocket.go:162:31:162:44 | untrustedInput | provenance | Src:MaD:2 | -| websocket.go:195:21:195:31 | call to Referer | websocket.go:197:18:197:31 | untrustedInput | provenance | Src:MaD:2 | -| websocket.go:202:21:202:31 | call to Referer | websocket.go:204:11:204:24 | untrustedInput | provenance | Src:MaD:2 | +| websocket.go:195:21:195:31 | call to Referer | websocket.go:197:22:197:35 | untrustedInput | provenance | Src:MaD:2 | +| websocket.go:202:21:202:31 | call to Referer | websocket.go:204:15:204:28 | untrustedInput | provenance | Src:MaD:2 | models | 1 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual | | 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual | @@ -53,18 +65,24 @@ nodes | RequestForgery.go:11:24:11:65 | ...+... | semmle.label | ...+... | | tst.go:10:13:10:35 | call to FormValue | semmle.label | call to FormValue | | tst.go:14:11:14:17 | tainted | semmle.label | tainted | +| tst.go:16:12:16:18 | tainted | semmle.label | tainted | | tst.go:18:12:18:18 | tainted | semmle.label | tainted | -| tst.go:21:34:21:40 | tainted | semmle.label | tainted | -| tst.go:24:66:24:72 | tainted | semmle.label | tainted | -| tst.go:27:11:27:29 | ...+... | semmle.label | ...+... | -| tst.go:29:11:29:40 | ...+... | semmle.label | ...+... | -| tst.go:35:2:35:2 | definition of u [pointer] | semmle.label | definition of u [pointer] | -| tst.go:36:2:36:2 | implicit dereference | semmle.label | implicit dereference | -| tst.go:36:2:36:2 | u | semmle.label | u | -| tst.go:36:2:36:2 | u [pointer] | semmle.label | u [pointer] | -| tst.go:36:11:36:17 | tainted | semmle.label | tainted | -| tst.go:37:11:37:11 | u | semmle.label | u | -| tst.go:37:11:37:20 | call to String | semmle.label | call to String | +| tst.go:20:16:20:22 | tainted | semmle.label | tainted | +| tst.go:23:35:23:41 | tainted | semmle.label | tainted | +| tst.go:26:68:26:74 | tainted | semmle.label | tainted | +| tst.go:29:13:29:19 | tainted | semmle.label | tainted | +| tst.go:30:14:30:20 | tainted | semmle.label | tainted | +| tst.go:31:14:31:20 | tainted | semmle.label | tainted | +| tst.go:32:18:32:24 | tainted | semmle.label | tainted | +| tst.go:34:11:34:29 | ...+... | semmle.label | ...+... | +| tst.go:36:11:36:40 | ...+... | semmle.label | ...+... | +| tst.go:42:2:42:2 | definition of u [pointer] | semmle.label | definition of u [pointer] | +| tst.go:43:2:43:2 | implicit dereference | semmle.label | implicit dereference | +| tst.go:43:2:43:2 | u | semmle.label | u | +| tst.go:43:2:43:2 | u [pointer] | semmle.label | u [pointer] | +| tst.go:43:11:43:17 | tainted | semmle.label | tainted | +| tst.go:44:11:44:11 | u | semmle.label | u | +| tst.go:44:11:44:20 | call to String | semmle.label | call to String | | websocket.go:60:21:60:31 | call to Referer | semmle.label | call to Referer | | websocket.go:65:27:65:40 | untrustedInput | semmle.label | untrustedInput | | websocket.go:74:21:74:31 | call to Referer | semmle.label | call to Referer | @@ -80,7 +98,7 @@ nodes | websocket.go:160:21:160:31 | call to Referer | semmle.label | call to Referer | | websocket.go:162:31:162:44 | untrustedInput | semmle.label | untrustedInput | | websocket.go:195:21:195:31 | call to Referer | semmle.label | call to Referer | -| websocket.go:197:18:197:31 | untrustedInput | semmle.label | untrustedInput | +| websocket.go:197:22:197:35 | untrustedInput | semmle.label | untrustedInput | | websocket.go:202:21:202:31 | call to Referer | semmle.label | call to Referer | -| websocket.go:204:11:204:24 | untrustedInput | semmle.label | untrustedInput | +| websocket.go:204:15:204:28 | untrustedInput | semmle.label | untrustedInput | subpaths diff --git a/go/ql/test/query-tests/Security/CWE-918/RequestForgery.go b/go/ql/test/query-tests/Security/CWE-918/RequestForgery.go index c88e9dc5f742..ab8f907c58b5 100644 --- a/go/ql/test/query-tests/Security/CWE-918/RequestForgery.go +++ b/go/ql/test/query-tests/Security/CWE-918/RequestForgery.go @@ -5,10 +5,10 @@ import ( ) func handler(w http.ResponseWriter, req *http.Request) { - target := req.FormValue("target") + target := req.FormValue("target") // $ Source // BAD: `target` is controlled by the attacker - resp, err := http.Get("https://" + target + ".example.com/data/") + resp, err := http.Get("https://" + target + ".example.com/data/") // $ Alert if err != nil { // error handling } diff --git a/go/ql/test/query-tests/Security/CWE-918/RequestForgery.qlref b/go/ql/test/query-tests/Security/CWE-918/RequestForgery.qlref index 061679da228d..760862973f1d 100644 --- a/go/ql/test/query-tests/Security/CWE-918/RequestForgery.qlref +++ b/go/ql/test/query-tests/Security/CWE-918/RequestForgery.qlref @@ -1,2 +1,4 @@ query: Security/CWE-918/RequestForgery.ql -postprocess: utils/test/PrettyPrintModels.ql +postprocess: + - utils/test/PrettyPrintModels.ql + - utils/test/InlineExpectationsTestQuery.ql diff --git a/go/ql/test/query-tests/Security/CWE-918/tst.go b/go/ql/test/query-tests/Security/CWE-918/tst.go index 0e04429580c8..44a172ddad07 100644 --- a/go/ql/test/query-tests/Security/CWE-918/tst.go +++ b/go/ql/test/query-tests/Security/CWE-918/tst.go @@ -7,26 +7,33 @@ import ( ) func handler2(w http.ResponseWriter, req *http.Request) { - tainted := req.FormValue("target") + tainted := req.FormValue("target") // $ Source http.Get("example.com") // OK - http.Get(tainted) // Not OK + http.Get(tainted) // $ Alert - http.Head(tainted) // OK + http.Head(tainted) // $ Alert - http.Post(tainted, "text/basic", nil) // Not OK + http.Post(tainted, "text/basic", nil) // $ Alert + + http.PostForm(tainted, nil) // $ Alert client := &http.Client{} - rq, _ := http.NewRequest("GET", tainted, nil) - client.Do(rq) // Not OK + rq1, _ := http.NewRequest("GET", tainted, nil) // $ Sink + client.Do(rq1) // $ Alert + + rq2, _ := http.NewRequestWithContext(context.Background(), "GET", tainted, nil) // $ Sink + client.Do(rq2) // $ Alert - rq, _ = http.NewRequestWithContext(context.Background(), "GET", tainted, nil) - client.Do(rq) // Not OK + client.Get(tainted) // $ Alert + client.Head(tainted) // $ Alert + client.Post(tainted, "text/basic", nil) // $ Alert + client.PostForm(tainted, nil) // $ Alert - http.Get("http://" + tainted) // Not OK + http.Get("http://" + tainted) // $ Alert - http.Get("http://example.com" + tainted) // Not OK + http.Get("http://example.com" + tainted) // $ Alert http.Get("http://example.com/" + tainted) // OK @@ -34,7 +41,7 @@ func handler2(w http.ResponseWriter, req *http.Request) { u, _ := url.Parse("http://example.com/relative-path") u.Host = tainted - http.Get(u.String()) // Not OK + http.Get(u.String()) // $ Alert } func main() { diff --git a/go/ql/test/query-tests/Security/CWE-918/websocket.go b/go/ql/test/query-tests/Security/CWE-918/websocket.go index 328200770aec..15edef6b6cce 100644 --- a/go/ql/test/query-tests/Security/CWE-918/websocket.go +++ b/go/ql/test/query-tests/Security/CWE-918/websocket.go @@ -57,12 +57,12 @@ func test() { // x net websocket dial bad http.HandleFunc("/ex2", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source origin := "http://localhost/" // bad as input is directly passed to dial function - ws, _ := websocket.Dial(untrustedInput, "", origin) + ws, _ := websocket.Dial(untrustedInput, "", origin) // $ Alert var msg = make([]byte, 512) var n int n, _ = ws.Read(msg) @@ -71,12 +71,12 @@ func test() { // x net websocket dialConfig bad http.HandleFunc("/ex3", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source origin := "http://localhost/" // bad as input is directly used - config, _ := websocket.NewConfig(untrustedInput, origin) // good - ws2, _ := websocket.DialConfig(config) + config, _ := websocket.NewConfig(untrustedInput, origin) // $ Sink + ws2, _ := websocket.DialConfig(config) // $ Alert var msg = make([]byte, 512) var n int n, _ = ws2.Read(msg) @@ -85,10 +85,10 @@ func test() { // nhooyr websocket dial bad http.HandleFunc("/ex4", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source // bad as input is used directly - nhooyr.Dial(context.TODO(), untrustedInput, nil) + nhooyr.Dial(context.TODO(), untrustedInput, nil) // $ Alert w.WriteHeader(500) }) @@ -104,10 +104,10 @@ func test() { // gorilla websocket Dialer.Dial bad http.HandleFunc("/ex6", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source dialer := gorilla.Dialer{} - dialer.Dial(untrustedInput, r.Header) + dialer.Dial(untrustedInput, r.Header) // $ Alert }) // gorilla websocket Dialer.Dial good @@ -123,10 +123,10 @@ func test() { // gorilla websocket Dialer.DialContext bad http.HandleFunc("/ex8", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source dialer := gorilla.Dialer{} - dialer.DialContext(context.TODO(), untrustedInput, r.Header) + dialer.DialContext(context.TODO(), untrustedInput, r.Header) // $ Alert }) // gorilla websocket Dialer.DialContext good @@ -151,22 +151,22 @@ func test() { // gobwas websocket Dial bad http.HandleFunc("/ex11", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() - gobwas.Dial(context.TODO(), untrustedInput) + untrustedInput := r.Referer() // $ Source + gobwas.Dial(context.TODO(), untrustedInput) // $ Alert }) // gobwas websocket Dialer.Dial bad http.HandleFunc("/ex12", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source dialer := gobwas.Dialer{} - dialer.Dial(context.TODO(), untrustedInput) + dialer.Dial(context.TODO(), untrustedInput) // $ Alert }) // gobwas websocket Dialer.Dial good http.HandleFunc("/ex12", func(w http.ResponseWriter, r *http.Request) { untrustedInput := r.Referer() - if "localhost" == untrustedInput { + if untrustedInput == "localhost" { dialer := gobwas.Dialer{} dialer.Dial(context.TODO(), untrustedInput) } @@ -176,8 +176,8 @@ func test() { http.HandleFunc("/ex13", func(w http.ResponseWriter, r *http.Request) { untrustedInput := r.Referer() - if "localhost" == untrustedInput { - sac.New(untrustedInput) + if untrustedInput == "localhost" { + _ = sac.New(untrustedInput) } }) @@ -185,23 +185,23 @@ func test() { http.HandleFunc("/ex14", func(w http.ResponseWriter, r *http.Request) { untrustedInput := r.Referer() - if "localhost" == untrustedInput { - sac.BuildProxy(untrustedInput) + if untrustedInput == "localhost" { + _ = sac.BuildProxy(untrustedInput) } }) // sac007 websocket BuildProxy bad http.HandleFunc("/ex15", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source - sac.BuildProxy(untrustedInput) + _ = sac.BuildProxy(untrustedInput) // $ Alert }) // sac007 websocket New bad http.HandleFunc("/ex16", func(w http.ResponseWriter, r *http.Request) { - untrustedInput := r.Referer() + untrustedInput := r.Referer() // $ Source - sac.New(untrustedInput) + _ = sac.New(untrustedInput) // $ Alert }) log.Println(http.ListenAndServe(":80", nil)) diff --git a/iac b/iac new file mode 160000 index 000000000000..1709e321895e --- /dev/null +++ b/iac @@ -0,0 +1 @@ +Subproject commit 1709e321895e42d5b3cc1c4047ce4fc70639ad95 diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index fc3620ca4bc6..7ec0b4c5f0fc 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -1,284 +1,292 @@ -package,sink,source,summary,sink:bean-validation,sink:command-injection,sink:credentials-key,sink:credentials-password,sink:credentials-username,sink:encryption-iv,sink:encryption-salt,sink:environment-injection,sink:file-content-store,sink:fragment-injection,sink:groovy-injection,sink:hostname-verification,sink:html-injection,sink:information-leak,sink:intent-redirection,sink:jexl-injection,sink:jndi-injection,sink:js-injection,sink:ldap-injection,sink:log-injection,sink:mvel-injection,sink:notification,sink:ognl-injection,sink:path-injection,sink:pending-intents,sink:regex-use,sink:regex-use[-1],sink:regex-use[0],sink:regex-use[],sink:regex-use[f-1],sink:regex-use[f1],sink:regex-use[f],sink:request-forgery,sink:response-splitting,sink:sql-injection,sink:template-injection,sink:trust-boundary-violation,sink:url-forward,sink:url-redirection,sink:xpath-injection,sink:xslt-injection,source:android-external-storage-dir,source:contentprovider,source:database,source:environment,source:file,source:remote,summary:taint,summary:value -actions.osgi,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, -android.app,77,,103,,,,,,,,,,11,,,,,7,,,,,,,42,,,17,,,,,,,,,,,,,,,,,,,,,,,18,85 -android.content,24,31,154,,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,8,,,,,,,4,27,,,,,63,91 -android.database,59,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,41, -android.net,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,15 -android.os,1,2,122,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,2,,,,,,41,81 -android.support.v4.app,11,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -android.util,6,16,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,16,, -android.webkit,3,2,,,,,,,,,,,,,,2,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, -android.widget,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1, -androidx.core.app,47,,95,,,,,,,,,,,,,,,,,,,,,,41,,,6,,,,,,,,,,,,,,,,,,,,,,,12,83 -androidx.fragment.app,11,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -androidx.slice,2,5,88,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,5,,,,,27,61 -antlr,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -ch.ethz.ssh2,2,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -cn.hutool.core.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.alibaba.druid.sql,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,1, -com.alibaba.fastjson2,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.amazonaws.auth,2,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.auth0.jwt.algorithms,6,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.azure.identity,3,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.esotericsoftware.kryo.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.esotericsoftware.kryo5.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.fasterxml.jackson.core,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.fasterxml.jackson.databind,2,,8,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,8, -com.google.common.base,4,,87,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,1,,,,,,,,,,,,,,,,,,,63,24 -com.google.common.cache,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17 -com.google.common.collect,,,553,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,551 -com.google.common.flogger,29,,,,,,,,,,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.google.common.io,10,,73,,,,,,,,,1,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,,72,1 -com.google.gson,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,14 -com.hubspot.jinjava,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,, -com.jcraft.jsch,5,,1,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,1, -com.microsoft.sqlserver.jdbc,4,,,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.mitchellbosecke.pebble,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,, -com.mongodb,10,,,,,,4,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.opensymphony.xwork2,56,,961,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,867,94 -com.rabbitmq.client,,21,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,7, -com.sshtools.j2ssh.authentication,3,,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.crypto.provider,19,,,,,17,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.jndi.ldap,4,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.net.httpserver,3,,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.net.ssl,3,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.rowset,3,,,,,,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.security.auth.module,2,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.security.ntlm,5,,,,,,3,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.sun.security.sasl.digest,3,,,,,,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.thoughtworks.xstream,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -com.trilead.ssh2,13,,,,,2,4,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.unboundid.ldap.sdk,17,,,,,,,,,,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -com.zaxxer.hikari,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,, -flexjson,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 -freemarker.cache,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,, -freemarker.template,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,,,, -groovy.lang,26,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -groovy.text,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -groovy.util,5,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -hudson,75,9,2648,,4,,,,,,3,2,,,,4,,,,,,,,,,,56,,,,,,,,,6,,,,,,,,,,,,,5,4,2572,76 -io.jsonwebtoken,,2,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,4, -io.netty.bootstrap,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,, -io.netty.buffer,,,207,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,77 -io.netty.channel,9,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,2,, -io.netty.handler.codec,4,13,259,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,3,,,,,,,,,,,,,,13,143,116 -io.netty.handler.ssl,4,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,, -io.netty.handler.stream,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -io.netty.resolver,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -io.netty.util,2,,23,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,21,2 -io.undertow.server.handlers.resource,1,,3,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,3, -jakarta.activation,2,,2,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,2, -jakarta.faces.context,4,7,,,,,,,,,,,,,,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,7,, -jakarta.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 -jakarta.persistence,2,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,1, -jakarta.servlet,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,1,, -jakarta.ws.rs.client,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -jakarta.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, -jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55 -jakarta.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, -java.applet,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11, -java.awt,1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,3 -java.beans,,,177,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,82,95 -java.io,66,1,225,,,,,,,,,22,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,,,,,,,,1,,202,23 -java.lang,38,3,783,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,,3,,,506,277 -java.math,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9 -java.net,23,3,347,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,,,,,,,,,,,3,248,99 -java.nio,47,,499,,,,,,,,,5,,,,,,,,,,,,,,,41,,,,,,,,,1,,,,,,,,,,,,,,,302,197 -java.rmi,,,68,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,23 -java.security,21,,583,,,11,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,285,298 -java.sql,15,1,292,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,9,,,,,,,,,1,,,,274,18 -java.text,,,154,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,82 -java.time,,,131,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,104 -java.util,48,2,1339,,,,,,,,,1,,,,,,,,,,,34,,,,3,,,,5,2,,1,2,,,,,,,,,,,,,2,,,558,781 -javafx.scene.web,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -javax.accessibility,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,35 -javax.activation,2,,7,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,7, -javax.annotation.processing,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,3 -javax.crypto,19,,114,,,12,3,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,53 -javax.faces.context,4,7,,,,,,,,,,,,,,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,7,, -javax.imageio,1,,304,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,138,166 -javax.jms,,9,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,57, -javax.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 -javax.lang.model,,,277,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,217,60 -javax.management,2,,766,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,363,403 -javax.naming,7,,341,,,,,,,,,,,,,,,,,6,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,191,150 -javax.net,4,,136,,,,2,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,87,49 -javax.portlet,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,, -javax.print,2,,133,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,102,31 -javax.rmi.ssl,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6 -javax.script,1,,50,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,14,36 -javax.security.auth,7,,147,,,4,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,97 -javax.security.cert,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5, -javax.security.sasl,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,42,7 -javax.servlet,10,22,3,,,,,,,,,,,,,,1,,,,,,,,,,2,,,,,,,,,,3,,,2,2,,,,,,,,,22,3, -javax.smartcardio,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,10 -javax.sound.midi,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,51,9 -javax.sound.sampled,,,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,37 -javax.sql,7,,126,,,,4,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,68,58 -javax.tools,,,66,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,4 -javax.transaction.xa,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -javax.validation,1,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, -javax.ws.rs.client,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -javax.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, -javax.ws.rs.core,3,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,2,,,,,,,,,94,55 -javax.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, -javax.xml.catalog,,,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11,1 -javax.xml.crypto,,,269,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,172,97 -javax.xml.datatype,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,1 -javax.xml.namespace,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,10 -javax.xml.parsers,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,2 -javax.xml.stream,,,221,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,201,20 -javax.xml.transform,2,,134,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,1,,,,,,,72,62 -javax.xml.validation,,,29,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,29, -javax.xml.xpath,3,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,26, -jenkins,,,523,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,500,23 -jodd.json,,,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10 -kotlin,16,,1849,,,,,,,,,,,,,,,,,,,,,,,,14,,,,,,,,,2,,,,,,,,,,,,,,,1836,13 -liquibase.database.jvm,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, -liquibase.statement.core,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, -net.lingala.zip4j,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,, -net.schmizz.sshj,4,,,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -net.sf.json,2,,338,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,321,17 -net.sf.saxon.s9api,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,, -ognl,6,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,, -okhttp3,4,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,23,27 -org.acegisecurity,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,49, -org.antlr.runtime,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.codec,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, -org.apache.commons.collections,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 -org.apache.commons.collections4,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 -org.apache.commons.compress.archivers.tar,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4, -org.apache.commons.exec,10,,,,6,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.httpclient.util,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.commons.io,124,,570,,,,,,,,,4,,,,,,,,,,,,,,,105,,,,,,,,,15,,,,,,,,,,,,,,,556,14 -org.apache.commons.jelly,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,, -org.apache.commons.jexl2,15,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.jexl3,15,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.lang,,,767,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,596,171 -org.apache.commons.lang3,6,,425,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,294,131 -org.apache.commons.logging,6,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.net,13,12,,,,,2,2,,,,,,,,,,,,,,,,,,,3,,,,,,,,,6,,,,,,,,,,,,,,12,, -org.apache.commons.ognl,6,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.text,,,272,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,220,52 -org.apache.cxf.catalog,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -org.apache.cxf.common.classloader,3,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,2,,,,,,,,,,,,,,,, -org.apache.cxf.common.jaxb,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.cxf.common.logging,6,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.cxf.configuration.jsse,2,,,,,,,,,,,,,,1,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.cxf.helpers,10,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,5,,,,,,,,, -org.apache.cxf.resource,9,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,5,,,,,,,,,,,,,,,, -org.apache.cxf.staxutils,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.cxf.tools.corba.utils,4,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.cxf.tools.util,10,,,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.cxf.transform,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,, -org.apache.directory.ldap.client.api,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.hadoop.fs,3,,11,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,11, -org.apache.hadoop.hive.metastore,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,, -org.apache.hadoop.hive.ql.exec,1,,1,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.hadoop.hive.ql.metadata,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.hc.client5.http.async.methods,84,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,84,,,,,,,,,,,,,,,, -org.apache.hc.client5.http.classic.methods,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,, -org.apache.hc.client5.http.fluent,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,,,,,,,,,,,,, -org.apache.hc.core5.benchmark,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -org.apache.hc.core5.function,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.hc.core5.http,73,2,45,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,72,,,,,,,,,,,,,,2,45, -org.apache.hc.core5.net,,,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18, -org.apache.hc.core5.util,,,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18,6 -org.apache.hive.hcatalog.templeton,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, -org.apache.http,48,3,95,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,46,,,,,,,,,,,,,,3,86,9 -org.apache.ibatis.jdbc,6,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,57, -org.apache.ibatis.mapping,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.log4j,11,,,,,,,,,,,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.logging.log4j,359,,8,,,,,,,,,,,,,,,,,,,,359,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4 -org.apache.shiro.authc,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, -org.apache.shiro.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.shiro.jndi,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.shiro.mgt,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.sshd.client.session,3,,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.struts.beanvalidation.validation.interceptor,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4, -org.apache.struts2,14,,3873,,,,,,,,,,,,,,,,,,,,,,,11,,,,,,,,,,,,,,3,,,,,,,,,,,3839,34 -org.apache.tools.ant,14,,,,1,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.tools.zip,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.velocity.app,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,, -org.apache.velocity.runtime,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,, -org.codehaus.cargo.container.installer,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,1,,,,,,,,,,,,,,,, -org.codehaus.groovy.control,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.dom4j,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,, -org.eclipse.jetty.client,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,, -org.fusesource.leveldbjni,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.geogebra.web.full.main,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,, -org.gradle.api.file,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -org.hibernate,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,,,,, -org.influxdb,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -org.jboss.logging,324,,,,,,,,,,,,,,,,,,,,,,324,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.jboss.vfs,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.jdbi.v3.core,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,, -org.jenkins.ui.icon,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48,1 -org.jenkins.ui.symbol,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,8 -org.jooq,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, -org.json,,,236,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,198,38 -org.keycloak.models.map.storage,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, -org.kohsuke.stapler,20,24,363,,,,,,,,,,,,,2,,,,,,,,,,,9,,,,,,,,,3,,,,,1,5,,,,,,,,24,352,11 -org.lastaflute.web,,1,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,4, -org.mvel2,16,,,,,,,,,,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.openjdk.jmh.runner.options,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.owasp.esapi,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.pac4j.jwt.config.encryption,4,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.pac4j.jwt.config.signature,4,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.scijava.log,13,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.slf4j,55,,6,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,4 -org.springframework.beans,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30 -org.springframework.boot.jdbc,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,, -org.springframework.cache,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13 -org.springframework.context,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -org.springframework.core.io,17,,6,,,,,,,,,,,,,,,,,,,,,,,,16,,,,,,,,,1,,,,,,,,,,,,,,,6, -org.springframework.data.repository,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 -org.springframework.http,14,,77,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,67,10 -org.springframework.jdbc.core,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,,,,,,,,,,, -org.springframework.jdbc.datasource,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,, -org.springframework.jdbc.object,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,,,, -org.springframework.jndi,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.ldap,47,,,,,,,,,,,,,,,,,,,33,,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.security.core.userdetails,2,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.security.web.savedrequest,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,, -org.springframework.ui,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32 -org.springframework.util,10,,142,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,,,,,,90,52 -org.springframework.validation,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13, -org.springframework.web.client,13,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,3,, -org.springframework.web.context.request,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,, -org.springframework.web.multipart,,12,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,12, -org.springframework.web.portlet,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,, -org.springframework.web.reactive.function.client,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,, -org.springframework.web.servlet,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,, -org.springframework.web.util,,9,157,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,132,25 -org.thymeleaf,2,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,2, -org.xml.sax,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.xmlpull.v1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,, -org.yaml.snakeyaml,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -play.libs.ws,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,, -play.mvc,1,13,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,13,24, -ratpack.core.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -ratpack.core.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, -ratpack.core.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, -ratpack.exec,,,48,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48 -ratpack.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -ratpack.func,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 -ratpack.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, -ratpack.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, -ratpack.util,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 -retrofit2,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,1, -software.amazon.awssdk.transfer.s3.model,8,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,, -sun.jvmstat.perfdata.monitor.protocol.local,3,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.jvmstat.perfdata.monitor.protocol.rmi,1,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.misc,3,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.net.ftp,5,,,,,,2,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.net.www.protocol.http,3,,,,,,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.acl,1,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.jgss.krb5,2,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.krb5,9,,,,,3,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.pkcs,4,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.pkcs11,3,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.provider,2,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.ssl,3,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.security.x509,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -sun.tools.jconsole,28,,,,,,13,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +package,sink,source,summary,sink:bean-validation,sink:command-injection,sink:credentials-key,sink:credentials-password,sink:credentials-username,sink:encryption-iv,sink:encryption-salt,sink:environment-injection,sink:file-content-store,sink:fragment-injection,sink:groovy-injection,sink:hostname-verification,sink:html-injection,sink:information-leak,sink:intent-redirection,sink:jexl-injection,sink:jndi-injection,sink:js-injection,sink:ldap-injection,sink:log-injection,sink:mvel-injection,sink:notification,sink:ognl-injection,sink:path-injection,sink:pending-intents,sink:regex-use,sink:regex-use[-1],sink:regex-use[0],sink:regex-use[],sink:regex-use[f-1],sink:regex-use[f1],sink:regex-use[f],sink:request-forgery,sink:response-splitting,sink:sql-injection,sink:template-injection,sink:trust-boundary-violation,sink:unsafe-deserialization,sink:url-forward,sink:url-redirection,sink:xpath-injection,sink:xslt-injection,source:android-external-storage-dir,source:contentprovider,source:database,source:environment,source:file,source:remote,summary:taint,summary:value +actions.osgi,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, +android.app,77,,103,,,,,,,,,,11,,,,,7,,,,,,,42,,,17,,,,,,,,,,,,,,,,,,,,,,,,18,85 +android.content,24,31,154,,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,8,,,,,,,,4,27,,,,,63,91 +android.database,59,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,,,,41, +android.net,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,15 +android.os,1,2,122,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,2,,,,,,41,81 +android.support.v4.app,11,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +android.util,6,16,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,16,, +android.webkit,3,2,,,,,,,,,,,,,,2,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, +android.widget,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,1, +androidx.core.app,47,,95,,,,,,,,,,,,,,,,,,,,,,41,,,6,,,,,,,,,,,,,,,,,,,,,,,,12,83 +androidx.fragment.app,11,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +androidx.slice,2,5,88,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,5,,,,,27,61 +antlr,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +ch.ethz.ssh2,2,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +cn.hutool.core.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.alibaba.com.caucho.hessian.io,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,, +com.alibaba.druid.sql,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,1, +com.alibaba.fastjson2,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.amazonaws.auth,2,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.auth0.jwt.algorithms,6,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.azure.identity,3,,,,,1,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.caucho.burlap.io,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, +com.caucho.hessian.io,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,, +com.cedarsoftware.util.io,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,, +com.esotericsoftware.kryo.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.esotericsoftware.kryo5.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.esotericsoftware.yamlbeans,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, +com.fasterxml.jackson.core,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.fasterxml.jackson.databind,2,,8,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,8, +com.google.common.base,4,,87,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,1,,,,,,,,,,,,,,,,,,,,63,24 +com.google.common.cache,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17 +com.google.common.collect,,,553,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,551 +com.google.common.flogger,29,,,,,,,,,,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.google.common.io,10,,73,,,,,,,,,1,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,72,1 +com.google.gson,,,52,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,38,14 +com.hubspot.jinjava,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,, +com.jcraft.jsch,5,,1,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,1, +com.microsoft.sqlserver.jdbc,4,,,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.mitchellbosecke.pebble,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,, +com.mongodb,10,,,,,,4,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.opensymphony.xwork2,56,,961,,,,,,,,,,,,,,,,,,,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,867,94 +com.rabbitmq.client,,21,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,7, +com.sshtools.j2ssh.authentication,3,,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.crypto.provider,19,,,,,17,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.jndi.ldap,4,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.net.httpserver,3,,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.net.ssl,3,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.rowset,3,,,,,,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.security.auth.module,2,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.security.ntlm,5,,,,,,3,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.sun.security.sasl.digest,3,,,,,,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.thoughtworks.xstream,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +com.trilead.ssh2,13,,,,,2,4,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.unboundid.ldap.sdk,17,,,,,,,,,,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +com.zaxxer.hikari,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,, +flexjson,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 +freemarker.cache,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,, +freemarker.template,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,,,,, +groovy.lang,26,,,,,,,,,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +groovy.text,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +groovy.util,5,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +hudson,75,9,2648,,4,,,,,,3,2,,,,4,,,,,,,,,,,56,,,,,,,,,6,,,,,,,,,,,,,,5,4,2572,76 +io.jsonwebtoken,,2,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,4, +io.netty.bootstrap,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,, +io.netty.buffer,,,207,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,130,77 +io.netty.channel,9,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,,2,, +io.netty.handler.codec,4,13,259,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,3,,,,,,,,,,,,,,,13,143,116 +io.netty.handler.ssl,4,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,, +io.netty.handler.stream,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +io.netty.resolver,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +io.netty.util,2,,23,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,,21,2 +io.undertow.server.handlers.resource,1,,3,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,3, +jakarta.activation,2,,2,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,,2, +jakarta.faces.context,4,7,,,,,,,,,,,,,,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,7,, +jakarta.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 +jakarta.persistence,2,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,1, +jakarta.servlet,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,1,, +jakarta.ws.rs.client,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +jakarta.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, +jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55 +jakarta.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, +java.applet,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11, +java.awt,1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,3 +java.beans,1,,177,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,82,95 +java.io,66,1,225,,,,,,,,,22,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,,,,,,,,,1,,202,23 +java.lang,38,3,783,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,,,3,,,506,277 +java.math,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9 +java.net,23,3,347,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,,,,,,,,,,,,3,248,99 +java.nio,47,,499,,,,,,,,,5,,,,,,,,,,,,,,,41,,,,,,,,,1,,,,,,,,,,,,,,,,302,197 +java.rmi,,,68,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,23 +java.security,21,,583,,,11,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,285,298 +java.sql,15,1,292,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,9,,,,,,,,,,1,,,,274,18 +java.text,,,154,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,72,82 +java.time,,,131,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,27,104 +java.util,48,2,1339,,,,,,,,,1,,,,,,,,,,,34,,,,3,,,,5,2,,1,2,,,,,,,,,,,,,,2,,,558,781 +javafx.scene.web,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +javax.accessibility,,,63,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,35 +javax.activation,2,,7,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,1,,,,,,,,,,,,,,,,7, +javax.annotation.processing,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,3 +javax.crypto,19,,114,,,12,3,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,61,53 +javax.faces.context,4,7,,,,,,,,,,,,,,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,7,, +javax.imageio,1,,304,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,138,166 +javax.jms,,9,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,57, +javax.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 +javax.lang.model,,,277,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,217,60 +javax.management,2,,766,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,363,403 +javax.naming,7,,341,,,,,,,,,,,,,,,,,6,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,191,150 +javax.net,4,,136,,,,2,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,87,49 +javax.portlet,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,, +javax.print,2,,133,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,102,31 +javax.rmi.ssl,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6 +javax.script,1,,50,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,36 +javax.security.auth,7,,147,,,4,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,50,97 +javax.security.cert,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5, +javax.security.sasl,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,42,7 +javax.servlet,10,22,3,,,,,,,,,,,,,,1,,,,,,,,,,2,,,,,,,,,,3,,,2,,2,,,,,,,,,22,3, +javax.smartcardio,,,34,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24,10 +javax.sound.midi,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,51,9 +javax.sound.sampled,,,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,53,37 +javax.sql,7,,126,,,,4,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,68,58 +javax.tools,,,66,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,4 +javax.transaction.xa,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +javax.validation,1,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, +javax.ws.rs.client,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +javax.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, +javax.ws.rs.core,3,,149,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,2,,,,,,,,,94,55 +javax.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,, +javax.xml.catalog,,,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11,1 +javax.xml.crypto,,,269,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,172,97 +javax.xml.datatype,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,1 +javax.xml.namespace,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,10 +javax.xml.parsers,,,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35,2 +javax.xml.stream,,,221,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,201,20 +javax.xml.transform,2,,134,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,1,,,,,,,72,62 +javax.xml.validation,,,29,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,29, +javax.xml.xpath,3,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,26, +jenkins,,,523,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,500,23 +jodd.json,,,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10 +kotlin,16,,1849,,,,,,,,,,,,,,,,,,,,,,,,14,,,,,,,,,2,,,,,,,,,,,,,,,,1836,13 +liquibase.database.jvm,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, +liquibase.statement.core,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, +net.lingala.zip4j,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,, +net.schmizz.sshj,4,,,,,,2,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +net.sf.json,2,,338,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,321,17 +net.sf.saxon.s9api,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,, +ognl,6,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,, +okhttp3,4,,50,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,23,27 +org.acegisecurity,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,49, +org.antlr.runtime,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.codec,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, +org.apache.commons.collections,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 +org.apache.commons.collections4,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 +org.apache.commons.compress.archivers.tar,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4, +org.apache.commons.exec,10,,,,6,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.httpclient.util,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.commons.io,124,,570,,,,,,,,,4,,,,,,,,,,,,,,,105,,,,,,,,,15,,,,,,,,,,,,,,,,556,14 +org.apache.commons.jelly,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,, +org.apache.commons.jexl2,15,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.jexl3,15,,,,,,,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.lang,1,,767,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,596,171 +org.apache.commons.lang3,7,,425,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,1,,,,,,,,,,,294,131 +org.apache.commons.logging,6,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.net,13,12,,,,,2,2,,,,,,,,,,,,,,,,,,,3,,,,,,,,,6,,,,,,,,,,,,,,,12,, +org.apache.commons.ognl,6,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.text,,,272,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,220,52 +org.apache.cxf.catalog,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +org.apache.cxf.common.classloader,3,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,2,,,,,,,,,,,,,,,,, +org.apache.cxf.common.jaxb,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.cxf.common.logging,6,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.cxf.configuration.jsse,2,,,,,,,,,,,,,,1,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.cxf.helpers,10,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,5,,,,,,,,, +org.apache.cxf.resource,9,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,5,,,,,,,,,,,,,,,,, +org.apache.cxf.staxutils,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.cxf.tools.corba.utils,4,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.cxf.tools.util,10,,,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.cxf.transform,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,, +org.apache.directory.ldap.client.api,1,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.hadoop.fs,3,,11,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,11, +org.apache.hadoop.hive.metastore,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,, +org.apache.hadoop.hive.ql.exec,1,,1,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.hadoop.hive.ql.metadata,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.hc.client5.http.async.methods,84,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,84,,,,,,,,,,,,,,,,, +org.apache.hc.client5.http.classic.methods,37,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,37,,,,,,,,,,,,,,,,, +org.apache.hc.client5.http.fluent,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,,,,,,,,,,,,,, +org.apache.hc.core5.benchmark,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +org.apache.hc.core5.function,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.hc.core5.http,73,2,45,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,72,,,,,,,,,,,,,,,2,45, +org.apache.hc.core5.net,,,18,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18, +org.apache.hc.core5.util,,,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18,6 +org.apache.hive.hcatalog.templeton,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, +org.apache.http,48,3,95,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,46,,,,,,,,,,,,,,,3,86,9 +org.apache.ibatis.jdbc,6,,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,57, +org.apache.ibatis.mapping,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.log4j,11,,,,,,,,,,,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.logging.log4j,359,,8,,,,,,,,,,,,,,,,,,,,359,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,4 +org.apache.shiro.authc,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, +org.apache.shiro.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.shiro.jndi,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.shiro.mgt,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.sshd.client.session,3,,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.struts.beanvalidation.validation.interceptor,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4, +org.apache.struts2,14,,3873,,,,,,,,,,,,,,,,,,,,,,,11,,,,,,,,,,,,,,3,,,,,,,,,,,,3839,34 +org.apache.tools.ant,14,,,,1,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.tools.zip,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.velocity.app,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,, +org.apache.velocity.runtime,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,, +org.codehaus.cargo.container.installer,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,1,,,,,,,,,,,,,,,,, +org.codehaus.groovy.control,1,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.dom4j,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,,, +org.eclipse.jetty.client,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,, +org.exolab.castor.xml,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, +org.fusesource.leveldbjni,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.geogebra.web.full.main,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,, +org.gradle.api.file,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +org.hibernate,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,,,,,, +org.ho.yaml,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,, +org.influxdb,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +org.jabsorb,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, +org.jboss.logging,324,,,,,,,,,,,,,,,,,,,,,,324,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.jboss.vfs,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.jdbi.v3.core,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,, +org.jenkins.ui.icon,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48,1 +org.jenkins.ui.symbol,,,33,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,25,8 +org.jooq,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, +org.json,,,236,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,198,38 +org.keycloak.models.map.storage,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,, +org.kohsuke.stapler,20,24,363,,,,,,,,,,,,,2,,,,,,,,,,,9,,,,,,,,,3,,,,,,1,5,,,,,,,,24,352,11 +org.lastaflute.web,,1,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,4, +org.mvel2,16,,,,,,,,,,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.openjdk.jmh.runner.options,1,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.owasp.esapi,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.pac4j.jwt.config.encryption,4,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.pac4j.jwt.config.signature,4,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.scijava.log,13,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.slf4j,55,,6,,,,,,,,,,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,4 +org.springframework.beans,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30 +org.springframework.boot.jdbc,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,, +org.springframework.cache,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13 +org.springframework.context,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +org.springframework.core.io,17,,6,,,,,,,,,,,,,,,,,,,,,,,,16,,,,,,,,,1,,,,,,,,,,,,,,,,6, +org.springframework.data.repository,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 +org.springframework.http,14,,77,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,,67,10 +org.springframework.jdbc.core,19,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,19,,,,,,,,,,,,,,, +org.springframework.jdbc.datasource,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,,,,,,,,,,,,,,,,, +org.springframework.jdbc.object,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,, +org.springframework.jndi,1,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.ldap,47,,,,,,,,,,,,,,,,,,,33,,14,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.security.core.userdetails,2,,,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.security.web.savedrequest,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,, +org.springframework.ui,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32 +org.springframework.util,10,,142,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,,,,,,,90,52 +org.springframework.validation,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13, +org.springframework.web.client,13,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,3,, +org.springframework.web.context.request,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,, +org.springframework.web.multipart,,12,12,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,12, +org.springframework.web.portlet,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,, +org.springframework.web.reactive.function.client,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,, +org.springframework.web.servlet,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,, +org.springframework.web.util,,9,157,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,132,25 +org.thymeleaf,2,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,2, +org.xml.sax,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.xmlpull.v1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,, +org.yaml.snakeyaml,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +play.libs.ws,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,, +play.mvc,1,13,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,13,24, +ratpack.core.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +ratpack.core.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, +ratpack.core.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, +ratpack.exec,,,48,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48 +ratpack.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +ratpack.func,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 +ratpack.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, +ratpack.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, +ratpack.util,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 +retrofit2,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,1, +software.amazon.awssdk.transfer.s3.model,8,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.jvmstat.perfdata.monitor.protocol.local,3,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.jvmstat.perfdata.monitor.protocol.rmi,1,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.misc,3,,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.net.ftp,5,,,,,,2,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.net.www.protocol.http,3,,,,,,2,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.acl,1,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.jgss.krb5,2,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.krb5,9,,,,,3,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.pkcs,4,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.pkcs11,3,,,,,1,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.provider,2,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.ssl,3,,,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.security.x509,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +sun.tools.jconsole,28,,,,,,13,15,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index 3851cb041664..aa6a3f2c1713 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -11,17 +11,17 @@ Java framework & library support Android extensions,``androidx.*``,5,183,60,,,,,, `Apache Commons Collections `_,"``org.apache.commons.collections``, ``org.apache.commons.collections4``",,1600,,,,,,, `Apache Commons IO `_,``org.apache.commons.io``,,570,124,105,,,,,15 - `Apache Commons Lang `_,``org.apache.commons.lang3``,,425,6,,,,,, + `Apache Commons Lang `_,``org.apache.commons.lang3``,,425,7,,,,,, `Apache Commons Text `_,``org.apache.commons.text``,,272,,,,,,, `Apache HttpComponents `_,"``org.apache.hc.core5.*``, ``org.apache.http``",5,183,122,,3,,,,119 `Apache Log4j 2 `_,``org.apache.logging.log4j``,,8,359,,,,,, `Google Guava `_,``com.google.common.*``,,730,43,9,,,,, JBoss Logging,``org.jboss.logging``,,,324,,,,,, `JSON-java `_,``org.json``,,236,,,,,,, - Java Standard Library,``java.*``,10,4621,259,99,,9,,,26 + Java Standard Library,``java.*``,10,4621,260,99,,9,,,26 Java extensions,"``javax.*``, ``jakarta.*``",69,4159,90,10,4,2,1,1,4 Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2 `Spring `_,``org.springframework.*``,38,486,143,26,,28,14,,35 - Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.influxdb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",133,10525,908,140,6,22,18,,208 - Totals,,312,26328,2635,404,16,128,33,1,409 + Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.com.caucho.hessian.io``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.caucho.burlap.io``, ``com.caucho.hessian.io``, ``com.cedarsoftware.util.io``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.esotericsoftware.yamlbeans``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.exolab.castor.xml``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.ho.yaml``, ``org.influxdb``, ``org.jabsorb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",133,10525,927,140,6,22,18,,208 + Totals,,312,26328,2656,404,16,128,33,1,409 diff --git a/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/old.dbscheme b/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/old.dbscheme new file mode 100644 index 000000000000..1b8f5f4c747e --- /dev/null +++ b/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/old.dbscheme @@ -0,0 +1,1236 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@@@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path: string ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes_or_interfaces( + unique int id: @classorinterface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @classorinterface ref +); + +file_class( + int id: @classorinterface ref +); + +class_object( + unique int id: @classorinterface ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @classorinterface ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isInterface( + unique int id: @classorinterface ref +); + +isRecord( + unique int id: @classorinterface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @classorinterface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @classorinterface ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @classorinterface ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +isCanonicalConstr( + int constructorid: @constructor ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @classorinterface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +| 89 = @recordpatternexpr +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +isNullDefaultCase( + int id: @case ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @classorinterface | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF + // 3: ENUM_ENTRIES +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @classorinterface ref +) diff --git a/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/semmlecode.dbscheme b/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/semmlecode.dbscheme new file mode 100644 index 000000000000..38d02c063878 --- /dev/null +++ b/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/semmlecode.dbscheme @@ -0,0 +1,1232 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@@@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes_or_interfaces( + unique int id: @classorinterface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @classorinterface ref +); + +file_class( + int id: @classorinterface ref +); + +class_object( + unique int id: @classorinterface ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @classorinterface ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isInterface( + unique int id: @classorinterface ref +); + +isRecord( + unique int id: @classorinterface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @classorinterface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @classorinterface ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @classorinterface ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +isCanonicalConstr( + int constructorid: @constructor ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @classorinterface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +| 89 = @recordpatternexpr +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +isNullDefaultCase( + int id: @case ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @classorinterface | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF + // 3: ENUM_ENTRIES +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @classorinterface ref +) diff --git a/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/upgrade.properties b/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/upgrade.properties new file mode 100644 index 000000000000..9ff059c0f813 --- /dev/null +++ b/java/downgrades/1b8f5f4c747e4249f4731796ccaa0661c7434d8a/upgrade.properties @@ -0,0 +1,3 @@ +description: Add overlayChangedFiles relation +compatibility: full +overlayChangedFiles.rel: delete diff --git a/java/kotlin-extractor/generate_dbscheme.py b/java/kotlin-extractor/generate_dbscheme.py index be0c5622ed11..2f839158d9a0 100755 --- a/java/kotlin-extractor/generate_dbscheme.py +++ b/java/kotlin-extractor/generate_dbscheme.py @@ -35,10 +35,10 @@ def parse_dbscheme(filename): unions[name] = typs # tables - for relname, body in re.findall('\n([\w_]+)(\([^)]*\))', + for relname, body in re.findall(r'\n([\w_]+)(\([^)]*\))', dbscheme, flags=re.DOTALL): - columns = list(re.findall('(\S+)\s*:\s*([^\s,]+)(?:\s+(ref)|)', body)) + columns = list(re.findall(r'(\S+)\s*:\s*([^\s,]+)(?:\s+(ref)|)', body)) tables[relname] = columns parse_dbscheme(dbscheme) diff --git a/java/ql/integration-tests/java/buildless-gradle-timeout/gradlew b/java/ql/integration-tests/java/buildless-gradle-timeout/gradlew old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/buildless-maven-timeout/mvnw b/java/ql/integration-tests/java/buildless-maven-timeout/mvnw old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/buildless-sibling-projects/gradle-sample/gradlew b/java/ql/integration-tests/java/buildless-sibling-projects/gradle-sample/gradlew old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/buildless-sibling-projects/gradle-sample2/gradlew b/java/ql/integration-tests/java/buildless-sibling-projects/gradle-sample2/gradlew old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/diagnostics/maven-http-repository/mvnw b/java/ql/integration-tests/java/diagnostics/maven-http-repository/mvnw old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/gradle-sample-kotlin-script/gradlew b/java/ql/integration-tests/java/gradle-sample-kotlin-script/gradlew old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/maven-enforcer-multiple-versions/maven-fetches.expected b/java/ql/integration-tests/java/maven-enforcer-multiple-versions/maven-fetches.expected.disabled similarity index 100% rename from java/ql/integration-tests/java/maven-enforcer-multiple-versions/maven-fetches.expected rename to java/ql/integration-tests/java/maven-enforcer-multiple-versions/maven-fetches.expected.disabled diff --git a/java/ql/integration-tests/java/maven-enforcer-single-version/maven-fetches.expected b/java/ql/integration-tests/java/maven-enforcer-single-version/maven-fetches.expected.disabled similarity index 100% rename from java/ql/integration-tests/java/maven-enforcer-single-version/maven-fetches.expected rename to java/ql/integration-tests/java/maven-enforcer-single-version/maven-fetches.expected.disabled diff --git a/java/ql/integration-tests/java/maven-enforcer/maven-fetches.expected b/java/ql/integration-tests/java/maven-enforcer/maven-fetches.expected.disabled similarity index 100% rename from java/ql/integration-tests/java/maven-enforcer/maven-fetches.expected rename to java/ql/integration-tests/java/maven-enforcer/maven-fetches.expected.disabled diff --git a/java/ql/integration-tests/java/maven-wrapper-script-only/mvnw b/java/ql/integration-tests/java/maven-wrapper-script-only/mvnw old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/maven-wrapper-source-only/mvnw b/java/ql/integration-tests/java/maven-wrapper-source-only/mvnw old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/maven-wrapper/mvnw b/java/ql/integration-tests/java/maven-wrapper/mvnw old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/partial-gradle-sample-without-gradle/gradlew b/java/ql/integration-tests/java/partial-gradle-sample-without-gradle/gradlew old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/partial-gradle-sample/gradlew b/java/ql/integration-tests/java/partial-gradle-sample/gradlew old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/java/query-suite/java-code-quality-extended.qls.expected b/java/ql/integration-tests/java/query-suite/java-code-quality-extended.qls.expected index 5c82bd5e3498..7a1a986b2aa1 100644 --- a/java/ql/integration-tests/java/query-suite/java-code-quality-extended.qls.expected +++ b/java/ql/integration-tests/java/query-suite/java-code-quality-extended.qls.expected @@ -6,6 +6,7 @@ ql/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql ql/java/ql/src/DeadCode/UselessParameter.ql ql/java/ql/src/Language Abuse/EmptyMethod.ql ql/java/ql/src/Language Abuse/IterableIterator.ql +ql/java/ql/src/Language Abuse/LabelInSwitch.ql ql/java/ql/src/Language Abuse/TypeVariableHidesType.ql ql/java/ql/src/Language Abuse/UselessNullCheck.ql ql/java/ql/src/Language Abuse/UselessTypeTest.ql @@ -77,6 +78,8 @@ ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNam ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql ql/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql ql/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql +ql/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.ql +ql/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.ql ql/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DoNotCallFinalize.ql diff --git a/java/ql/integration-tests/java/query-suite/java-code-quality.qls.expected b/java/ql/integration-tests/java/query-suite/java-code-quality.qls.expected index e558cf3ffc48..17253dbe0f89 100644 --- a/java/ql/integration-tests/java/query-suite/java-code-quality.qls.expected +++ b/java/ql/integration-tests/java/query-suite/java-code-quality.qls.expected @@ -5,6 +5,7 @@ ql/java/ql/src/Compatibility/JDK9/JdkInternalAccess.ql ql/java/ql/src/Compatibility/JDK9/UnderscoreIdentifier.ql ql/java/ql/src/DeadCode/UselessParameter.ql ql/java/ql/src/Language Abuse/IterableIterator.ql +ql/java/ql/src/Language Abuse/LabelInSwitch.ql ql/java/ql/src/Language Abuse/UselessNullCheck.ql ql/java/ql/src/Language Abuse/UselessTypeTest.ql ql/java/ql/src/Language Abuse/WrappedIterator.ql @@ -75,6 +76,8 @@ ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingMethodNam ql/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql ql/java/ql/src/Violations of Best Practice/Naming Conventions/LocalShadowsFieldConfusing.ql ql/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql +ql/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.ql +ql/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.ql ql/java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToStringToString.ql ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DefaultToString.ql ql/java/ql/src/Violations of Best Practice/Undesirable Calls/DoNotCallFinalize.ql diff --git a/java/ql/integration-tests/kotlin/all-platforms/extractor_information_kotlin1/test.py b/java/ql/integration-tests/kotlin/all-platforms/extractor_information_kotlin1/test.py old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/kotlin/all-platforms/extractor_information_kotlin2/test.py b/java/ql/integration-tests/kotlin/all-platforms/extractor_information_kotlin2/test.py old mode 100755 new mode 100644 diff --git a/java/ql/integration-tests/kotlin/linux/custom_plugin/plugin/BUILD.bazel b/java/ql/integration-tests/kotlin/linux/custom_plugin/plugin/BUILD.bazel index 3e5195df88c2..2ee3d63e3ecf 100644 --- a/java/ql/integration-tests/kotlin/linux/custom_plugin/plugin/BUILD.bazel +++ b/java/ql/integration-tests/kotlin/linux/custom_plugin/plugin/BUILD.bazel @@ -17,7 +17,10 @@ kt_jvm_library( srcs = ["Plugin.kt"], kotlinc_opts = ":kotlinc-options", module_name = "test", - resource_strip_prefix = "%s/resources" % package_name(), + resource_strip_prefix = "../%s/%s/resources" % ( + repo_name(), + package_name(), + ), resources = glob(["resources/**"]), deps = [ "@kotlin-compiler-%s" % _version, diff --git a/java/ql/integration-tests/kotlin/linux/custom_plugin/test.py b/java/ql/integration-tests/kotlin/linux/custom_plugin/test.py index 71b6514059fa..f9da92683868 100644 --- a/java/ql/integration-tests/kotlin/linux/custom_plugin/test.py +++ b/java/ql/integration-tests/kotlin/linux/custom_plugin/test.py @@ -10,20 +10,15 @@ def test(codeql, java_full, cwd, semmle_code_dir, test_dir): commands.run( [ f"{semmle_code_dir}/tools/bazel", - f"--output_user_root={build_dir}", "--max_idle_secs=1", "build", - "//java/ql/integration-tests/kotlin/linux/custom_plugin/plugin", - "--spawn_strategy=local", - "--nouse_action_cache", - "--noremote_accept_cached", - "--noremote_upload_local_results", - f'--symlink_prefix={cwd / "bazel-"}', + "@codeql//java/ql/integration-tests/kotlin/linux/custom_plugin/plugin", ], - _cwd=test_dir, + _cwd=semmle_code_dir, + _env={"CODEQL_BAZEL_REMOTE_CACHE": "false"}, ) shutil.copy( - "bazel-bin/java/ql/integration-tests/kotlin/linux/custom_plugin/plugin/plugin.jar", + f"{semmle_code_dir}/bazel-bin/external/ql+/java/ql/integration-tests/kotlin/linux/custom_plugin/plugin/plugin.jar", "plugin.jar", ) codeql.database.create( diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index 320552a8f140..d48e225f5a0d 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,21 @@ +## 7.4.0 + +### Deprecated APIs + +* The module `semmle.code.java.frameworks.Castor` has been deprecated and will be removed in a future release. +* The module `semmle.code.java.frameworks.JYaml` has been deprecated and will be removed in a future release. +* The classes `UnsafeHessianInputReadObjectMethod` and `BurlapInputReadObjectMethod` in the module `semmle.code.java.frameworks.HessianBurlap` have been deprecated and will be removed in a future release. +* The class `YamlBeansReaderReadMethod` in the module `semmle.code.java.frameworks.YamlBeans` has been deprecated and will be removed in a future release. +* The class `MethodApacheSerializationUtilsDeserialize` in the module `semmle.code.java.frameworks.apache.Lang` has been deprecated and will be removed in a future release. + +### New Features + +* You can now add sinks for the query "Deserialization of user-controlled data" (`java/unsafe-deserialization`) using [data extensions](https://codeql.github.com/docs/codeql-language-guides/customizing-library-models-for-java-and-kotlin/#extensible-predicates-used-to-create-custom-models-in-java-and-kotlin) by extending `sinkModel` and using the kind "unsafe-deserialization". The existing sinks which do not require extra logic to determine if they are unsafe are now defined in this way. + +### Minor Analysis Improvements + +* The qualifiers of a calls to `readObject` on any classes that implement `java.io.ObjectInput` are now recognised as sinks for `java/unsafe-deserialization`. Previously this was only the case for classes which extend `java.io.ObjectInputStream`. + ## 7.3.2 ### Minor Analysis Improvements diff --git a/java/ql/lib/change-notes/released/7.4.0.md b/java/ql/lib/change-notes/released/7.4.0.md new file mode 100644 index 000000000000..103b19767a04 --- /dev/null +++ b/java/ql/lib/change-notes/released/7.4.0.md @@ -0,0 +1,17 @@ +## 7.4.0 + +### Deprecated APIs + +* The module `semmle.code.java.frameworks.Castor` has been deprecated and will be removed in a future release. +* The module `semmle.code.java.frameworks.JYaml` has been deprecated and will be removed in a future release. +* The classes `UnsafeHessianInputReadObjectMethod` and `BurlapInputReadObjectMethod` in the module `semmle.code.java.frameworks.HessianBurlap` have been deprecated and will be removed in a future release. +* The class `YamlBeansReaderReadMethod` in the module `semmle.code.java.frameworks.YamlBeans` has been deprecated and will be removed in a future release. +* The class `MethodApacheSerializationUtilsDeserialize` in the module `semmle.code.java.frameworks.apache.Lang` has been deprecated and will be removed in a future release. + +### New Features + +* You can now add sinks for the query "Deserialization of user-controlled data" (`java/unsafe-deserialization`) using [data extensions](https://codeql.github.com/docs/codeql-language-guides/customizing-library-models-for-java-and-kotlin/#extensible-predicates-used-to-create-custom-models-in-java-and-kotlin) by extending `sinkModel` and using the kind "unsafe-deserialization". The existing sinks that do not require extra logic to determine if they are unsafe are now defined in this way. + +### Minor Analysis Improvements + +* The qualifiers of a calls to `readObject` on any classes that implement `java.io.ObjectInput` are now recognised as sinks for `java/unsafe-deserialization`. Previously this was only the case for classes which extend `java.io.ObjectInputStream`. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index cf3deb9367da..be55351642c4 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 7.3.2 +lastReleaseVersion: 7.4.0 diff --git a/java/ql/lib/config/semmlecode.dbscheme b/java/ql/lib/config/semmlecode.dbscheme index 38d02c063878..1b8f5f4c747e 100644 --- a/java/ql/lib/config/semmlecode.dbscheme +++ b/java/ql/lib/config/semmlecode.dbscheme @@ -211,6 +211,10 @@ databaseMetadata( string value : string ref ); +overlayChangedFiles( + string path: string ref +); + /* * SMAP */ diff --git a/java/ql/lib/config/semmlecode.dbscheme.stats b/java/ql/lib/config/semmlecode.dbscheme.stats index f75c92b68268..650c4649439d 100644 --- a/java/ql/lib/config/semmlecode.dbscheme.stats +++ b/java/ql/lib/config/semmlecode.dbscheme.stats @@ -4004,6 +4004,17 @@ + + overlayChangedFiles + 50 + + + path + 50 + + + + smap_header 1 diff --git a/java/ql/lib/ext/com.alibaba.com.caucho.hessian.io.model.yml b/java/ql/lib/ext/com.alibaba.com.caucho.hessian.io.model.yml new file mode 100644 index 000000000000..af8824aae0c1 --- /dev/null +++ b/java/ql/lib/ext/com.alibaba.com.caucho.hessian.io.model.yml @@ -0,0 +1,7 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["com.alibaba.com.caucho.hessian.io", "AbstractHessianInput", True, "readObject", "", "", "Argument[this]", "unsafe-deserialization", "manual"] + - ["com.alibaba.com.caucho.hessian.io", "Hessian2StreamingInput", True, "readObject", "", "", "Argument[this]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/com.caucho.burlap.io.model.yml b/java/ql/lib/ext/com.caucho.burlap.io.model.yml new file mode 100644 index 000000000000..862804438ca4 --- /dev/null +++ b/java/ql/lib/ext/com.caucho.burlap.io.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["com.caucho.burlap.io", "BurlapInput", True, "readObject", "", "", "Argument[this]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/com.caucho.hessian.io.model.yml b/java/ql/lib/ext/com.caucho.hessian.io.model.yml new file mode 100644 index 000000000000..73c3ddebf451 --- /dev/null +++ b/java/ql/lib/ext/com.caucho.hessian.io.model.yml @@ -0,0 +1,7 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["com.caucho.hessian.io", "AbstractHessianInput", True, "readObject", "", "", "Argument[this]", "unsafe-deserialization", "manual"] + - ["com.caucho.hessian.io", "Hessian2StreamingInput", True, "readObject", "", "", "Argument[this]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/com.cedarsoftware.util.io.model.yml b/java/ql/lib/ext/com.cedarsoftware.util.io.model.yml new file mode 100644 index 000000000000..926a86238114 --- /dev/null +++ b/java/ql/lib/ext/com.cedarsoftware.util.io.model.yml @@ -0,0 +1,7 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["com.cedarsoftware.util.io", "JsonReader", False, "jsonToJava", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["com.cedarsoftware.util.io", "JsonReader", True, "readObject", "", "", "Argument[this]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/com.esotericsoftware.yamlbeans.model.yml b/java/ql/lib/ext/com.esotericsoftware.yamlbeans.model.yml new file mode 100644 index 000000000000..944222c420b6 --- /dev/null +++ b/java/ql/lib/ext/com.esotericsoftware.yamlbeans.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["com.esotericsoftware.yamlbeans", "YamlReader", True, "read", "", "", "Argument[this]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/java.beans.model.yml b/java/ql/lib/ext/java.beans.model.yml index 30667ec69615..07291296612d 100644 --- a/java/ql/lib/ext/java.beans.model.yml +++ b/java/ql/lib/ext/java.beans.model.yml @@ -13,3 +13,8 @@ extensions: - ["java.beans", "PropertyEditor", "getValue", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs - ["java.beans", "PropertyEditor", "setAsText", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs - ["java.beans", "PropertyEditor", "setValue", "()", "summary", "df-manual"] # needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["java.beans", "XMLDecoder", True, "readObject", "()", "", "Argument[this]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/org.apache.commons.lang.model.yml b/java/ql/lib/ext/org.apache.commons.lang.model.yml index 8dd3fd003f9d..0d38b845c9ca 100644 --- a/java/ql/lib/ext/org.apache.commons.lang.model.yml +++ b/java/ql/lib/ext/org.apache.commons.lang.model.yml @@ -5,3 +5,8 @@ extensions: data: - ["org.apache.commons.lang", "StringEscapeUtils", true, "escapeHtml", "(String)", "", "Argument[0]", "ReturnValue", "taint", "manual"] - ["org.apache.commons.lang", "StringEscapeUtils", true, "escapeHtml", "(Writer,String)", "", "Argument[1]", "Argument[0]", "taint", "manual"] + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.apache.commons.lang", "SerializationUtils", False, "deserialize", "", "", "Argument[0]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/org.apache.commons.lang3.model.yml b/java/ql/lib/ext/org.apache.commons.lang3.model.yml index 541db005f0b6..7c455d780b13 100644 --- a/java/ql/lib/ext/org.apache.commons.lang3.model.yml +++ b/java/ql/lib/ext/org.apache.commons.lang3.model.yml @@ -3,6 +3,7 @@ extensions: pack: codeql/java-all extensible: sinkModel data: + - ["org.apache.commons.lang3", "SerializationUtils", False, "deserialize", "", "", "Argument[0]", "unsafe-deserialization", "manual"] # Note these sinks do not use the sink kind `regex-use[0]` because the regex injection query needs to select them separately from # other `regex-use[0]` sinks in order to avoid FPs. As a result, these sinks are currently not used in the polynomial ReDoS query. # TODO: refactor the `regex-use%` sink kind so that the polynomial ReDoS query can also use these sinks. diff --git a/java/ql/lib/ext/org.exolab.castor.xml.model.yml b/java/ql/lib/ext/org.exolab.castor.xml.model.yml new file mode 100644 index 000000000000..7113a9ab94a7 --- /dev/null +++ b/java/ql/lib/ext/org.exolab.castor.xml.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.exolab.castor.xml", "Unmarshaller", True, "unmarshal", "", "", "Argument[0..1]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/org.ho.yaml.model.yml b/java/ql/lib/ext/org.ho.yaml.model.yml new file mode 100644 index 000000000000..fd6e0e363563 --- /dev/null +++ b/java/ql/lib/ext/org.ho.yaml.model.yml @@ -0,0 +1,13 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.ho.yaml", "Yaml", False, "load", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "Yaml", False, "loadStream", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "Yaml", False, "loadStreamOfType", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "Yaml", False, "loadType", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "YamlConfig", False, "load", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "YamlConfig", False, "loadStream", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "YamlConfig", False, "loadStreamOfType", "", "", "Argument[0]", "unsafe-deserialization", "manual"] + - ["org.ho.yaml", "YamlConfig", False, "loadType", "", "", "Argument[0]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/ext/org.jabsorb.model.yml b/java/ql/lib/ext/org.jabsorb.model.yml new file mode 100644 index 000000000000..5c50178e9937 --- /dev/null +++ b/java/ql/lib/ext/org.jabsorb.model.yml @@ -0,0 +1,6 @@ +extensions: + - addsTo: + pack: codeql/java-all + extensible: sinkModel + data: + - ["org.jabsorb", "JSONSerializer", True, "fromJSON", "", "", "Argument[0]", "unsafe-deserialization", "manual"] diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index d6884627794b..e4d1893f0f1f 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 7.3.3-dev +version: 7.4.0 groups: java dbscheme: config/semmlecode.dbscheme extractor: java @@ -8,6 +8,7 @@ upgrades: upgrades dependencies: codeql/controlflow: ${workspace} codeql/dataflow: ${workspace} + codeql/dataflowstack: ${workspace} codeql/mad: ${workspace} codeql/quantum: ${workspace} codeql/rangeanalysis: ${workspace} @@ -23,3 +24,4 @@ dataExtensions: - ext/generated/*.model.yml - ext/experimental/*.model.yml warnOnImplicitThis: true +compileForOverlayEval: true diff --git a/java/ql/lib/semmle/code/Location.qll b/java/ql/lib/semmle/code/Location.qll index 7265164e8e15..fced632a6dd9 100644 --- a/java/ql/lib/semmle/code/Location.qll +++ b/java/ql/lib/semmle/code/Location.qll @@ -233,5 +233,5 @@ private predicate discardableLocation(string file, @location l) { /** Discard base locations in files fully extracted in the overlay. */ overlay[discard_entity] private predicate discardLocation(@location l) { - exists(string file | discardableLocation(file, l) and extractedInOverlay(file)) + exists(string file | discardableLocation(file, l) and overlayChangedFiles(file)) } diff --git a/java/ql/lib/semmle/code/java/ControlFlowGraph.qll b/java/ql/lib/semmle/code/java/ControlFlowGraph.qll index 33b7a6c0a9fc..612bca35a600 100644 --- a/java/ql/lib/semmle/code/java/ControlFlowGraph.qll +++ b/java/ql/lib/semmle/code/java/ControlFlowGraph.qll @@ -82,6 +82,7 @@ module; */ import java +private import codeql.util.Boolean private import Completion private import controlflow.internal.Preconditions private import controlflow.internal.SwitchCases @@ -102,6 +103,7 @@ module ControlFlow { private newtype TNode = TExprNode(Expr e) { hasControlFlow(e) } or TStmtNode(Stmt s) or + TAnnotatedExitNode(Callable c, Boolean normal) { exists(c.getBody()) } or TExitNode(Callable c) { exists(c.getBody()) } or TAssertThrowNode(AssertStmt s) @@ -191,6 +193,38 @@ module ControlFlow { override Location getLocation() { result = s.getLocation() } } + /** A control flow node indicating the normal or exceptional termination of a callable. */ + class AnnotatedExitNode extends Node, TAnnotatedExitNode { + Callable c; + boolean normal; + + AnnotatedExitNode() { this = TAnnotatedExitNode(c, normal) } + + override Callable getEnclosingCallable() { result = c } + + override ExprParent getAstNode() { result = c } + + /** Gets a textual representation of this element. */ + override string toString() { + normal = true and result = "Normal Exit" + or + normal = false and result = "Exceptional Exit" + } + + /** Gets the source location for this element. */ + override Location getLocation() { result = c.getLocation() } + } + + /** A control flow node indicating normal termination of a callable. */ + class NormalExitNode extends AnnotatedExitNode { + NormalExitNode() { this = TAnnotatedExitNode(_, true) } + } + + /** A control flow node indicating exceptional termination of a callable. */ + class ExceptionalExitNode extends AnnotatedExitNode { + ExceptionalExitNode() { this = TAnnotatedExitNode(_, false) } + } + /** A control flow node indicating the termination of a callable. */ class ExitNode extends Node, TExitNode { Callable c; @@ -1266,11 +1300,17 @@ private module ControlFlowGraphImpl { */ cached Node succ(Node n, Completion completion) { - // After executing the callable body, the final node is the exit node. + // After executing the callable body, the final nodes are first the + // annotated exit node and then the final exit node. exists(Callable c | last(c.getBody(), n, completion) | - result.(ExitNode).getEnclosingCallable() = c + if completion instanceof ThrowCompletion + then result.(ExceptionalExitNode).getEnclosingCallable() = c + else result.(NormalExitNode).getEnclosingCallable() = c ) or + completion = NormalCompletion() and + n.(AnnotatedExitNode).getEnclosingCallable() = result.(ExitNode).getEnclosingCallable() + or // Logic expressions and conditional expressions execute in AST pre-order. completion = NormalCompletion() and ( @@ -1581,7 +1621,8 @@ private module ControlFlowGraphImpl { result.(AssertThrowNode).getAstNode() = assertstmt ) or - last(assertstmt.getMessage(), n, NormalCompletion()) and + last(assertstmt.getMessage(), n, completion) and + completion = NormalCompletion() and result.(AssertThrowNode).getAstNode() = assertstmt ) or diff --git a/java/ql/lib/semmle/code/java/Generics.qll b/java/ql/lib/semmle/code/java/Generics.qll index e0204b1beace..fbd979a03694 100644 --- a/java/ql/lib/semmle/code/java/Generics.qll +++ b/java/ql/lib/semmle/code/java/Generics.qll @@ -521,7 +521,13 @@ private predicate unificationTargets(RefType t1, Type t2) { t2 = a2.getComponentType() ) or - exists(ParameterizedType pt1, ParameterizedType pt2, int pos | + unificationTargetsParameterized(_, _, t1, t2) +} + +private predicate unificationTargetsParameterized( + ParameterizedType pt1, ParameterizedType pt2, RefType t1, RefType t2 +) { + exists(int pos | unificationTargets(pt1, pt2) and t1 = pt1.getTypeArgument(pos) and t2 = pt2.getTypeArgument(pos) @@ -565,10 +571,12 @@ private predicate hasParameterSubstitution( GenericType g1, ParameterizedType pt1, GenericType g2, ParameterizedType pt2, TypeVariable v, RefType subst ) { - unificationTargets(pt1, pt2) and - exists(int pos | hasSubstitution(pt1.getTypeArgument(pos), pt2.getTypeArgument(pos), v, subst)) and - g1 = pt1.getGenericType() and - g2 = pt2.getGenericType() + exists(RefType t1, RefType t2 | + unificationTargetsParameterized(pt1, pt2, t1, t2) and + hasSubstitution(t1, t2, v, subst) and + g1 = pt1.getGenericType() and + g2 = pt2.getGenericType() + ) } /** diff --git a/java/ql/lib/semmle/code/java/JDK.qll b/java/ql/lib/semmle/code/java/JDK.qll index 897e857ba108..bdc2fb92fa05 100644 --- a/java/ql/lib/semmle/code/java/JDK.qll +++ b/java/ql/lib/semmle/code/java/JDK.qll @@ -211,6 +211,11 @@ class TypeObjectOutputStream extends RefType { TypeObjectOutputStream() { this.hasQualifiedName("java.io", "ObjectOutputStream") } } +/** The type `java.io.ObjectInput`. */ +class TypeObjectInput extends RefType { + TypeObjectInput() { this.hasQualifiedName("java.io", "ObjectInput") } +} + /** The type `java.io.ObjectInputStream`. */ class TypeObjectInputStream extends RefType { TypeObjectInputStream() { this.hasQualifiedName("java.io", "ObjectInputStream") } diff --git a/java/ql/lib/semmle/code/java/Overlay.qll b/java/ql/lib/semmle/code/java/Overlay.qll index f1cfc5c434f2..1d1a3896ba71 100644 --- a/java/ql/lib/semmle/code/java/Overlay.qll +++ b/java/ql/lib/semmle/code/java/Overlay.qll @@ -30,15 +30,6 @@ string getRawFileForLoc(@location l) { exists(@file f | locations_default(l, f, _, _, _, _) and files(f, result)) } -/** Holds for files fully extracted in the overlay. */ -overlay[local] -predicate extractedInOverlay(string file) { - isOverlay() and - // numlines is used to restrict attention to fully extracted files and - // ignore skeleton extracted files in the overlay - exists(@locatable l | numlines(l, _, _, _) and file = getRawFile(l)) -} - /** * A `@locatable` that should be discarded in the base variant if its file is * extracted in the overlay variant. @@ -54,7 +45,7 @@ abstract class DiscardableLocatable extends @locatable { overlay[discard_entity] private predicate discardLocatable(@locatable el) { - extractedInOverlay(el.(DiscardableLocatable).getRawFileInBase()) + overlayChangedFiles(el.(DiscardableLocatable).getRawFileInBase()) } /** @@ -77,7 +68,45 @@ abstract class DiscardableReferableLocatable extends @locatable { overlay[discard_entity] private predicate discardReferableLocatable(@locatable el) { exists(DiscardableReferableLocatable drl | drl = el | - extractedInOverlay(drl.getRawFileInBase()) and + overlayChangedFiles(drl.getRawFileInBase()) and not drl.existsInOverlay() ) } + +overlay[local] +private predicate baseConfigLocatable(@configLocatable l) { not isOverlay() and exists(l) } + +overlay[local] +private predicate overlayHasConfigLocatables() { + isOverlay() and + exists(@configLocatable el) +} + +overlay[discard_entity] +private predicate discardBaseConfigLocatable(@configLocatable el) { + // The properties extractor is currently not incremental, so if + // the overlay contains any config locatables, the overlay should + // contain a full extraction and all config locatables from base + // should be discarded. + baseConfigLocatable(el) and overlayHasConfigLocatables() +} + +overlay[local] +private predicate baseXmlLocatable(@xmllocatable l) { + not isOverlay() and not files(l, _) and not xmlNs(l, _, _, _) +} + +overlay[local] +private predicate overlayHasXmlLocatable() { + isOverlay() and + exists(@xmllocatable l | not files(l, _) and not xmlNs(l, _, _, _)) +} + +overlay[discard_entity] +private predicate discardBaseXmlLocatable(@xmllocatable el) { + // The XML extractor is currently not incremental, so if + // the overlay contains any XML locatables, the overlay should + // contain a full extraction and all XML locatables from base + // should be discarded. + baseXmlLocatable(el) and overlayHasXmlLocatable() +} diff --git a/java/ql/lib/semmle/code/java/Type.qll b/java/ql/lib/semmle/code/java/Type.qll index c30dd7012bfb..dd646e74285c 100644 --- a/java/ql/lib/semmle/code/java/Type.qll +++ b/java/ql/lib/semmle/code/java/Type.qll @@ -422,6 +422,7 @@ class RefType extends Type, Annotatable, Modifiable, @reftype { * This does not include itself, unless this type is part of a cycle * in the type hierarchy. */ + overlay[caller?] RefType getAStrictAncestor() { result = this.getASupertype().getAnAncestor() } /** @@ -1260,14 +1261,21 @@ private Type erase(Type t) { * * For the definition of the notion of *erasure* see JLS v8, section 4.6 (Type Erasure). */ +bindingset[t1, t2] overlay[caller?] -pragma[inline] +pragma[inline_late] predicate haveIntersection(RefType t1, RefType t2) { exists(RefType e1, RefType e2 | e1 = erase(t1) and e2 = erase(t2) | - erasedHaveIntersection(e1, e2) + erasedHaveIntersectionFilter(e1, e2) ) } +bindingset[t1, t2] +pragma[inline_late] +private predicate erasedHaveIntersectionFilter(RefType t1, RefType t2) { + erasedHaveIntersection(t1, t2) +} + /** * Holds if there is no common (reflexive, transitive) subtype of the erasures * of types `t1` and `t2`. diff --git a/java/ql/lib/semmle/code/java/controlflow/Paths.qll b/java/ql/lib/semmle/code/java/controlflow/Paths.qll index fb14c226484d..abc56e32b5ca 100644 --- a/java/ql/lib/semmle/code/java/controlflow/Paths.qll +++ b/java/ql/lib/semmle/code/java/controlflow/Paths.qll @@ -66,6 +66,10 @@ private class JoinBlock extends BasicBlock { JoinBlock() { 2 <= strictcount(this.getAPredecessor()) } } +private class ReachableBlock extends BasicBlock { + ReachableBlock() { hasDominanceInformation(this) } +} + /** * Holds if `bb` is a block that is collectively dominated by a set of one or * more actions that individually does not dominate the exit. @@ -74,7 +78,7 @@ private predicate postActionBlock(BasicBlock bb, ActionConfiguration conf) { bb = nonDominatingActionBlock(conf) or if bb instanceof JoinBlock - then forall(BasicBlock pred | pred = bb.getAPredecessor() | postActionBlock(pred, conf)) + then forall(ReachableBlock pred | pred = bb.getAPredecessor() | postActionBlock(pred, conf)) else postActionBlock(bb.getAPredecessor(), conf) } diff --git a/java/ql/lib/semmle/code/java/dataflow/DataFlowStack.qll b/java/ql/lib/semmle/code/java/dataflow/DataFlowStack.qll new file mode 100644 index 000000000000..260531af95a6 --- /dev/null +++ b/java/ql/lib/semmle/code/java/dataflow/DataFlowStack.qll @@ -0,0 +1,39 @@ +overlay[local?] +module; + +import java +private import semmle.code.java.dataflow.DataFlow +private import semmle.code.java.dataflow.internal.DataFlowImplSpecific +private import codeql.dataflowstack.DataFlowStack as DFS +private import DFS::DataFlowStackMake as DataFlowStackFactory + +private module DataFlowStackInput implements + DFS::DataFlowStackSig +{ + private module Flow = DataFlow::Global; + + JavaDataFlow::Node getNode(Flow::PathNode n) { result = n.getNode() } + + predicate isSource(Flow::PathNode n) { n.isSource() } + + Flow::PathNode getASuccessor(Flow::PathNode n) { result = n.getASuccessor() } + + JavaDataFlow::DataFlowCallable getARuntimeTarget(JavaDataFlow::DataFlowCall call) { + result.asCallable() = call.asCall().getCallee() + } + + JavaDataFlow::Node getAnArgumentNode(JavaDataFlow::DataFlowCall call) { + result = JavaDataFlow::exprNode(call.asCall().getAnArgument()) + } +} + +module DataFlowStackMake { + import DataFlowStackFactory::FlowStack> +} + +module BiStackAnalysisMake< + DataFlowStackFactory::DataFlow::ConfigSig ConfigA, + DataFlowStackFactory::DataFlow::ConfigSig ConfigB> +{ + import DataFlowStackFactory::BiStackAnalysis, ConfigB, DataFlowStackInput> +} diff --git a/java/ql/lib/semmle/code/java/dataflow/TaintTrackingStack.qll b/java/ql/lib/semmle/code/java/dataflow/TaintTrackingStack.qll new file mode 100644 index 000000000000..711b8dd5dbbe --- /dev/null +++ b/java/ql/lib/semmle/code/java/dataflow/TaintTrackingStack.qll @@ -0,0 +1,41 @@ +overlay[local?] +module; + +import java +private import semmle.code.java.dataflow.DataFlow +private import semmle.code.java.dataflow.TaintTracking +private import semmle.code.java.dataflow.internal.DataFlowImplSpecific +private import semmle.code.java.dataflow.internal.TaintTrackingImplSpecific +private import codeql.dataflowstack.TaintTrackingStack as TTS +private import TTS::TaintTrackingStackMake as TaintTrackingStackFactory + +private module TaintTrackingStackInput + implements TTS::TaintTrackingStackSig +{ + private module Flow = TaintTracking::Global; + + JavaDataFlow::Node getNode(Flow::PathNode n) { result = n.getNode() } + + predicate isSource(Flow::PathNode n) { n.isSource() } + + Flow::PathNode getASuccessor(Flow::PathNode n) { result = n.getASuccessor() } + + JavaDataFlow::DataFlowCallable getARuntimeTarget(JavaDataFlow::DataFlowCall call) { + result.asCallable() = call.asCall().getCallee() + } + + JavaDataFlow::Node getAnArgumentNode(JavaDataFlow::DataFlowCall call) { + result = JavaDataFlow::exprNode(call.asCall().getAnArgument()) + } +} + +module DataFlowStackMake { + import TaintTrackingStackFactory::FlowStack> +} + +module BiStackAnalysisMake< + TaintTrackingStackFactory::DataFlow::ConfigSig ConfigA, + TaintTrackingStackFactory::DataFlow::ConfigSig ConfigB> +{ + import TaintTrackingStackFactory::BiStackAnalysis, ConfigB, TaintTrackingStackInput> +} \ No newline at end of file diff --git a/java/ql/lib/semmle/code/java/frameworks/Castor.qll b/java/ql/lib/semmle/code/java/frameworks/Castor.qll index 2becb2fbf178..5be64575bc2a 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Castor.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Castor.qll @@ -1,8 +1,10 @@ /** + * DEPRECATED: Now modeled using data extensions instead. + * * Provides classes and predicates for working with the Castor framework. */ overlay[local?] -module; +deprecated module; import java @@ -13,7 +15,9 @@ class CastorUnmarshaller extends RefType { CastorUnmarshaller() { this.hasQualifiedName("org.exolab.castor.xml", "Unmarshaller") } } -/** A method with the name `unmarshal` declared in `org.exolab.castor.xml.Unmarshaller`. */ +/** + * A method with the name `unmarshal` declared in `org.exolab.castor.xml.Unmarshaller`. + */ class CastorUnmarshalMethod extends Method { CastorUnmarshalMethod() { this.getDeclaringType() instanceof CastorUnmarshaller and diff --git a/java/ql/lib/semmle/code/java/frameworks/HessianBurlap.qll b/java/ql/lib/semmle/code/java/frameworks/HessianBurlap.qll index 3a10b75a2a69..25449b351abd 100644 --- a/java/ql/lib/semmle/code/java/frameworks/HessianBurlap.qll +++ b/java/ql/lib/semmle/code/java/frameworks/HessianBurlap.qll @@ -17,10 +17,12 @@ class UnsafeHessianInput extends RefType { } /** + * DEPRECATED: Now modeled using data extensions instead. + * * A AbstractHessianInput or Hessian2StreamingInput subclass readObject method. * This is either `AbstractHessianInput.readObject` or `Hessian2StreamingInput.readObject`. */ -class UnsafeHessianInputReadObjectMethod extends Method { +deprecated class UnsafeHessianInputReadObjectMethod extends Method { UnsafeHessianInputReadObjectMethod() { this.getDeclaringType().getAnAncestor() instanceof UnsafeHessianInput and this.getName() = "readObject" @@ -34,8 +36,12 @@ class BurlapInput extends RefType { BurlapInput() { this.hasQualifiedName("com.caucho.burlap.io", "BurlapInput") } } -/** A method with the name `readObject` declared in `com.caucho.burlap.io.BurlapInput`. */ -class BurlapInputReadObjectMethod extends Method { +/** + * DEPRECATED: Now modeled using data extensions instead. + * + * A method with the name `readObject` declared in `com.caucho.burlap.io.BurlapInput`. + */ +deprecated class BurlapInputReadObjectMethod extends Method { BurlapInputReadObjectMethod() { this.getDeclaringType() instanceof BurlapInput and this.getName() = "readObject" diff --git a/java/ql/lib/semmle/code/java/frameworks/JYaml.qll b/java/ql/lib/semmle/code/java/frameworks/JYaml.qll index cd9414521c4e..4f39c8cd23fc 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JYaml.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JYaml.qll @@ -1,8 +1,10 @@ /** + * DEPRECATED: Now modeled using data extensions instead. + * * Provides classes and predicates for working with the JYaml framework. */ overlay[local?] -module; +deprecated module; import java diff --git a/java/ql/lib/semmle/code/java/frameworks/Jabsorb.qll b/java/ql/lib/semmle/code/java/frameworks/Jabsorb.qll index e8bb82f156fe..1997fd74f645 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Jabsorb.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Jabsorb.qll @@ -19,8 +19,12 @@ class JabsorbUnmarshallMethod extends Method { } } -/** The deserialization method `fromJSON`. */ -class JabsorbFromJsonMethod extends Method { +/** + * DEPRECATED: Now modeled using data extensions instead. + * + * The deserialization method `fromJSON`. + */ +deprecated class JabsorbFromJsonMethod extends Method { JabsorbFromJsonMethod() { this.getDeclaringType().getAnAncestor() instanceof JabsorbSerializer and this.getName() = "fromJSON" diff --git a/java/ql/lib/semmle/code/java/frameworks/YamlBeans.qll b/java/ql/lib/semmle/code/java/frameworks/YamlBeans.qll index 040ae60fc710..55ff862d3410 100644 --- a/java/ql/lib/semmle/code/java/frameworks/YamlBeans.qll +++ b/java/ql/lib/semmle/code/java/frameworks/YamlBeans.qll @@ -13,8 +13,12 @@ class YamlBeansReader extends RefType { YamlBeansReader() { this.hasQualifiedName("com.esotericsoftware.yamlbeans", "YamlReader") } } -/** A method with the name `read` declared in `com.esotericsoftware.yamlbeans.YamlReader`. */ -class YamlBeansReaderReadMethod extends Method { +/** + * DEPRECATED: Now modeled using data extensions instead. + * + * A method with the name `read` declared in `com.esotericsoftware.yamlbeans.YamlReader`. + */ +deprecated class YamlBeansReaderReadMethod extends Method { YamlBeansReaderReadMethod() { this.getDeclaringType() instanceof YamlBeansReader and this.getName() = "read" diff --git a/java/ql/lib/semmle/code/java/frameworks/apache/Lang.qll b/java/ql/lib/semmle/code/java/frameworks/apache/Lang.qll index 27c7f9530ad1..a58500eb20df 100644 --- a/java/ql/lib/semmle/code/java/frameworks/apache/Lang.qll +++ b/java/ql/lib/semmle/code/java/frameworks/apache/Lang.qll @@ -16,10 +16,12 @@ class TypeApacheRandomStringUtils extends Class { } /** + * DEPRECATED: Now modeled using data extensions instead. + * * The method `deserialize` in either `org.apache.commons.lang.SerializationUtils` * or `org.apache.commons.lang3.SerializationUtils`. */ -class MethodApacheSerializationUtilsDeserialize extends Method { +deprecated class MethodApacheSerializationUtilsDeserialize extends Method { MethodApacheSerializationUtilsDeserialize() { this.getDeclaringType() .hasQualifiedName(["org.apache.commons.lang", "org.apache.commons.lang3"], diff --git a/java/ql/lib/semmle/code/java/security/AndroidSensitiveCommunicationQuery.qll b/java/ql/lib/semmle/code/java/security/AndroidSensitiveCommunicationQuery.qll index 2ba13c06feb8..9aa60e391dc4 100644 --- a/java/ql/lib/semmle/code/java/security/AndroidSensitiveCommunicationQuery.qll +++ b/java/ql/lib/semmle/code/java/security/AndroidSensitiveCommunicationQuery.qll @@ -149,6 +149,8 @@ module SensitiveCommunicationConfig implements DataFlow::ConfigSig { predicate allowImplicitRead(DataFlow::Node node, DataFlow::ContentSet c) { isSink(node) and exists(c) } + + predicate observeDiffInformedIncrementalMode() { any() } } /** diff --git a/java/ql/lib/semmle/code/java/security/ArithmeticTaintedQuery.qll b/java/ql/lib/semmle/code/java/security/ArithmeticTaintedQuery.qll index 51d6c284e1ca..fbb8509f48f9 100644 --- a/java/ql/lib/semmle/code/java/security/ArithmeticTaintedQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ArithmeticTaintedQuery.qll @@ -13,6 +13,14 @@ module ArithmeticOverflowConfig implements DataFlow::ConfigSig { predicate isBarrier(DataFlow::Node n) { overflowBarrier(n) } predicate isBarrierIn(DataFlow::Node node) { isSource(node) } + + predicate observeDiffInformedIncrementalMode() { + any() // merged with ArithmeticUnderflow in ArithmeticTainted.ql + } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(ArithExpr exp | result = exp.getLocation() | overflowSink(exp, sink.asExpr())) + } } /** @@ -29,6 +37,14 @@ module ArithmeticUnderflowConfig implements DataFlow::ConfigSig { predicate isBarrier(DataFlow::Node n) { underflowBarrier(n) } predicate isBarrierIn(DataFlow::Node node) { isSource(node) } + + predicate observeDiffInformedIncrementalMode() { + any() // merged with ArithmeticOverflow in ArithmeticTainted.ql + } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(ArithExpr exp | result = exp.getLocation() | underflowSink(exp, sink.asExpr())) + } } /** diff --git a/java/ql/lib/semmle/code/java/security/ArithmeticUncontrolledQuery.qll b/java/ql/lib/semmle/code/java/security/ArithmeticUncontrolledQuery.qll index a5fa0d3ee4b1..6b7b337ad656 100644 --- a/java/ql/lib/semmle/code/java/security/ArithmeticUncontrolledQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ArithmeticUncontrolledQuery.qll @@ -19,6 +19,14 @@ module ArithmeticUncontrolledOverflowConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { overflowSink(_, sink.asExpr()) } predicate isBarrier(DataFlow::Node n) { overflowBarrier(n) } + + predicate observeDiffInformedIncrementalMode() { + any() // merged with ArithmeticUncontrolledUnderflow in ArithmeticUncontrolled.ql + } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(ArithExpr exp | result = exp.getLocation() | overflowSink(exp, sink.asExpr())) + } } /** Taint-tracking flow to reason about overflow from arithmetic with uncontrolled values. */ @@ -32,6 +40,14 @@ module ArithmeticUncontrolledUnderflowConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { underflowSink(_, sink.asExpr()) } predicate isBarrier(DataFlow::Node n) { underflowBarrier(n) } + + predicate observeDiffInformedIncrementalMode() { + any() // merged with ArithmeticUncontrolledOverflow in ArithmeticUncontrolled.ql + } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(ArithExpr exp | result = exp.getLocation() | underflowSink(exp, sink.asExpr())) + } } /** Taint-tracking flow to reason about underflow from arithmetic with uncontrolled values. */ diff --git a/java/ql/lib/semmle/code/java/security/ConditionalBypassQuery.qll b/java/ql/lib/semmle/code/java/security/ConditionalBypassQuery.qll index 03ba8d461979..314570369377 100644 --- a/java/ql/lib/semmle/code/java/security/ConditionalBypassQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ConditionalBypassQuery.qll @@ -47,6 +47,15 @@ module ConditionalBypassFlowConfig implements DataFlow::ConfigSig { predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { endsWithStep(node1, node2) } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(MethodCall m, Expr e | result = [m, e].getLocation() | + conditionControlsMethod(m, e) and + sink.asExpr() = e + ) + } } /** diff --git a/java/ql/lib/semmle/code/java/security/CsrfUnprotectedRequestTypeQuery.qll b/java/ql/lib/semmle/code/java/security/CsrfUnprotectedRequestTypeQuery.qll index 42d6db246c0e..80d100d3d9e1 100644 --- a/java/ql/lib/semmle/code/java/security/CsrfUnprotectedRequestTypeQuery.qll +++ b/java/ql/lib/semmle/code/java/security/CsrfUnprotectedRequestTypeQuery.qll @@ -237,12 +237,35 @@ private predicate sink(CallPathNode sinkMethodCall) { ) } +private predicate fwdFlow(CallPathNode n) { + source(n) + or + exists(CallPathNode mid | fwdFlow(mid) and CallGraph::edges(mid, n)) +} + +private predicate revFlow(CallPathNode n) { + fwdFlow(n) and + ( + sink(n) + or + exists(CallPathNode mid | revFlow(mid) and CallGraph::edges(n, mid)) + ) +} + +/** + * Holds if `pred` has a successor node `succ` and this edge is in an + * `unprotectedStateChange` path. + */ +predicate relevantEdge(CallPathNode pred, CallPathNode succ) { + CallGraph::edges(pred, succ) and revFlow(pred) and revFlow(succ) +} + /** * Holds if `sourceMethod` is an unprotected request handler that reaches a * `sinkMethodCall` that updates a database. */ private predicate unprotectedDatabaseUpdate(CallPathNode sourceMethod, CallPathNode sinkMethodCall) = - doublyBoundedFastTC(CallGraph::edges/2, source/1, sink/1)(sourceMethod, sinkMethodCall) + doublyBoundedFastTC(relevantEdge/2, source/1, sink/1)(sourceMethod, sinkMethodCall) /** * Holds if `sourceMethod` is an unprotected request handler that appears to diff --git a/java/ql/lib/semmle/code/java/security/ExternalAPIs.qll b/java/ql/lib/semmle/code/java/security/ExternalAPIs.qll index 809f45aa45a3..df941be97448 100644 --- a/java/ql/lib/semmle/code/java/security/ExternalAPIs.qll +++ b/java/ql/lib/semmle/code/java/security/ExternalAPIs.qll @@ -101,6 +101,10 @@ module UntrustedDataToExternalApiConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { source instanceof ActiveThreatModelSource } predicate isSink(DataFlow::Node sink) { sink instanceof ExternalApiDataNode } + + predicate observeDiffInformedIncrementalMode() { + any() // Simple use in UntrustedDataToExternalAPI.ql; also used through ExternalApiUsedWithUntrustedData in ExternalAPIsUsedWithUntrustedData.ql + } } /** diff --git a/java/ql/lib/semmle/code/java/security/HardcodedCredentials.qll b/java/ql/lib/semmle/code/java/security/HardcodedCredentials.qll index f7e0b9954858..a0e68c3552c2 100644 --- a/java/ql/lib/semmle/code/java/security/HardcodedCredentials.qll +++ b/java/ql/lib/semmle/code/java/security/HardcodedCredentials.qll @@ -68,7 +68,8 @@ class CredentialsApiSink extends CredentialsSink { */ class PasswordVariable extends Variable { PasswordVariable() { - this.getName().regexpMatch("(?i)(encrypted|old|new)?pass(wd|word|code|phrase)(chars|value)?") + this.getName().regexpMatch("(?i).*pass(w|wd|wrd|word|code|phrase|key|_)(chars|value)?(?!.*(size|length|question|path|prompt)).*") or + this.getName().regexpMatch("(?i)pwd") } } @@ -76,7 +77,7 @@ class PasswordVariable extends Variable { * A variable whose name indicates that it may hold a user name. */ class UsernameVariable extends Variable { - UsernameVariable() { this.getName().regexpMatch("(?i)(user|username)") } + UsernameVariable() { this.getName().regexpMatch("(?i)(puid|user|username|userid)(?!.*(characters|claimtype)).*") } } /** diff --git a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionCodeSpecifiedQuery.qll b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionCodeSpecifiedQuery.qll index a6f10913da58..e952971c389f 100644 --- a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionCodeSpecifiedQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionCodeSpecifiedQuery.qll @@ -17,6 +17,15 @@ module BoundedFlowSourceConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { any(CheckableArrayAccess caa).canThrowOutOfBoundsDueToEmptyArray(sink.asExpr(), _) } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(ArrayCreationExpr arrayCreation, CheckableArrayAccess arrayAccess | + result = [arrayCreation, arrayAccess.getIndexExpr()].getLocation() and + arrayAccess.canThrowOutOfBoundsDueToEmptyArray(sink.asExpr(), arrayCreation) + ) + } } /** diff --git a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionQuery.qll b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionQuery.qll index 2af9396a119e..913d50b3159d 100644 --- a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayConstructionQuery.qll @@ -14,6 +14,15 @@ module ImproperValidationOfArrayConstructionConfig implements DataFlow::ConfigSi predicate isSink(DataFlow::Node sink) { any(CheckableArrayAccess caa).canThrowOutOfBoundsDueToEmptyArray(sink.asExpr(), _) } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(ArrayCreationExpr arrayCreation, CheckableArrayAccess arrayAccess | + result = [arrayCreation, arrayAccess.getIndexExpr()].getLocation() and + arrayAccess.canThrowOutOfBoundsDueToEmptyArray(sink.asExpr(), arrayCreation) + ) + } } /** diff --git a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexCodeSpecifiedQuery.qll b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexCodeSpecifiedQuery.qll index 2ae9eb2c696f..01a924de78e4 100644 --- a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexCodeSpecifiedQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexCodeSpecifiedQuery.qll @@ -14,6 +14,8 @@ module BoundedFlowSourceConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { exists(CheckableArrayAccess arrayAccess | arrayAccess.canThrowOutOfBounds(sink.asExpr())) } + + predicate observeDiffInformedIncrementalMode() { any() } } /** diff --git a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexQuery.qll b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexQuery.qll index 6d11962f2f45..7cb3d1724830 100644 --- a/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexQuery.qll +++ b/java/ql/lib/semmle/code/java/security/ImproperValidationOfArrayIndexQuery.qll @@ -18,6 +18,8 @@ module ImproperValidationOfArrayIndexConfig implements DataFlow::ConfigSig { predicate isBarrier(DataFlow::Node node) { node.getType() instanceof BooleanType } predicate isBarrierIn(DataFlow::Node node) { isSource(node) } + + predicate observeDiffInformedIncrementalMode() { any() } } /** diff --git a/java/ql/lib/semmle/code/java/security/InsecureCookieQuery.qll b/java/ql/lib/semmle/code/java/security/InsecureCookieQuery.qll index e8c3052acdfb..eda07658866c 100644 --- a/java/ql/lib/semmle/code/java/security/InsecureCookieQuery.qll +++ b/java/ql/lib/semmle/code/java/security/InsecureCookieQuery.qll @@ -35,6 +35,10 @@ module SecureCookieConfig implements DataFlow::ConfigSig { sink.asExpr() = any(MethodCall add | add.getMethod() instanceof ResponseAddCookieMethod).getArgument(0) } + + predicate observeDiffInformedIncrementalMode() { + none() // only used negatively in InsecureCookie.ql + } } /** Data flow to reason about the failure to use secure cookies. */ diff --git a/java/ql/lib/semmle/code/java/security/InsecureLdapAuthQuery.qll b/java/ql/lib/semmle/code/java/security/InsecureLdapAuthQuery.qll index 94d80b9b37b0..a4cbf474dded 100644 --- a/java/ql/lib/semmle/code/java/security/InsecureLdapAuthQuery.qll +++ b/java/ql/lib/semmle/code/java/security/InsecureLdapAuthQuery.qll @@ -40,6 +40,10 @@ private module BasicAuthConfig implements DataFlow::ConfigSig { } predicate isSink(DataFlow::Node sink) { sink instanceof InsecureLdapUrlSink } + + predicate observeDiffInformedIncrementalMode() { + none() // used as secondary flow to InsecureLdapUrlFlow in InsecureLdapAuth.ql + } } module BasicAuthFlow = DataFlow::Global; @@ -56,6 +60,10 @@ private module RequiresSslConfig implements DataFlow::ConfigSig { } predicate isSink(DataFlow::Node sink) { sink instanceof InsecureLdapUrlSink } + + predicate observeDiffInformedIncrementalMode() { + none() // only used negatively in InsecureLdapAuth.ql + } } module RequiresSslFlow = DataFlow::Global; diff --git a/java/ql/lib/semmle/code/java/security/LogInjectionQuery.qll b/java/ql/lib/semmle/code/java/security/LogInjectionQuery.qll index 64d59993b3da..c34ba0e48499 100644 --- a/java/ql/lib/semmle/code/java/security/LogInjectionQuery.qll +++ b/java/ql/lib/semmle/code/java/security/LogInjectionQuery.qll @@ -19,6 +19,10 @@ module LogInjectionConfig implements DataFlow::ConfigSig { } predicate isBarrierIn(DataFlow::Node node) { isSource(node) } + + predicate observeDiffInformedIncrementalMode() { + none() // straightforward case; but the large test source is causing OOMs under `--check-diff-informed`. + } } /** diff --git a/java/ql/lib/semmle/code/java/security/MaybeBrokenCryptoAlgorithmQuery.qll b/java/ql/lib/semmle/code/java/security/MaybeBrokenCryptoAlgorithmQuery.qll index 060a30f87e6a..57622b367f31 100644 --- a/java/ql/lib/semmle/code/java/security/MaybeBrokenCryptoAlgorithmQuery.qll +++ b/java/ql/lib/semmle/code/java/security/MaybeBrokenCryptoAlgorithmQuery.qll @@ -77,6 +77,12 @@ module InsecureCryptoConfig implements DataFlow::ConfigSig { objectToString(n.asExpr()) or n.getType().getErasure() instanceof TypeObject } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(CryptoAlgoSpec c | result = c.getLocation() | sink.asExpr() = c.getAlgoSpec()) + } } /** diff --git a/java/ql/lib/semmle/code/java/security/PathSanitizer.qll b/java/ql/lib/semmle/code/java/security/PathSanitizer.qll index ed0761f6869e..e789d3c47785 100644 --- a/java/ql/lib/semmle/code/java/security/PathSanitizer.qll +++ b/java/ql/lib/semmle/code/java/security/PathSanitizer.qll @@ -31,20 +31,10 @@ private module ValidationMethod { * Holds if `m` validates its `arg`th parameter by using `validationGuard`. */ private predicate validationMethod(Method m, int arg) { - exists( - Guard g, SsaImplicitInit var, ControlFlow::ExitNode exit, ControlFlowNode normexit, - boolean branch - | + exists(Guard g, SsaImplicitInit var, ControlFlow::NormalExitNode normexit, boolean branch | validationGuard(g, var.getAUse(), branch) and var.isParameterDefinition(m.getParameter(arg)) and - exit.getEnclosingCallable() = m and - normexit.getANormalSuccessor() = exit and - 1 = strictcount(ControlFlowNode n | n.getANormalSuccessor() = exit) - | - exists(ConditionNode conditionNode | - g = conditionNode.getCondition() and conditionNode.getABranchSuccessor(branch) = exit - ) - or + normexit.getEnclosingCallable() = m and g.controls(normexit.getBasicBlock(), branch) ) } diff --git a/java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll b/java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll index 201b347e014c..25454d80c717 100644 --- a/java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll +++ b/java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll @@ -53,6 +53,8 @@ module SensitiveLoggerConfig implements DataFlow::ConfigSig { } predicate isBarrierIn(DataFlow::Node node) { isSource(node) } + + predicate observeDiffInformedIncrementalMode() { any() } } module SensitiveLoggerFlow = TaintTracking::Global; diff --git a/java/ql/lib/semmle/code/java/security/SqlConcatenatedQuery.qll b/java/ql/lib/semmle/code/java/security/SqlConcatenatedQuery.qll index fe6e31900e1f..7cfea41a8d77 100644 --- a/java/ql/lib/semmle/code/java/security/SqlConcatenatedQuery.qll +++ b/java/ql/lib/semmle/code/java/security/SqlConcatenatedQuery.qll @@ -24,6 +24,15 @@ module UncontrolledStringBuilderSourceFlowConfig implements DataFlow::ConfigSig predicate isSink(DataFlow::Node sink) { sink instanceof QueryInjectionSink } predicate isBarrier(DataFlow::Node node) { node instanceof SimpleTypeSanitizer } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSourceLocation(DataFlow::Node source) { + exists(Expr uncontrolled, StringBuilderVar sbv | result = uncontrolled.getLocation() | + uncontrolledStringBuilderQuery(sbv, uncontrolled) and + source = DataFlow::exprNode(sbv.getToStringCall()) + ) + } } /** diff --git a/java/ql/lib/semmle/code/java/security/TaintedEnvironmentVariableQuery.qll b/java/ql/lib/semmle/code/java/security/TaintedEnvironmentVariableQuery.qll index 597c05b04541..d972b59986a6 100644 --- a/java/ql/lib/semmle/code/java/security/TaintedEnvironmentVariableQuery.qll +++ b/java/ql/lib/semmle/code/java/security/TaintedEnvironmentVariableQuery.qll @@ -38,6 +38,10 @@ module ExecTaintedEnvironmentConfig implements DataFlow::ConfigSig { ProcessBuilderEnvironmentFlow::flowToExpr(mm.getQualifier()) ) } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSourceLocation(DataFlow::Node source) { none() } } /** diff --git a/java/ql/lib/semmle/code/java/security/TempDirLocalInformationDisclosureQuery.qll b/java/ql/lib/semmle/code/java/security/TempDirLocalInformationDisclosureQuery.qll index 97ae75988b3b..058d19e2c4af 100644 --- a/java/ql/lib/semmle/code/java/security/TempDirLocalInformationDisclosureQuery.qll +++ b/java/ql/lib/semmle/code/java/security/TempDirLocalInformationDisclosureQuery.qll @@ -145,6 +145,10 @@ module TempDirSystemGetPropertyToCreateConfig implements DataFlow::ConfigSig { or sanitizer instanceof WindowsOsSanitizer } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSinkLocation(DataFlow::Node sink) { none() } } /** @@ -203,6 +207,7 @@ module TempDirSystemGetPropertyDirectlyToMkdir = /** * A `MethodCall` against a method that creates a temporary file or directory in a shared temporary directory. */ +overlay[local?] abstract class MethodCallInsecureFileCreation extends MethodCall { /** * Gets the type of entity created (e.g. `file`, `directory`, ...). @@ -213,11 +218,15 @@ abstract class MethodCallInsecureFileCreation extends MethodCall { * Gets the dataflow node representing the file system entity created. */ DataFlow::Node getNode() { result.asExpr() = this } + + /** Holds if this node is a source. */ + predicate isSource() { any() } } /** * An insecure call to `java.io.File.createTempFile`. */ +overlay[local?] class MethodCallInsecureFileCreateTempFile extends MethodCallInsecureFileCreation { MethodCallInsecureFileCreateTempFile() { this.getMethod() instanceof MethodFileCreateTempFile and @@ -246,6 +255,7 @@ class MethodGuavaFilesCreateTempFile extends Method { /** * A call to the `com.google.common.io.Files.createTempDir` method. */ +overlay[local?] class MethodCallInsecureGuavaFilesCreateTempFile extends MethodCallInsecureFileCreation { MethodCallInsecureGuavaFilesCreateTempFile() { this.getMethod() instanceof MethodGuavaFilesCreateTempFile diff --git a/java/ql/lib/semmle/code/java/security/TrustBoundaryViolationQuery.qll b/java/ql/lib/semmle/code/java/security/TrustBoundaryViolationQuery.qll index f70542486dee..b2f49834b5ab 100644 --- a/java/ql/lib/semmle/code/java/security/TrustBoundaryViolationQuery.qll +++ b/java/ql/lib/semmle/code/java/security/TrustBoundaryViolationQuery.qll @@ -62,6 +62,8 @@ module TrustBoundaryConfig implements DataFlow::ConfigSig { } predicate isSink(DataFlow::Node sink) { sink instanceof TrustBoundaryViolationSink } + + predicate observeDiffInformedIncrementalMode() { any() } } /** diff --git a/java/ql/lib/semmle/code/java/security/UnsafeCertTrustQuery.qll b/java/ql/lib/semmle/code/java/security/UnsafeCertTrustQuery.qll index 803e3836ab0e..b395692804cf 100644 --- a/java/ql/lib/semmle/code/java/security/UnsafeCertTrustQuery.qll +++ b/java/ql/lib/semmle/code/java/security/UnsafeCertTrustQuery.qll @@ -14,6 +14,10 @@ module SslEndpointIdentificationFlowConfig implements DataFlow::ConfigSig { predicate isSink(DataFlow::Node sink) { sink instanceof SslConnectionCreation } predicate isBarrier(DataFlow::Node sanitizer) { sanitizer instanceof SslUnsafeCertTrustSanitizer } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSourceLocation(DataFlow::Node source) { none() } } /** diff --git a/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll b/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll index e10c6cebaf63..ce0f649eff35 100644 --- a/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll +++ b/java/ql/lib/semmle/code/java/security/UnsafeDeserializationQuery.qll @@ -3,17 +3,16 @@ */ import semmle.code.java.dataflow.FlowSources +private import semmle.code.java.dataflow.ExternalFlow private import semmle.code.java.dataflow.FlowSinks private import semmle.code.java.dispatch.VirtualDispatch private import semmle.code.java.frameworks.Kryo private import semmle.code.java.frameworks.XStream private import semmle.code.java.frameworks.SnakeYaml private import semmle.code.java.frameworks.FastJson -private import semmle.code.java.frameworks.JYaml private import semmle.code.java.frameworks.JsonIo private import semmle.code.java.frameworks.YamlBeans private import semmle.code.java.frameworks.HessianBurlap -private import semmle.code.java.frameworks.Castor private import semmle.code.java.frameworks.Jackson private import semmle.code.java.frameworks.Jabsorb private import semmle.code.java.frameworks.Jms @@ -23,10 +22,17 @@ private import semmle.code.java.frameworks.google.Gson private import semmle.code.java.frameworks.apache.Lang private import semmle.code.java.Reflection -private class ObjectInputStreamReadObjectMethod extends Method { - ObjectInputStreamReadObjectMethod() { +private class ObjectInputReadObjectMethod extends Method { + ObjectInputReadObjectMethod() { + this.getDeclaringType().getASourceSupertype*() instanceof TypeObjectInput and + this.hasName("readObject") + } +} + +private class ObjectInputStreamReadUnsharedMethod extends Method { + ObjectInputStreamReadUnsharedMethod() { this.getDeclaringType().getASourceSupertype*() instanceof TypeObjectInputStream and - (this.hasName("readObject") or this.hasName("readUnshared")) + this.hasName("readUnshared") } } @@ -44,13 +50,6 @@ private class SafeObjectInputStreamType extends RefType { } } -private class XmlDecoderReadObjectMethod extends Method { - XmlDecoderReadObjectMethod() { - this.getDeclaringType().hasQualifiedName("java.beans", "XMLDecoder") and - this.hasName("readObject") - } -} - private module SafeXStreamConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node src) { any(XStreamEnableWhiteListing ma).getQualifier().(VarAccess).getVariable().getAnAccess() = @@ -142,20 +141,25 @@ private module SafeKryoConfig implements DataFlow::ConfigSig { private module SafeKryoFlow = DataFlow::Global; +private class DefaultUnsafeDeserializationSink extends DataFlow::Node { + DefaultUnsafeDeserializationSink() { sinkNode(this, "unsafe-deserialization") } +} + /** * Holds if `ma` is a call that deserializes data from `sink`. + * + * Note that this does not include deserialization methods that have been + * specified using models-as-data. */ predicate unsafeDeserialization(MethodCall ma, Expr sink) { exists(Method m | m = ma.getMethod() | - m instanceof ObjectInputStreamReadObjectMethod and + m instanceof ObjectInputReadObjectMethod and sink = ma.getQualifier() and - not exists(DataFlow::ExprNode node | - node.getExpr() = sink and - node.getTypeBound() instanceof SafeObjectInputStreamType - ) + not DataFlow::exprNode(sink).getTypeBound() instanceof SafeObjectInputStreamType or - m instanceof XmlDecoderReadObjectMethod and - sink = ma.getQualifier() + m instanceof ObjectInputStreamReadUnsharedMethod and + sink = ma.getQualifier() and + not DataFlow::exprNode(sink).getTypeBound() instanceof SafeObjectInputStreamType or m instanceof XStreamReadObjectMethod and sink = ma.getAnArgument() and @@ -165,9 +169,6 @@ predicate unsafeDeserialization(MethodCall ma, Expr sink) { sink = ma.getAnArgument() and not SafeKryoFlow::flowToExpr(ma.getQualifier()) or - m instanceof MethodApacheSerializationUtilsDeserialize and - sink = ma.getArgument(0) - or ma instanceof UnsafeSnakeYamlParse and sink = ma.getArgument(0) or @@ -175,23 +176,6 @@ predicate unsafeDeserialization(MethodCall ma, Expr sink) { not fastJsonLooksSafe() and sink = ma.getArgument(0) or - ma.getMethod() instanceof JYamlLoaderUnsafeLoadMethod and - sink = ma.getArgument(0) - or - ma.getMethod() instanceof JsonIoJsonToJavaMethod and - sink = ma.getArgument(0) - or - ma.getMethod() instanceof JsonIoReadObjectMethod and - sink = ma.getQualifier() - or - ma.getMethod() instanceof YamlBeansReaderReadMethod and sink = ma.getQualifier() - or - ma.getMethod() instanceof UnsafeHessianInputReadObjectMethod and sink = ma.getQualifier() - or - ma.getMethod() instanceof CastorUnmarshalMethod and sink = ma.getAnArgument() - or - ma.getMethod() instanceof BurlapInputReadObjectMethod and sink = ma.getQualifier() - or ma.getMethod() instanceof ObjectMapperReadMethod and sink = ma.getArgument(0) and ( @@ -207,9 +191,6 @@ predicate unsafeDeserialization(MethodCall ma, Expr sink) { sink = ma.getArgument(2) and UnsafeTypeFlow::flowToExpr(ma.getArgument(1)) or - m instanceof JabsorbFromJsonMethod and - sink = ma.getArgument(0) - or m instanceof JoddJsonParseMethod and sink = ma.getArgument(0) and ( @@ -236,10 +217,17 @@ predicate unsafeDeserialization(MethodCall ma, Expr sink) { /** A sink for unsafe deserialization. */ class UnsafeDeserializationSink extends ApiSinkNode, DataFlow::ExprNode { - UnsafeDeserializationSink() { unsafeDeserialization(_, this.getExpr()) } + MethodCall mc; + + UnsafeDeserializationSink() { + unsafeDeserialization(mc, this.getExpr()) + or + this instanceof DefaultUnsafeDeserializationSink and + this.getExpr() = [mc.getQualifier(), mc.getAnArgument()] + } /** Gets a call that triggers unsafe deserialization. */ - MethodCall getMethodCall() { unsafeDeserialization(result, this.getExpr()) } + MethodCall getMethodCall() { result = mc } } /** Holds if `node` is a sanitizer for unsafe deserialization */ diff --git a/java/ql/lib/semmle/code/java/security/regexp/PolynomialReDoSQuery.qll b/java/ql/lib/semmle/code/java/security/regexp/PolynomialReDoSQuery.qll index ba65e13dd611..767ebc97437b 100644 --- a/java/ql/lib/semmle/code/java/security/regexp/PolynomialReDoSQuery.qll +++ b/java/ql/lib/semmle/code/java/security/regexp/PolynomialReDoSQuery.qll @@ -47,6 +47,18 @@ module PolynomialRedosConfig implements DataFlow::ConfigSig { node instanceof SimpleTypeSanitizer or node.asExpr().(MethodCall).getMethod() instanceof LengthRestrictedMethod } + + predicate observeDiffInformedIncrementalMode() { any() } + + Location getASelectedSinkLocation(DataFlow::Node sink) { + exists(SuperlinearBackTracking::PolynomialBackTrackingTerm regexp | + regexp.getRootTerm() = sink.(PolynomialRedosSink).getRegExp() + | + result = sink.getLocation() + or + result = regexp.getLocation() + ) + } } module PolynomialRedosFlow = TaintTracking::Global; diff --git a/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/old.dbscheme b/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/old.dbscheme new file mode 100644 index 000000000000..38d02c063878 --- /dev/null +++ b/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/old.dbscheme @@ -0,0 +1,1232 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@@@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes_or_interfaces( + unique int id: @classorinterface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @classorinterface ref +); + +file_class( + int id: @classorinterface ref +); + +class_object( + unique int id: @classorinterface ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @classorinterface ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isInterface( + unique int id: @classorinterface ref +); + +isRecord( + unique int id: @classorinterface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @classorinterface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @classorinterface ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @classorinterface ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +isCanonicalConstr( + int constructorid: @constructor ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @classorinterface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +| 89 = @recordpatternexpr +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +isNullDefaultCase( + int id: @case ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @classorinterface | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF + // 3: ENUM_ENTRIES +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @classorinterface ref +) diff --git a/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/semmlecode.dbscheme b/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/semmlecode.dbscheme new file mode 100644 index 000000000000..1b8f5f4c747e --- /dev/null +++ b/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/semmlecode.dbscheme @@ -0,0 +1,1236 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The expanded arguments that were passed to the extractor for a + * compiler invocation. This is similar to `compilation_args`, but + * for a `@@@someFile` argument, it includes the arguments from that + * file, rather than just taking the argument literally. + */ +#keyset[id, num] +compilation_expanded_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +databaseMetadata( + string metadataKey : string ref, + string value : string ref +); + +overlayChangedFiles( + string path: string ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes_or_interfaces( + unique int id: @classorinterface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @classorinterface ref +); + +file_class( + int id: @classorinterface ref +); + +class_object( + unique int id: @classorinterface ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @classorinterface ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isInterface( + unique int id: @classorinterface ref +); + +isRecord( + unique int id: @classorinterface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @classorinterface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @classorinterface ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @classorinterface ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +isCanonicalConstr( + int constructorid: @constructor ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @classorinterface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +| 89 = @recordpatternexpr +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +isNullDefaultCase( + int id: @case ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @classorinterface | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF + // 3: ENUM_ENTRIES +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @classorinterface ref +) diff --git a/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/upgrade.properties b/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/upgrade.properties new file mode 100644 index 000000000000..3199458aa6b3 --- /dev/null +++ b/java/ql/lib/upgrades/38d02c063878000356a3e5db49d5a6a8f38efe24/upgrade.properties @@ -0,0 +1,2 @@ +description: Add overlayChangedFiles relation +compatibility: full diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index fe2be06be35d..50afa2ea9bfb 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.6.1 + +### Minor Analysis Improvements + +* Java analysis of guards has been switched to use the new and improved shared guards library. This improves precision of a number of queries, in particular `java/dereferenced-value-may-be-null`, which now has fewer false positives, and `java/useless-null-check` and `java/constant-comparison`, which gain additional true positives. + ## 1.6.0 ### Query Metadata Changes diff --git a/java/ql/src/Language Abuse/LabelInSwitch.md b/java/ql/src/Language Abuse/LabelInSwitch.md new file mode 100644 index 000000000000..e871e68abebf --- /dev/null +++ b/java/ql/src/Language Abuse/LabelInSwitch.md @@ -0,0 +1,33 @@ +## Overview + +Java allows to freely mix `case` labels and ordinary statement labels in the body of +a `switch` statement. However, this is confusing to read and may be the result of a typo. + +## Recommendation + +Examine the non-`case` labels to see whether they were meant to be `case` labels. If not, consider placing the non-`case` label headed code into a function, and use a function call inline in the `switch` body instead. + +## Example + +```java +public class Test { + void test_noncase_label_in_switch(int p) { + switch (p) { + case 1: // Compliant + case2: // Non-compliant, likely a typo + break; + case 3: + notcaselabel: // Non-compliant, confusing to read + for (;;) { + break notcaselabel; + } + } + } +} +``` + +In the example, `case2` is most likely a typo and should be fixed. For the intentional `notcaselabel`, placing the labelled code into a function and then calling that function is more readable. + +## References + +CodeQL query help for JavaScript and TypeScript - [Non-case label in switch statement](https://codeql.github.com/codeql-query-help/javascript/js-label-in-switch/). diff --git a/java/ql/src/Language Abuse/LabelInSwitch.ql b/java/ql/src/Language Abuse/LabelInSwitch.ql new file mode 100644 index 000000000000..56245df80331 --- /dev/null +++ b/java/ql/src/Language Abuse/LabelInSwitch.ql @@ -0,0 +1,25 @@ +/** + * @id java/label-in-switch + * @name Non-case label in switch statement + * @description A non-case label appearing in a switch statement + * is confusing to read or may even indicate a bug. + * @previous-id java/label-in-case + * @kind problem + * @precision very-high + * @problem.severity recommendation + * @tags quality + * maintainability + * readability + */ + +import java + +from LabeledStmt l, SwitchStmt s, string alert +where + l = s.getAStmt+() and + if exists(JumpStmt jump | jump.getTargetLabel() = l) + then alert = "Confusing non-case label in switch statement." + else + alert = + "Possibly erroneous non-case label in switch statement. The case keyword might be missing." +select l, alert diff --git a/java/ql/src/Language Abuse/TypeVariableHidesType.ql b/java/ql/src/Language Abuse/TypeVariableHidesType.ql index 81da0e9703e6..42d0a7bea2bf 100644 --- a/java/ql/src/Language Abuse/TypeVariableHidesType.ql +++ b/java/ql/src/Language Abuse/TypeVariableHidesType.ql @@ -6,10 +6,10 @@ * @problem.severity warning * @precision medium * @id java/type-variable-hides-type - * @tags reliability + * @tags quality + * maintainability * readability * types - * quality */ import java diff --git a/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql b/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql index ecd83e39719b..845aae01a3e8 100644 --- a/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql +++ b/java/ql/src/Likely Bugs/Collections/ArrayIndexOutOfBounds.ql @@ -18,6 +18,15 @@ import semmle.code.java.dataflow.SSA import semmle.code.java.dataflow.RangeUtils import semmle.code.java.dataflow.RangeAnalysis +pragma[nomagic] +predicate ssaArrayLengthBound(SsaVariable arr, Bound b) { + exists(FieldAccess len | + len.getField() instanceof ArrayLengthField and + len.getQualifier() = arr.getAUse() and + b.getExpr() = len + ) +} + /** * Holds if the index expression of `aa` is less than or equal to the array length plus `k`. */ @@ -27,12 +36,8 @@ predicate boundedArrayAccess(ArrayAccess aa, int k) { aa.getArray() = arr.getAUse() and bounded(index, b, delta, true, _) | - exists(FieldAccess len | - len.getField() instanceof ArrayLengthField and - len.getQualifier() = arr.getAUse() and - b.getExpr() = len and - k = delta - ) + ssaArrayLengthBound(arr, b) and + k = delta or exists(ArrayCreationExpr arraycreation | arraycreation = getArrayDef(arr) | k = delta and diff --git a/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql b/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql index d1a398d1322c..497aa10cb4de 100644 --- a/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql +++ b/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql @@ -103,8 +103,8 @@ class MismatchedContainerAccess extends MethodCall { | this.getCallee() .getDeclaringType() - .getASourceSupertype*() .getSourceDeclaration() + .getASourceSupertype*() .hasQualifiedName(package, type) and this.getCallee().getParameter(i).getType() instanceof TypeObject ) @@ -119,7 +119,7 @@ class MismatchedContainerAccess extends MethodCall { containerAccess(package, type, p, this.getCallee().getSignature(), i) | t = this.getCallee().getDeclaringType() and - t.getASourceSupertype*().getSourceDeclaration() = g and + t.getSourceDeclaration().getASourceSupertype*() = g and g.hasQualifiedName(package, type) and indirectlyInstantiates(t, g, p, result) ) diff --git a/java/ql/src/Likely Bugs/Concurrency/ScheduledThreadPoolExecutorZeroThread.md b/java/ql/src/Likely Bugs/Concurrency/ScheduledThreadPoolExecutorZeroThread.md index 424407f5cc64..056f51386d0a 100644 --- a/java/ql/src/Likely Bugs/Concurrency/ScheduledThreadPoolExecutorZeroThread.md +++ b/java/ql/src/Likely Bugs/Concurrency/ScheduledThreadPoolExecutorZeroThread.md @@ -1,6 +1,6 @@ ## Overview -According to the Java documentation on `ScheduledThreadPoolExecutor`, it is not a good idea to set `corePoolSize` to zero, since doing so indicates the executor to keep 0 threads in its pool and the executor will serve no purpose. +According to the Java documentation on `ScheduledThreadPoolExecutor`, it is not a good idea to set `corePoolSize` to zero, since doing so instructs the executor to keep 0 threads in its pool and the executor will serve no purpose. ## Recommendation diff --git a/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql b/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql index eb5c2d380c65..b9a0229b60ff 100644 --- a/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql +++ b/java/ql/src/Likely Bugs/Statements/PartiallyMaskedCatch.ql @@ -15,14 +15,34 @@ import java +pragma[nomagic] +predicate mayThrow(Stmt s, RefType rt) { + s.(ThrowStmt).getExpr().getType() = rt + or + exists(Call call | + call.getEnclosingStmt() = s and + call.getCallee().getAnException().getType() = rt + ) +} + +pragma[nomagic] +predicate caughtBy(TryStmt try, Stmt s, RefType rt) { + mayThrow(s, rt) and + s.getEnclosingStmt+() = try.getBlock() and + caughtType(try, _).hasSubtype*(rt) +} + +pragma[nomagic] +predicate nestedTry(TryStmt outer, TryStmt inner) { inner.getEnclosingStmt+() = outer.getBlock() } + /** * Exceptions of type `rt` thrown from within statement `s` are caught by an inner try block * and are therefore not propagated to the outer try block `t`. */ private predicate caughtInside(TryStmt t, Stmt s, RefType rt) { - exists(TryStmt innerTry | innerTry.getEnclosingStmt+() = t.getBlock() | - s.getEnclosingStmt+() = innerTry.getBlock() and - caughtType(innerTry, _).hasSubtype*(rt) + exists(TryStmt innerTry | + nestedTry(t, innerTry) and + caughtBy(innerTry, s, rt) ) } diff --git a/java/ql/src/Metrics/RefTypes/TInheritanceDepth.qhelp b/java/ql/src/Metrics/RefTypes/TInheritanceDepth.qhelp index 7d78490985bf..970b1c4e19e2 100644 --- a/java/ql/src/Metrics/RefTypes/TInheritanceDepth.qhelp +++ b/java/ql/src/Metrics/RefTypes/TInheritanceDepth.qhelp @@ -29,14 +29,13 @@ that something is amiss, but further investigation will be needed to clarify the cause of the problem. Here are two possibilities:

      -
        - -
      • -A class and its superclass represent fundamentally the same abstraction. +

        +1. A class and its superclass represent fundamentally the same abstraction. In this case, they should generally be merged together (see the 'Collapse Hierarchy' refactoring on pp.279-80 of [Fowler]). For example, suppose that in the following class hierarchy both A and C represent fundamentally the same thing, then they should be merged together as shown: +

        @@ -48,11 +47,9 @@ the same thing, then they should be merged together as shown:
        After
        -
      • -
      • -The class hierarchy is trying to represent variation in more than one +2. The class hierarchy is trying to represent variation in more than one dimension using single inheritance. This can lead to an unnecessarily deep class hierarchy with lots of code duplication. For example, consider the following: @@ -81,9 +78,6 @@ amount of code duplication that will be necessary. For readers who are interested in this sort of approach, a good reference is [West].

        -
      • - -
      diff --git a/java/ql/src/Metrics/RefTypes/TNumberOfCallables.qhelp b/java/ql/src/Metrics/RefTypes/TNumberOfCallables.qhelp index 49827592849d..4f9452789a89 100644 --- a/java/ql/src/Metrics/RefTypes/TNumberOfCallables.qhelp +++ b/java/ql/src/Metrics/RefTypes/TNumberOfCallables.qhelp @@ -49,21 +49,17 @@ need to be part of the class. (A classic example of this is the std::string class in the C++ Standard Library.) As [Sutter] observes, there are at least two key problems with this approach: -
        -
      • -It may be possible to generalize some of the utility methods beyond the + +1. It may be possible to generalize some of the utility methods beyond the narrow context of the class in question -- by bundling them with the class, the class author reduces the scope for functionality reuse. -
      • -
      • -It's usually impossible for the class author to know every possible +2. It's usually impossible for the class author to know every possible operation that the user might want to perform on the class, so the public interface will inherently be incomplete. New utility methods will end up having a different syntax to the privileged public methods in the class, negatively impacting on code consistency. -
      • -
      + To refactor a class like this, simply move its utility methods elsewhere, paring its public interface down to the bare minimum. diff --git a/java/ql/src/Metrics/RefTypes/TNumberOfFields.qhelp b/java/ql/src/Metrics/RefTypes/TNumberOfFields.qhelp index befc6409449e..2934ba958b52 100644 --- a/java/ql/src/Metrics/RefTypes/TNumberOfFields.qhelp +++ b/java/ql/src/Metrics/RefTypes/TNumberOfFields.qhelp @@ -25,11 +25,9 @@ If the class is too big, you should split it into multiple smaller classes.
    10. -

      If several of the fields are part of the same abstraction, you should group them into a separate class, using the 'Extract Class' refactoring described in [Fowler]. -

    11. diff --git a/java/ql/src/Metrics/RefTypes/TSizeOfAPI.qhelp b/java/ql/src/Metrics/RefTypes/TSizeOfAPI.qhelp index 3095d82049a6..eda183a287c2 100644 --- a/java/ql/src/Metrics/RefTypes/TSizeOfAPI.qhelp +++ b/java/ql/src/Metrics/RefTypes/TSizeOfAPI.qhelp @@ -46,21 +46,17 @@ need to be part of the class. (A classic example of this is the std::string class in the C++ Standard Library.) As [Sutter] observes, there are at least two key problems with this approach: -
        -
      • -It may be possible to generalize some of the utility methods beyond the + +1. It may be possible to generalize some of the utility methods beyond the narrow context of the class in question -- by bundling them with the class, the class author reduces the scope for functionality reuse. -
      • -
      • -It's usually impossible for the class author to know every possible +2. It's usually impossible for the class author to know every possible operation that the user might want to perform on the class, so the public interface will inherently be incomplete. New utility methods will end up having a different syntax to the privileged public methods in the class, negatively impacting on code consistency. -
      • -
      + To refactor a class like this, simply move its utility methods elsewhere, paring its public interface down to the bare minimum. diff --git a/java/ql/src/Security/CWE/CWE-113/NettyResponseSplitting.ql b/java/ql/src/Security/CWE/CWE-113/NettyResponseSplitting.ql index fb7a40052f0b..9257808dce49 100644 --- a/java/ql/src/Security/CWE/CWE-113/NettyResponseSplitting.ql +++ b/java/ql/src/Security/CWE/CWE-113/NettyResponseSplitting.ql @@ -16,6 +16,7 @@ import java import semmle.code.java.dataflow.FlowSources +overlay[local?] abstract private class InsecureNettyObjectCreation extends ClassInstanceExpr { int vulnerableArgumentIndex; @@ -27,6 +28,7 @@ abstract private class InsecureNettyObjectCreation extends ClassInstanceExpr { abstract string splittingType(); } +overlay[local?] abstract private class RequestOrResponseSplittingInsecureNettyObjectCreation extends InsecureNettyObjectCreation { override string splittingType() { result = "Request splitting or response splitting" } @@ -35,6 +37,7 @@ abstract private class RequestOrResponseSplittingInsecureNettyObjectCreation ext /** * Request splitting can allowing an attacker to inject/smuggle an additional HTTP request into the socket connection. */ +overlay[local?] abstract private class RequestSplittingInsecureNettyObjectCreation extends InsecureNettyObjectCreation { override string splittingType() { result = "Request splitting" } @@ -43,11 +46,13 @@ abstract private class RequestSplittingInsecureNettyObjectCreation extends Insec /** * Response splitting can lead to HTTP vulnerabilities like XSS and cache poisoning. */ +overlay[local?] abstract private class ResponseSplittingInsecureNettyObjectCreation extends InsecureNettyObjectCreation { override string splittingType() { result = "Response splitting" } } +overlay[local?] private class InsecureDefaultHttpHeadersClassInstantiation extends RequestOrResponseSplittingInsecureNettyObjectCreation { InsecureDefaultHttpHeadersClassInstantiation() { @@ -58,6 +63,7 @@ private class InsecureDefaultHttpHeadersClassInstantiation extends RequestOrResp } } +overlay[local?] private class InsecureDefaultHttpResponseClassInstantiation extends ResponseSplittingInsecureNettyObjectCreation { InsecureDefaultHttpResponseClassInstantiation() { @@ -66,6 +72,7 @@ private class InsecureDefaultHttpResponseClassInstantiation extends ResponseSpli } } +overlay[local?] private class InsecureDefaultHttpRequestClassInstantiation extends RequestSplittingInsecureNettyObjectCreation { InsecureDefaultHttpRequestClassInstantiation() { @@ -74,6 +81,7 @@ private class InsecureDefaultHttpRequestClassInstantiation extends RequestSplitt } } +overlay[local?] private class InsecureDefaultFullHttpResponseClassInstantiation extends ResponseSplittingInsecureNettyObjectCreation { InsecureDefaultFullHttpResponseClassInstantiation() { @@ -83,6 +91,7 @@ private class InsecureDefaultFullHttpResponseClassInstantiation extends Response } } +overlay[local?] private class InsecureDefaultFullHttpRequestClassInstantiation extends RequestSplittingInsecureNettyObjectCreation { InsecureDefaultFullHttpRequestClassInstantiation() { diff --git a/java/ql/src/Security/CWE/CWE-200/AndroidWebViewSettingsAllowsContentAccess.ql b/java/ql/src/Security/CWE/CWE-200/AndroidWebViewSettingsAllowsContentAccess.ql index bd5cc2a5b76f..45767185dfd2 100644 --- a/java/ql/src/Security/CWE/CWE-200/AndroidWebViewSettingsAllowsContentAccess.ql +++ b/java/ql/src/Security/CWE/CWE-200/AndroidWebViewSettingsAllowsContentAccess.ql @@ -97,6 +97,10 @@ module WebViewDisallowContentAccessConfig implements DataFlow::StateConfigSig { state instanceof IsSettings and node instanceof WebSettingsDisallowContentAccessSink } + + predicate observeDiffInformedIncrementalMode() { + none() // only used negatively + } } module WebViewDisallowContentAccessFlow = diff --git a/java/ql/src/Security/CWE/CWE-352/CsrfUnprotectedRequestType.ql b/java/ql/src/Security/CWE/CWE-352/CsrfUnprotectedRequestType.ql index e338cb84c005..cf5c0b385ccf 100644 --- a/java/ql/src/Security/CWE/CWE-352/CsrfUnprotectedRequestType.ql +++ b/java/ql/src/Security/CWE/CWE-352/CsrfUnprotectedRequestType.ql @@ -15,7 +15,7 @@ import java import semmle.code.java.security.CsrfUnprotectedRequestTypeQuery -query predicate edges(CallPathNode pred, CallPathNode succ) { CallGraph::edges(pred, succ) } +query predicate edges(CallPathNode pred, CallPathNode succ) { relevantEdge(pred, succ) } from CallPathNode source, CallPathNode sink where unprotectedStateChange(source, sink) diff --git a/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp b/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp index 087a873dfc77..bf7205d535ff 100644 --- a/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp +++ b/java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.qhelp @@ -64,8 +64,8 @@ Recommendations specific to particular frameworks supported by this query:

      SnakeYAML - org.yaml:snakeyaml

        -
      • Secure by Default: No
      • -
      • Recommendation: Pass an instance of org.yaml.snakeyaml.constructor.SafeConstructor to org.yaml.snakeyaml.Yaml's constructor before using it to deserialize untrusted data.
      • +
      • Secure by Default: As of version 2.0.
      • +
      • Recommendation: For versions before 2.0, pass an instance of org.yaml.snakeyaml.constructor.SafeConstructor to org.yaml.snakeyaml.Yaml's constructor before using it to deserialize untrusted data.

      XML Decoder - Standard Java Library

      @@ -121,7 +121,7 @@ Alvaro Muñoz & Christian Schneider, RSAConference 2016:
    12. SnakeYaml documentation on deserialization: -SnakeYaml deserialization. +SnakeYaml deserialization (not updated for new behaviour in version 2.0).
    13. Hessian deserialization and related gadget chains: diff --git a/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.md b/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.md new file mode 100644 index 000000000000..5666971b331d --- /dev/null +++ b/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.md @@ -0,0 +1,54 @@ +## Overview + +Record types were introduced in Java 16 as a mechanism to provide simpler data handling as an alternative to regular classes. However, record classes behave slightly differently during serialization. Namely any `writeObject`, `readObject`, `readObjectNoData`, `writeExternal`, and `readExternal` methods and `serialPersistentFields` fields declared in these classes cannot be used to affect the serialization process of any `Record` data type. + +## Recommendation + +Some level of serialization customization is offered by the Java 16 Record feature. The `writeReplace` and `readResolve` methods in a record that implements `java.io.Serializable` can be used to replace the object to be serialized. Otherwise, no further customization of serialization of records is possible, and it is better to consider using a regular class implementing `java.io.Serializable` or `java.io.Externalizable` when customization is needed. + +## Example + +```java +record T1() implements Serializable { + + @Serial + private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0]; // NON_COMPLIANT + + @Serial + private void writeObject(ObjectOutputStream out) throws IOException {} // NON_COMPLIANT + + @Serial + private void readObject(ObjectOutputStream out) throws IOException {}// NON_COMPLIANT + + @Serial + private void readObjectNoData(ObjectOutputStream out) throws IOException { // NON_COMPLIANT + } +} + +record T2() implements Externalizable { + + @Override + public void writeExternal(ObjectOutput out) throws IOException { // NON_COMPLIANT + } + + @Override + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { // NON_COMPLIANT + } +} + +record T3() implements Serializable { + + public Object writeReplace(ObjectOutput out) throws ObjectStreamException { // COMPLIANT + return new Object(); + } + + public Object readResolve(ObjectInput in) throws ObjectStreamException { // COMPLIANT + return new Object(); + } +} +``` + +## References + +- Oracle Serialization Documentation: [Serialization of Records](https://docs.oracle.com/en/java/javase/16/docs/specs/serialization/serial-arch.html#serialization-of-records) +- Java Record: [Feature Specification](https://openjdk.org/jeps/395) diff --git a/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.ql b/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.ql new file mode 100644 index 000000000000..627f4cc669bb --- /dev/null +++ b/java/ql/src/Violations of Best Practice/Records/IgnoredSerializationMembersOfRecordClass.ql @@ -0,0 +1,24 @@ +/** + * @id java/ignored-serialization-member-of-record-class + * @name Ignored serialization member of record class + * @description Using certain members of a record class during serialization will result in + * those members being ignored. + * @previous-id java/useless-members-of-the-records-class + * @kind problem + * @precision very-high + * @problem.severity warning + * @tags quality + * reliability + * correctness + */ + +import java + +from Record record, Member m +where + record.getAMember() = m and + m.hasName([ + "writeObject", "readObject", "readObjectNoData", "writeExternal", "readExternal", + "serialPersistentFields" + ]) +select m, "Ignored serialization member found in record class $@.", record, record.getName() diff --git a/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.md b/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.md new file mode 100644 index 000000000000..827cf8a59f77 --- /dev/null +++ b/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.md @@ -0,0 +1,111 @@ +## Overview + +This query detects non-explicit control and whitespace characters in Java literals. +Such characters are often introduced accidentally and can be invisible or hard to recognize, leading to bugs when the actual contents of the string contain control characters. + +## Recommendation + +To avoid issues, use the encoded versions of control characters (e.g. ASCII `\n`, `\t`, or Unicode `U+000D`, `U+0009`). +This makes the literals (e.g. string literals) more readable, and also helps to make the surrounding code less error-prone and more maintainable. + +## Example + +The following examples illustrate good and bad code: + +Bad: + +```java +char tabulationChar = ' '; // Non compliant +String tabulationCharInsideString = "A B"; // Non compliant +String fooZeroWidthSpacebar = "foo​bar"; // Non compliant +``` + +Good: + +```java +char escapedTabulationChar = '\t'; +String escapedTabulationCharInsideString = "A\tB"; // Compliant +String fooUnicodeSpacebar = "foo\u0020bar"; // Compliant +String foo2Spacebar = "foo bar"; // Compliant +String foo3Spacebar = "foo bar"; // Compliant +``` + +## Implementation notes + +This query detects Java literals that contain reserved control characters and/or non-printable whitespace characters, such as: + +- Decimal and hexidecimal representations of ASCII control characters (code points 0-8, 11, 14-31, and 127). +- Invisible characters (e.g. zero-width space, zero-width joiner). +- Unicode C0 control codes, plus the delete character (U+007F), such as: + + | Escaped Unicode | ASCII Decimal | Description | + | --------------- | ------------- | ------------------------- | + | `\u0000` | 0 | null character | + | `\u0001` | 1 | start of heading | + | `\u0002` | 2 | start of text | + | `\u0003` | 3 | end of text | + | `\u0004` | 4 | end of transmission | + | `\u0005` | 5 | enquiry | + | `\u0006` | 6 | acknowledge | + | `\u0007` | 7 | bell | + | `\u0008` | 8 | backspace | + | `\u000B` | 11 | vertical tab | + | `\u000E` | 14 | shift out | + | `\u000F` | 15 | shift in | + | `\u0010` | 16 | data link escape | + | `\u0011` | 17 | device control 1 | + | `\u0012` | 18 | device control 2 | + | `\u0013` | 19 | device control 3 | + | `\u0014` | 20 | device control 4 | + | `\u0015` | 21 | negative acknowledge | + | `\u0016` | 22 | synchronous idle | + | `\u0017` | 23 | end of transmission block | + | `\u0018` | 24 | cancel | + | `\u0019` | 25 | end of medium | + | `\u001A` | 26 | substitute | + | `\u001B` | 27 | escape | + | `\u001C` | 28 | file separator | + | `\u001D` | 29 | group separator | + | `\u001E` | 30 | record separator | + | `\u001F` | 31 | unit separator | + | `\u007F` | 127 | delete | + +- Zero-width Unicode characters (e.g. zero-width space, zero-width joiner), such as: + + | Escaped Unicode | Description | + | --------------- | ------------------------- | + | `\u200B` | zero-width space | + | `\u200C` | zero-width non-joiner | + | `\u200D` | zero-width joiner | + | `\u2028` | line separator | + | `\u2029` | paragraph separator | + | `\u2060` | word joiner | + | `\uFEFF` | zero-width no-break space | + +The following list outlines the _**explicit exclusions from query scope**_: + +- any number of simple space characters (`U+0020`, ASCII 32). +- an escape character sequence (e.g. `\t`), or the Unicode equivalent (e.g. `\u0009`), for printable whitespace characters: + + | Character Sequence | Escaped Unicode | ASCII Decimal | Description | + | ------------------ | --------------- | ------------- | --------------- | + | `\t` | \u0009 | 9 | horizontal tab | + | `\n` | \u000A | 10 | line feed | + | `\f` | \u000C | 12 | form feed | + | `\r` | \u000D | 13 | carriage return | + | | \u0020 | 32 | space | + +- character literals (i.e. single quotes) containing control characters. +- literals defined within "likely" test methods, such as: + - JUnit test methods + - methods annotated with `@Test` + - methods of a class annotated with `@Test` + - methods with names containing "test" + +## References + +- Unicode: [Unicode Control Characters](https://www.unicode.org/charts/PDF/U0000.pdf). +- Wikipedia: [Unicode C0 control codes](https://en.wikipedia.org/wiki/C0_and_C1_control_codes). +- Wikipedia: [Unicode characters with property "WSpace=yes" or "White_Space=yes"](https://en.wikipedia.org/wiki/Unicode_character_property#Whitespace). +- Java API Specification: [Java String Literals](https://docs.oracle.com/javase/tutorial/java/data/characters.html). +- Java API Specification: [Java Class Charset](https://docs.oracle.com/javase/8/docs/api///?java/nio/charset/Charset.html). diff --git a/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.ql b/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.ql new file mode 100644 index 000000000000..81485f9cd941 --- /dev/null +++ b/java/ql/src/Violations of Best Practice/SpecialCharactersInLiterals/NonExplicitControlAndWhitespaceCharsInLiterals.ql @@ -0,0 +1,55 @@ +/** + * @id java/non-explicit-control-and-whitespace-chars-in-literals + * @name Non-explicit control and whitespace characters + * @description Non-explicit control and whitespace characters in literals make code more difficult + * to read and may lead to incorrect program behavior. + * @kind problem + * @precision very-high + * @problem.severity warning + * @tags quality + * correctness + * maintainability + * readability + */ + +import java + +/** + * A `Literal` that has a Unicode control character within its + * literal value (as returned by `getLiteral()` member predicate). + */ +class ReservedUnicodeInLiteral extends Literal { + private int indexStart; + + ReservedUnicodeInLiteral() { + not this instanceof CharacterLiteral and + this.getCompilationUnit().fromSource() and + exists(int codePoint | + this.getLiteral().codePointAt(indexStart) = codePoint and + ( + // Unicode C0 control characters + codePoint < 32 and not codePoint in [9, 10, 12, 13] + or + codePoint = 127 // delete control character + or + codePoint = 8203 // zero-width space + ) + ) + } + + /** Gets the starting index of the Unicode control sequence. */ + int getIndexStart() { result = indexStart } +} + +from ReservedUnicodeInLiteral literal, int charIndex, int codePoint +where + literal.getIndexStart() = charIndex and + literal.getLiteral().codePointAt(charIndex) = codePoint and + not literal.getEnclosingCallable() instanceof LikelyTestMethod and + // Kotlin extraction doesn't preserve the literal value so we can't distinguish + // between control characters and their escaped versions, so we exclude Kotlin + // to avoid false positives. + not literal.getFile().isKotlinSourceFile() +select literal, + "Literal value contains control or non-printable whitespace character(s) starting with Unicode code point " + + codePoint + " at index " + charIndex + "." diff --git a/java/ql/src/change-notes/2025-06-17-improved-guards.md b/java/ql/src/change-notes/2025-06-17-improved-guards.md deleted file mode 100644 index b49710460f1f..000000000000 --- a/java/ql/src/change-notes/2025-06-17-improved-guards.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Java analysis of guards has been switched to use the new and improved shared guards library. This improves precision of a number of queries, in particular `java/dereferenced-value-may-be-null`, which now has fewer false positives, and `java/useless-null-check` and `java/constant-comparison`, which gain additional true positives. diff --git a/java/ql/src/change-notes/released/1.6.1.md b/java/ql/src/change-notes/released/1.6.1.md new file mode 100644 index 000000000000..0add62e535b6 --- /dev/null +++ b/java/ql/src/change-notes/released/1.6.1.md @@ -0,0 +1,5 @@ +## 1.6.1 + +### Minor Analysis Improvements + +* Java analysis of guards has been switched to use the new and improved shared guards library. This improves precision of a number of queries, in particular `java/dereferenced-value-may-be-null`, which now has fewer false positives, and `java/useless-null-check` and `java/constant-comparison`, which gain additional true positives. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index c4f0b07d5336..ef7a789e0cf1 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.0 +lastReleaseVersion: 1.6.1 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index aaeb2c86ac1f..5e5e73ab721a 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.6.1-dev +version: 1.6.1 groups: - java - queries diff --git a/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStmts.expected b/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStmts.expected index 8fe0abd91c0e..116bde45f980 100644 --- a/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStmts.expected +++ b/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStmts.expected @@ -1,8 +1,12 @@ +| Test.kt:3:8:80:1 | Exceptional Exit | 0 | Test.kt:3:8:80:1 | Exceptional Exit | +| Test.kt:3:8:80:1 | Exit | 0 | Test.kt:3:8:80:1 | Exit | | Test.kt:3:8:80:1 | { ... } | 0 | Test.kt:3:8:80:1 | { ... } | | Test.kt:3:8:80:1 | { ... } | 1 | Test.kt:3:1:80:1 | super(...) | | Test.kt:3:8:80:1 | { ... } | 2 | Test.kt:3:8:80:1 | { ... } | -| Test.kt:3:8:80:1 | { ... } | 3 | Test.kt:3:8:80:1 | Exit | +| Test.kt:3:8:80:1 | { ... } | 3 | Test.kt:3:8:80:1 | Normal Exit | +| Test.kt:4:2:79:2 | Exceptional Exit | 0 | Test.kt:4:2:79:2 | Exceptional Exit | | Test.kt:4:2:79:2 | Exit | 0 | Test.kt:4:2:79:2 | Exit | +| Test.kt:4:2:79:2 | Normal Exit | 0 | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:4:13:79:2 | { ... } | 0 | Test.kt:4:13:79:2 | { ... } | | Test.kt:4:13:79:2 | { ... } | 1 | Test.kt:5:7:5:7 | var ...; | | Test.kt:4:13:79:2 | { ... } | 2 | Test.kt:5:16:5:16 | 0 | @@ -102,7 +106,9 @@ | Test.kt:43:3:43:3 | ; | 8 | Test.kt:77:3:77:8 | ...=... | | Test.kt:43:3:43:3 | ; | 9 | Test.kt:78:3:78:8 | INSTANCE | | Test.kt:43:3:43:3 | ; | 10 | Test.kt:78:3:78:8 | return ... | +| Test.kt:82:1:89:1 | Exceptional Exit | 0 | Test.kt:82:1:89:1 | Exceptional Exit | | Test.kt:82:1:89:1 | Exit | 0 | Test.kt:82:1:89:1 | Exit | +| Test.kt:82:1:89:1 | Normal Exit | 0 | Test.kt:82:1:89:1 | Normal Exit | | Test.kt:82:21:89:1 | { ... } | 0 | Test.kt:82:21:89:1 | { ... } | | Test.kt:82:21:89:1 | { ... } | 1 | Test.kt:83:2:88:2 | try ... | | Test.kt:82:21:89:1 | { ... } | 2 | Test.kt:83:6:86:2 | { ... } | @@ -117,7 +123,9 @@ | Test.kt:86:4:88:2 | catch (...) | 2 | Test.kt:86:34:88:2 | { ... } | | Test.kt:86:4:88:2 | catch (...) | 3 | Test.kt:87:10:87:10 | 2 | | Test.kt:86:4:88:2 | catch (...) | 4 | Test.kt:87:3:87:10 | return ... | +| Test.kt:91:1:98:1 | Exceptional Exit | 0 | Test.kt:91:1:98:1 | Exceptional Exit | | Test.kt:91:1:98:1 | Exit | 0 | Test.kt:91:1:98:1 | Exit | +| Test.kt:91:1:98:1 | Normal Exit | 0 | Test.kt:91:1:98:1 | Normal Exit | | Test.kt:91:22:98:1 | { ... } | 0 | Test.kt:91:22:98:1 | { ... } | | Test.kt:91:22:98:1 | { ... } | 1 | Test.kt:92:2:97:2 | try ... | | Test.kt:91:22:98:1 | { ... } | 2 | Test.kt:92:6:95:2 | { ... } | @@ -133,6 +141,7 @@ | Test.kt:95:4:97:2 | catch (...) | 3 | Test.kt:96:10:96:10 | 2 | | Test.kt:95:4:97:2 | catch (...) | 4 | Test.kt:96:3:96:10 | return ... | | Test.kt:100:1:110:1 | Exit | 0 | Test.kt:100:1:110:1 | Exit | +| Test.kt:100:1:110:1 | Normal Exit | 0 | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:100:25:110:1 | { ... } | 0 | Test.kt:100:25:110:1 | { ... } | | Test.kt:100:25:110:1 | { ... } | 1 | Test.kt:101:5:103:5 | ; | | Test.kt:100:25:110:1 | { ... } | 2 | Test.kt:101:5:103:5 | when ... | @@ -147,6 +156,7 @@ | Test.kt:101:33:103:5 | { ... } | 0 | Test.kt:101:33:103:5 | { ... } | | Test.kt:101:33:103:5 | { ... } | 1 | Test.kt:102:15:102:25 | new Exception(...) | | Test.kt:101:33:103:5 | { ... } | 2 | Test.kt:102:9:102:25 | throw ... | +| Test.kt:101:33:103:5 | { ... } | 3 | Test.kt:100:1:110:1 | Exceptional Exit | | Test.kt:105:5:109:5 | ; | 0 | Test.kt:105:5:109:5 | ; | | Test.kt:105:5:109:5 | ; | 1 | Test.kt:105:5:109:5 | when ... | | Test.kt:105:5:109:5 | ; | 2 | Test.kt:105:9:107:5 | ... -> ... | @@ -165,7 +175,9 @@ | Test.kt:107:27:109:5 | { ... } | 1 | Test.kt:108:9:108:29 | ; | | Test.kt:107:27:109:5 | { ... } | 2 | Test.kt:108:17:108:28 | "y not null" | | Test.kt:107:27:109:5 | { ... } | 3 | Test.kt:108:9:108:29 | println(...) | +| Test.kt:112:1:116:1 | Exceptional Exit | 0 | Test.kt:112:1:116:1 | Exceptional Exit | | Test.kt:112:1:116:1 | Exit | 0 | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:1:116:1 | Normal Exit | 0 | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:112:32:116:1 | { ... } | 0 | Test.kt:112:32:116:1 | { ... } | | Test.kt:112:32:116:1 | { ... } | 1 | Test.kt:113:5:115:5 | ; | | Test.kt:112:32:116:1 | { ... } | 2 | Test.kt:113:5:115:5 | when ... | @@ -174,7 +186,9 @@ | Test.kt:112:32:116:1 | { ... } | 5 | Test.kt:113:9:113:9 | x | | Test.kt:113:14:113:14 | y | 0 | Test.kt:113:14:113:14 | y | | Test.kt:113:17:115:5 | { ... } | 0 | Test.kt:113:17:115:5 | { ... } | +| Test.kt:118:1:124:1 | Exceptional Exit | 0 | Test.kt:118:1:124:1 | Exceptional Exit | | Test.kt:118:1:124:1 | Exit | 0 | Test.kt:118:1:124:1 | Exit | +| Test.kt:118:1:124:1 | Normal Exit | 0 | Test.kt:118:1:124:1 | Normal Exit | | Test.kt:118:37:124:1 | { ... } | 0 | Test.kt:118:37:124:1 | { ... } | | Test.kt:118:37:124:1 | { ... } | 1 | Test.kt:119:2:123:12 | ; | | Test.kt:118:37:124:1 | { ... } | 2 | Test.kt:119:2:123:12 | when ... | diff --git a/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStrictDominance.expected b/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStrictDominance.expected index fa358b39a35e..6d0cb2bab712 100644 --- a/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStrictDominance.expected +++ b/java/ql/test-kotlin1/library-tests/controlflow/basic/bbStrictDominance.expected @@ -1,4 +1,7 @@ +| Test.kt:3:8:80:1 | { ... } | Test.kt:3:8:80:1 | Exit | +| Test.kt:4:2:79:2 | Normal Exit | Test.kt:4:2:79:2 | Exit | | Test.kt:4:13:79:2 | { ... } | Test.kt:4:2:79:2 | Exit | +| Test.kt:4:13:79:2 | { ... } | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:4:13:79:2 | { ... } | Test.kt:11:3:16:3 | ... -> ... | | Test.kt:4:13:79:2 | { ... } | Test.kt:11:14:14:3 | { ... } | | Test.kt:4:13:79:2 | { ... } | Test.kt:18:3:18:3 | ; | @@ -10,6 +13,7 @@ | Test.kt:4:13:79:2 | { ... } | Test.kt:38:16:41:3 | { ... } | | Test.kt:4:13:79:2 | { ... } | Test.kt:43:3:43:3 | ; | | Test.kt:18:3:18:3 | ; | Test.kt:4:2:79:2 | Exit | +| Test.kt:18:3:18:3 | ; | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:18:3:18:3 | ; | Test.kt:21:3:24:9 | ... -> ... | | Test.kt:18:3:18:3 | ; | Test.kt:22:4:22:4 | ; | | Test.kt:18:3:18:3 | ; | Test.kt:30:15:33:3 | { ... } | @@ -27,13 +31,18 @@ | Test.kt:35:3:35:3 | ; | Test.kt:43:3:43:3 | ; | | Test.kt:38:9:38:9 | x | Test.kt:38:16:41:3 | { ... } | | Test.kt:38:9:38:9 | x | Test.kt:43:3:43:3 | ; | +| Test.kt:82:1:89:1 | Normal Exit | Test.kt:82:1:89:1 | Exit | | Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Exit | +| Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Normal Exit | | Test.kt:82:21:89:1 | { ... } | Test.kt:84:7:84:7 | x | | Test.kt:82:21:89:1 | { ... } | Test.kt:86:4:88:2 | catch (...) | +| Test.kt:91:1:98:1 | Normal Exit | Test.kt:91:1:98:1 | Exit | | Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Exit | +| Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Normal Exit | | Test.kt:91:22:98:1 | { ... } | Test.kt:93:7:93:7 | x | | Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) | | Test.kt:100:25:110:1 | { ... } | Test.kt:100:1:110:1 | Exit | +| Test.kt:100:25:110:1 | { ... } | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:22 | y | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | ; | @@ -41,15 +50,20 @@ | Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } | | Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } | +| Test.kt:105:5:109:5 | ; | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:105:5:109:5 | ; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | ; | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:105:5:109:5 | ; | Test.kt:107:27:109:5 | { ... } | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | +| Test.kt:112:1:116:1 | Normal Exit | Test.kt:112:1:116:1 | Exit | | Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } | | Test.kt:113:14:113:14 | y | Test.kt:113:17:115:5 | { ... } | +| Test.kt:118:1:124:1 | Normal Exit | Test.kt:118:1:124:1 | Exit | | Test.kt:118:37:124:1 | { ... } | Test.kt:118:1:124:1 | Exit | +| Test.kt:118:37:124:1 | { ... } | Test.kt:118:1:124:1 | Normal Exit | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | ; | | Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... | | Test.kt:118:37:124:1 | { ... } | Test.kt:123:8:123:10 | { ... } | diff --git a/java/ql/test-kotlin1/library-tests/controlflow/basic/bbSuccessor.expected b/java/ql/test-kotlin1/library-tests/controlflow/basic/bbSuccessor.expected index 3768db75d7e8..cf5da7c83b77 100644 --- a/java/ql/test-kotlin1/library-tests/controlflow/basic/bbSuccessor.expected +++ b/java/ql/test-kotlin1/library-tests/controlflow/basic/bbSuccessor.expected @@ -1,10 +1,14 @@ +| Test.kt:3:8:80:1 | Exceptional Exit | Test.kt:3:8:80:1 | Exit | +| Test.kt:3:8:80:1 | { ... } | Test.kt:3:8:80:1 | Exit | +| Test.kt:4:2:79:2 | Exceptional Exit | Test.kt:4:2:79:2 | Exit | +| Test.kt:4:2:79:2 | Normal Exit | Test.kt:4:2:79:2 | Exit | | Test.kt:4:13:79:2 | { ... } | Test.kt:11:3:16:3 | ... -> ... | | Test.kt:4:13:79:2 | { ... } | Test.kt:11:14:14:3 | { ... } | | Test.kt:11:3:16:3 | ... -> ... | Test.kt:18:3:18:3 | ; | | Test.kt:11:14:14:3 | { ... } | Test.kt:18:3:18:3 | ; | | Test.kt:18:3:18:3 | ; | Test.kt:21:3:24:9 | ... -> ... | | Test.kt:18:3:18:3 | ; | Test.kt:22:4:22:4 | ; | -| Test.kt:21:3:24:9 | ... -> ... | Test.kt:4:2:79:2 | Exit | +| Test.kt:21:3:24:9 | ... -> ... | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:22:4:22:4 | ; | Test.kt:30:15:33:3 | { ... } | | Test.kt:22:4:22:4 | ; | Test.kt:35:3:35:3 | ; | | Test.kt:30:15:33:3 | { ... } | Test.kt:35:3:35:3 | ; | @@ -12,15 +16,20 @@ | Test.kt:38:9:38:9 | x | Test.kt:38:16:41:3 | { ... } | | Test.kt:38:9:38:9 | x | Test.kt:43:3:43:3 | ; | | Test.kt:38:16:41:3 | { ... } | Test.kt:38:9:38:9 | x | -| Test.kt:43:3:43:3 | ; | Test.kt:4:2:79:2 | Exit | +| Test.kt:43:3:43:3 | ; | Test.kt:4:2:79:2 | Normal Exit | +| Test.kt:82:1:89:1 | Exceptional Exit | Test.kt:82:1:89:1 | Exit | +| Test.kt:82:1:89:1 | Normal Exit | Test.kt:82:1:89:1 | Exit | | Test.kt:82:21:89:1 | { ... } | Test.kt:84:7:84:7 | x | | Test.kt:82:21:89:1 | { ... } | Test.kt:86:4:88:2 | catch (...) | -| Test.kt:84:7:84:7 | x | Test.kt:82:1:89:1 | Exit | -| Test.kt:86:4:88:2 | catch (...) | Test.kt:82:1:89:1 | Exit | +| Test.kt:84:7:84:7 | x | Test.kt:82:1:89:1 | Normal Exit | +| Test.kt:86:4:88:2 | catch (...) | Test.kt:82:1:89:1 | Normal Exit | +| Test.kt:91:1:98:1 | Exceptional Exit | Test.kt:91:1:98:1 | Exit | +| Test.kt:91:1:98:1 | Normal Exit | Test.kt:91:1:98:1 | Exit | | Test.kt:91:22:98:1 | { ... } | Test.kt:93:7:93:7 | x | | Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) | -| Test.kt:93:7:93:7 | x | Test.kt:91:1:98:1 | Exit | -| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | Exit | +| Test.kt:93:7:93:7 | x | Test.kt:91:1:98:1 | Normal Exit | +| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | Normal Exit | +| Test.kt:100:1:110:1 | Normal Exit | Test.kt:100:1:110:1 | Exit | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:22 | y | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | ; | | Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } | @@ -28,18 +37,22 @@ | Test.kt:101:33:103:5 | { ... } | Test.kt:100:1:110:1 | Exit | | Test.kt:105:5:109:5 | ; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | ; | Test.kt:107:16:109:5 | ... -> ... | -| Test.kt:105:20:107:5 | { ... } | Test.kt:100:1:110:1 | Exit | -| Test.kt:107:16:109:5 | ... -> ... | Test.kt:100:1:110:1 | Exit | +| Test.kt:105:20:107:5 | { ... } | Test.kt:100:1:110:1 | Normal Exit | +| Test.kt:107:16:109:5 | ... -> ... | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | -| Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | Exit | -| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Exit | +| Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | Normal Exit | +| Test.kt:112:1:116:1 | Exceptional Exit | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:1:116:1 | Normal Exit | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y | -| Test.kt:113:14:113:14 | y | Test.kt:112:1:116:1 | Exit | +| Test.kt:113:14:113:14 | y | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:113:14:113:14 | y | Test.kt:113:17:115:5 | { ... } | -| Test.kt:113:17:115:5 | { ... } | Test.kt:112:1:116:1 | Exit | +| Test.kt:113:17:115:5 | { ... } | Test.kt:112:1:116:1 | Normal Exit | +| Test.kt:118:1:124:1 | Exceptional Exit | Test.kt:118:1:124:1 | Exit | +| Test.kt:118:1:124:1 | Normal Exit | Test.kt:118:1:124:1 | Exit | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | ; | | Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... | -| Test.kt:121:9:121:9 | ; | Test.kt:118:1:124:1 | Exit | +| Test.kt:121:9:121:9 | ; | Test.kt:118:1:124:1 | Normal Exit | | Test.kt:121:9:121:9 | ; | Test.kt:123:8:123:10 | { ... } | -| Test.kt:122:12:122:16 | ... -> ... | Test.kt:118:1:124:1 | Exit | -| Test.kt:123:8:123:10 | { ... } | Test.kt:118:1:124:1 | Exit | +| Test.kt:122:12:122:16 | ... -> ... | Test.kt:118:1:124:1 | Normal Exit | +| Test.kt:123:8:123:10 | { ... } | Test.kt:118:1:124:1 | Normal Exit | diff --git a/java/ql/test-kotlin1/library-tests/controlflow/basic/getASuccessor.expected b/java/ql/test-kotlin1/library-tests/controlflow/basic/getASuccessor.expected index 81142abc1df8..1d07b13c9d75 100644 --- a/java/ql/test-kotlin1/library-tests/controlflow/basic/getASuccessor.expected +++ b/java/ql/test-kotlin1/library-tests/controlflow/basic/getASuccessor.expected @@ -1,9 +1,13 @@ #select | Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt | Test.kt:3:8:80:1 | { ... } | BlockStmt | +| Test.kt:3:8:80:1 | Exceptional Exit | Constructor | Test.kt:3:8:80:1 | Exit | Constructor | | Test.kt:3:8:80:1 | Exit | Constructor | file://:0:0:0:0 | | | +| Test.kt:3:8:80:1 | Normal Exit | Constructor | Test.kt:3:8:80:1 | Exit | Constructor | | Test.kt:3:8:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt | -| Test.kt:3:8:80:1 | { ... } | BlockStmt | Test.kt:3:8:80:1 | Exit | Constructor | +| Test.kt:3:8:80:1 | { ... } | BlockStmt | Test.kt:3:8:80:1 | Normal Exit | Constructor | +| Test.kt:4:2:79:2 | Exceptional Exit | Method | Test.kt:4:2:79:2 | Exit | Method | | Test.kt:4:2:79:2 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:4:2:79:2 | Normal Exit | Method | Test.kt:4:2:79:2 | Exit | Method | | Test.kt:4:13:79:2 | { ... } | BlockStmt | Test.kt:5:7:5:7 | var ...; | LocalVariableDeclStmt | | Test.kt:5:7:5:7 | var ...; | LocalVariableDeclStmt | Test.kt:5:16:5:16 | 0 | IntegerLiteral | | Test.kt:5:7:5:7 | x | LocalVariableDeclExpr | Test.kt:6:7:6:7 | var ...; | LocalVariableDeclStmt | @@ -53,7 +57,7 @@ | Test.kt:22:4:22:9 | ...=... | AssignExpr | Test.kt:27:3:27:3 | ; | ExprStmt | | Test.kt:22:8:22:9 | 40 | LongLiteral | Test.kt:22:4:22:9 | ...=... | AssignExpr | | Test.kt:24:4:24:9 | INSTANCE | VarAccess | Test.kt:24:4:24:9 | return ... | ReturnStmt | -| Test.kt:24:4:24:9 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Exit | Method | +| Test.kt:24:4:24:9 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method | | Test.kt:27:3:27:3 | ; | ExprStmt | Test.kt:27:7:27:8 | 10 | IntegerLiteral | | Test.kt:27:3:27:8 | ...=... | AssignExpr | Test.kt:30:3:33:3 | ; | ExprStmt | | Test.kt:27:7:27:8 | 10 | IntegerLiteral | Test.kt:27:3:27:8 | ...=... | AssignExpr | @@ -106,8 +110,10 @@ | Test.kt:77:3:77:8 | ...=... | AssignExpr | Test.kt:78:3:78:8 | INSTANCE | VarAccess | | Test.kt:77:7:77:8 | 40 | IntegerLiteral | Test.kt:77:3:77:8 | ...=... | AssignExpr | | Test.kt:78:3:78:8 | INSTANCE | VarAccess | Test.kt:78:3:78:8 | return ... | ReturnStmt | -| Test.kt:78:3:78:8 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Exit | Method | +| Test.kt:78:3:78:8 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method | +| Test.kt:82:1:89:1 | Exceptional Exit | Method | Test.kt:82:1:89:1 | Exit | Method | | Test.kt:82:1:89:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:82:1:89:1 | Normal Exit | Method | Test.kt:82:1:89:1 | Exit | Method | | Test.kt:82:21:89:1 | { ... } | BlockStmt | Test.kt:83:2:88:2 | try ... | TryStmt | | Test.kt:83:2:88:2 | try ... | TryStmt | Test.kt:83:6:86:2 | { ... } | BlockStmt | | Test.kt:83:6:86:2 | { ... } | BlockStmt | Test.kt:84:7:84:7 | var ...; | LocalVariableDeclStmt | @@ -116,14 +122,16 @@ | Test.kt:84:11:84:11 | o | VarAccess | Test.kt:84:11:84:18 | (...)... | CastExpr | | Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:84:7:84:7 | x | LocalVariableDeclExpr | | Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:86:4:88:2 | catch (...) | CatchClause | -| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Exit | Method | +| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method | | Test.kt:85:10:85:10 | 1 | IntegerLiteral | Test.kt:85:3:85:10 | return ... | ReturnStmt | | Test.kt:86:4:88:2 | catch (...) | CatchClause | Test.kt:86:11:86:31 | e | LocalVariableDeclExpr | | Test.kt:86:11:86:31 | e | LocalVariableDeclExpr | Test.kt:86:34:88:2 | { ... } | BlockStmt | | Test.kt:86:34:88:2 | { ... } | BlockStmt | Test.kt:87:10:87:10 | 2 | IntegerLiteral | -| Test.kt:87:3:87:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Exit | Method | +| Test.kt:87:3:87:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method | | Test.kt:87:10:87:10 | 2 | IntegerLiteral | Test.kt:87:3:87:10 | return ... | ReturnStmt | +| Test.kt:91:1:98:1 | Exceptional Exit | Method | Test.kt:91:1:98:1 | Exit | Method | | Test.kt:91:1:98:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:91:1:98:1 | Normal Exit | Method | Test.kt:91:1:98:1 | Exit | Method | | Test.kt:91:22:98:1 | { ... } | BlockStmt | Test.kt:92:2:97:2 | try ... | TryStmt | | Test.kt:92:2:97:2 | try ... | TryStmt | Test.kt:92:6:95:2 | { ... } | BlockStmt | | Test.kt:92:6:95:2 | { ... } | BlockStmt | Test.kt:93:7:93:7 | var ...; | LocalVariableDeclStmt | @@ -132,14 +140,16 @@ | Test.kt:93:11:93:11 | o | VarAccess | Test.kt:93:12:93:13 | ...!! | NotNullExpr | | Test.kt:93:12:93:13 | ...!! | NotNullExpr | Test.kt:93:7:93:7 | x | LocalVariableDeclExpr | | Test.kt:93:12:93:13 | ...!! | NotNullExpr | Test.kt:95:4:97:2 | catch (...) | CatchClause | -| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Exit | Method | +| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method | | Test.kt:94:10:94:10 | 1 | IntegerLiteral | Test.kt:94:3:94:10 | return ... | ReturnStmt | | Test.kt:95:4:97:2 | catch (...) | CatchClause | Test.kt:95:11:95:33 | e | LocalVariableDeclExpr | | Test.kt:95:11:95:33 | e | LocalVariableDeclExpr | Test.kt:95:36:97:2 | { ... } | BlockStmt | | Test.kt:95:36:97:2 | { ... } | BlockStmt | Test.kt:96:10:96:10 | 2 | IntegerLiteral | -| Test.kt:96:3:96:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Exit | Method | +| Test.kt:96:3:96:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method | | Test.kt:96:10:96:10 | 2 | IntegerLiteral | Test.kt:96:3:96:10 | return ... | ReturnStmt | +| Test.kt:100:1:110:1 | Exceptional Exit | Method | Test.kt:100:1:110:1 | Exit | Method | | Test.kt:100:1:110:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:100:1:110:1 | Normal Exit | Method | Test.kt:100:1:110:1 | Exit | Method | | Test.kt:100:25:110:1 | { ... } | BlockStmt | Test.kt:101:5:103:5 | ; | ExprStmt | | Test.kt:101:5:103:5 | ... -> ... | WhenBranch | Test.kt:101:9:101:30 | ... && ... | AndLogicalExpr | | Test.kt:101:5:103:5 | ; | ExprStmt | Test.kt:101:5:103:5 | when ... | WhenExpr | @@ -154,7 +164,7 @@ | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | Test.kt:105:5:109:5 | ; | ExprStmt | | Test.kt:101:27:101:30 | null | NullLiteral | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | | Test.kt:101:33:103:5 | { ... } | BlockStmt | Test.kt:102:15:102:25 | new Exception(...) | ClassInstanceExpr | -| Test.kt:102:9:102:25 | throw ... | ThrowStmt | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:102:9:102:25 | throw ... | ThrowStmt | Test.kt:100:1:110:1 | Exceptional Exit | Method | | Test.kt:102:15:102:25 | new Exception(...) | ClassInstanceExpr | Test.kt:102:9:102:25 | throw ... | ThrowStmt | | Test.kt:105:5:109:5 | ; | ExprStmt | Test.kt:105:5:109:5 | when ... | WhenExpr | | Test.kt:105:5:109:5 | when ... | WhenExpr | Test.kt:105:9:107:5 | ... -> ... | WhenBranch | @@ -165,29 +175,33 @@ | Test.kt:105:14:105:17 | null | NullLiteral | Test.kt:105:9:105:17 | ... (value not-equals) ... | ValueNEExpr | | Test.kt:105:20:107:5 | { ... } | BlockStmt | Test.kt:106:9:106:29 | ; | ExprStmt | | Test.kt:106:9:106:29 | ; | ExprStmt | Test.kt:106:17:106:28 | "x not null" | StringLiteral | -| Test.kt:106:9:106:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:106:9:106:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method | | Test.kt:106:17:106:28 | "x not null" | StringLiteral | Test.kt:106:9:106:29 | println(...) | MethodCall | | Test.kt:107:16:107:16 | y | VarAccess | Test.kt:107:21:107:24 | null | NullLiteral | -| Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:100:1:110:1 | Normal Exit | Method | | Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:107:27:109:5 | { ... } | BlockStmt | | Test.kt:107:16:109:5 | ... -> ... | WhenBranch | Test.kt:107:16:107:16 | y | VarAccess | | Test.kt:107:21:107:24 | null | NullLiteral | Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | | Test.kt:107:27:109:5 | { ... } | BlockStmt | Test.kt:108:9:108:29 | ; | ExprStmt | | Test.kt:108:9:108:29 | ; | ExprStmt | Test.kt:108:17:108:28 | "y not null" | StringLiteral | -| Test.kt:108:9:108:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:108:9:108:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method | | Test.kt:108:17:108:28 | "y not null" | StringLiteral | Test.kt:108:9:108:29 | println(...) | MethodCall | +| Test.kt:112:1:116:1 | Exceptional Exit | Method | Test.kt:112:1:116:1 | Exit | Method | | Test.kt:112:1:116:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:112:1:116:1 | Normal Exit | Method | Test.kt:112:1:116:1 | Exit | Method | | Test.kt:112:32:116:1 | { ... } | BlockStmt | Test.kt:113:5:115:5 | ; | ExprStmt | | Test.kt:113:5:115:5 | ... -> ... | WhenBranch | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr | | Test.kt:113:5:115:5 | ; | ExprStmt | Test.kt:113:5:115:5 | when ... | WhenExpr | | Test.kt:113:5:115:5 | when ... | WhenExpr | Test.kt:113:5:115:5 | ... -> ... | WhenBranch | -| Test.kt:113:9:113:9 | x | VarAccess | Test.kt:112:1:116:1 | Exit | Method | +| Test.kt:113:9:113:9 | x | VarAccess | Test.kt:112:1:116:1 | Normal Exit | Method | | Test.kt:113:9:113:9 | x | VarAccess | Test.kt:113:14:113:14 | y | VarAccess | | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr | Test.kt:113:9:113:9 | x | VarAccess | -| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | Exit | Method | +| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | Normal Exit | Method | | Test.kt:113:14:113:14 | y | VarAccess | Test.kt:113:17:115:5 | { ... } | BlockStmt | -| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | Exit | Method | +| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | Normal Exit | Method | +| Test.kt:118:1:124:1 | Exceptional Exit | Method | Test.kt:118:1:124:1 | Exit | Method | | Test.kt:118:1:124:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:118:1:124:1 | Normal Exit | Method | Test.kt:118:1:124:1 | Exit | Method | | Test.kt:118:37:124:1 | { ... } | BlockStmt | Test.kt:119:2:123:12 | ; | ExprStmt | | Test.kt:119:2:123:12 | ; | ExprStmt | Test.kt:119:2:123:12 | when ... | WhenExpr | | Test.kt:119:2:123:12 | when ... | WhenExpr | Test.kt:120:3:123:10 | ... -> ... | WhenBranch | @@ -197,11 +211,11 @@ | Test.kt:121:4:121:4 | x | VarAccess | Test.kt:122:12:122:16 | ... -> ... | WhenBranch | | Test.kt:121:4:121:9 | ... -> ... | WhenBranch | Test.kt:121:4:121:4 | x | VarAccess | | Test.kt:121:9:121:9 | ; | ExprStmt | Test.kt:121:9:121:9 | y | VarAccess | -| Test.kt:121:9:121:9 | y | VarAccess | Test.kt:118:1:124:1 | Exit | Method | +| Test.kt:121:9:121:9 | y | VarAccess | Test.kt:118:1:124:1 | Normal Exit | Method | | Test.kt:121:9:121:9 | y | VarAccess | Test.kt:123:8:123:10 | { ... } | BlockStmt | | Test.kt:122:12:122:16 | ... -> ... | WhenBranch | Test.kt:122:12:122:16 | true | BooleanLiteral | | Test.kt:122:12:122:16 | ; | ExprStmt | Test.kt:122:12:122:16 | false | BooleanLiteral | -| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:118:1:124:1 | Exit | Method | +| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:118:1:124:1 | Normal Exit | Method | | Test.kt:122:12:122:16 | true | BooleanLiteral | Test.kt:122:12:122:16 | ; | ExprStmt | -| Test.kt:123:8:123:10 | { ... } | BlockStmt | Test.kt:118:1:124:1 | Exit | Method | +| Test.kt:123:8:123:10 | { ... } | BlockStmt | Test.kt:118:1:124:1 | Normal Exit | Method | missingSuccessor diff --git a/java/ql/test-kotlin1/library-tests/controlflow/dominance/dominator.expected b/java/ql/test-kotlin1/library-tests/controlflow/dominance/dominator.expected index 3eae23451868..31da586d6307 100644 --- a/java/ql/test-kotlin1/library-tests/controlflow/dominance/dominator.expected +++ b/java/ql/test-kotlin1/library-tests/controlflow/dominance/dominator.expected @@ -44,7 +44,7 @@ | Test.kt:21:3:24:11 | true | Test.kt:24:11:24:11 | z | | Test.kt:21:3:24:11 | when ... | Test.kt:21:3:24:11 | ... -> ... | | Test.kt:21:7:21:7 | x | Test.kt:21:11:21:11 | 0 | -| Test.kt:21:7:21:11 | ... < ... | Test.kt:2:2:79:2 | Exit | +| Test.kt:21:7:21:11 | ... < ... | Test.kt:2:2:79:2 | Normal Exit | | Test.kt:21:7:21:11 | ... < ... | Test.kt:21:3:24:11 | ... -> ... | | Test.kt:21:7:21:11 | ... < ... | Test.kt:22:4:22:4 | ; | | Test.kt:21:11:21:11 | 0 | Test.kt:21:7:21:11 | ... < ... | @@ -142,7 +142,7 @@ | Test.kt:92:4:93:9 | ; | Test.kt:92:4:93:9 | when ... | | Test.kt:92:4:93:9 | when ... | Test.kt:92:4:93:9 | ... -> ... | | Test.kt:92:8:92:8 | a | Test.kt:92:13:92:14 | 10 | -| Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:81:2:98:2 | Exit | +| Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:81:2:98:2 | Normal Exit | | Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:93:5:93:9 | break | | Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:94:4:95:12 | ; | | Test.kt:92:13:92:14 | 10 | Test.kt:92:8:92:14 | ... (value equals) ... | diff --git a/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStmts.expected b/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStmts.expected index c0f86a6ec9be..c66d50a722d1 100644 --- a/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStmts.expected +++ b/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStmts.expected @@ -1,8 +1,12 @@ +| Test.kt:3:1:80:1 | Exceptional Exit | 0 | Test.kt:3:1:80:1 | Exceptional Exit | +| Test.kt:3:1:80:1 | Exit | 0 | Test.kt:3:1:80:1 | Exit | | Test.kt:3:1:80:1 | { ... } | 0 | Test.kt:3:1:80:1 | { ... } | | Test.kt:3:1:80:1 | { ... } | 1 | Test.kt:3:1:80:1 | super(...) | | Test.kt:3:1:80:1 | { ... } | 2 | Test.kt:3:1:80:1 | { ... } | -| Test.kt:3:1:80:1 | { ... } | 3 | Test.kt:3:1:80:1 | Exit | +| Test.kt:3:1:80:1 | { ... } | 3 | Test.kt:3:1:80:1 | Normal Exit | +| Test.kt:4:2:79:2 | Exceptional Exit | 0 | Test.kt:4:2:79:2 | Exceptional Exit | | Test.kt:4:2:79:2 | Exit | 0 | Test.kt:4:2:79:2 | Exit | +| Test.kt:4:2:79:2 | Normal Exit | 0 | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:4:13:79:2 | { ... } | 0 | Test.kt:4:13:79:2 | { ... } | | Test.kt:4:13:79:2 | { ... } | 1 | Test.kt:5:3:5:16 | var ...; | | Test.kt:4:13:79:2 | { ... } | 2 | Test.kt:5:16:5:16 | 0 | @@ -102,7 +106,9 @@ | Test.kt:43:3:43:8 | ; | 8 | Test.kt:77:3:77:8 | ...=... | | Test.kt:43:3:43:8 | ; | 9 | Test.kt:78:9:78:9 | INSTANCE | | Test.kt:43:3:43:8 | ; | 10 | Test.kt:78:3:78:8 | return ... | +| Test.kt:82:1:89:1 | Exceptional Exit | 0 | Test.kt:82:1:89:1 | Exceptional Exit | | Test.kt:82:1:89:1 | Exit | 0 | Test.kt:82:1:89:1 | Exit | +| Test.kt:82:1:89:1 | Normal Exit | 0 | Test.kt:82:1:89:1 | Normal Exit | | Test.kt:82:21:89:1 | { ... } | 0 | Test.kt:82:21:89:1 | { ... } | | Test.kt:82:21:89:1 | { ... } | 1 | Test.kt:83:2:88:2 | try ... | | Test.kt:82:21:89:1 | { ... } | 2 | Test.kt:83:6:86:2 | { ... } | @@ -117,7 +123,9 @@ | Test.kt:86:4:88:2 | catch (...) | 2 | Test.kt:86:34:88:2 | { ... } | | Test.kt:86:4:88:2 | catch (...) | 3 | Test.kt:87:10:87:10 | 2 | | Test.kt:86:4:88:2 | catch (...) | 4 | Test.kt:87:3:87:10 | return ... | +| Test.kt:91:1:98:1 | Exceptional Exit | 0 | Test.kt:91:1:98:1 | Exceptional Exit | | Test.kt:91:1:98:1 | Exit | 0 | Test.kt:91:1:98:1 | Exit | +| Test.kt:91:1:98:1 | Normal Exit | 0 | Test.kt:91:1:98:1 | Normal Exit | | Test.kt:91:22:98:1 | { ... } | 0 | Test.kt:91:22:98:1 | { ... } | | Test.kt:91:22:98:1 | { ... } | 1 | Test.kt:92:2:97:2 | try ... | | Test.kt:91:22:98:1 | { ... } | 2 | Test.kt:92:6:95:2 | { ... } | @@ -133,6 +141,7 @@ | Test.kt:95:4:97:2 | catch (...) | 3 | Test.kt:96:10:96:10 | 2 | | Test.kt:95:4:97:2 | catch (...) | 4 | Test.kt:96:3:96:10 | return ... | | Test.kt:100:1:110:1 | Exit | 0 | Test.kt:100:1:110:1 | Exit | +| Test.kt:100:1:110:1 | Normal Exit | 0 | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:100:25:110:1 | { ... } | 0 | Test.kt:100:25:110:1 | { ... } | | Test.kt:100:25:110:1 | { ... } | 1 | Test.kt:101:5:103:5 | ; | | Test.kt:100:25:110:1 | { ... } | 2 | Test.kt:101:5:103:5 | when ... | @@ -147,6 +156,7 @@ | Test.kt:101:33:103:5 | { ... } | 0 | Test.kt:101:33:103:5 | { ... } | | Test.kt:101:33:103:5 | { ... } | 1 | Test.kt:102:15:102:25 | new Exception(...) | | Test.kt:101:33:103:5 | { ... } | 2 | Test.kt:102:9:102:25 | throw ... | +| Test.kt:101:33:103:5 | { ... } | 3 | Test.kt:100:1:110:1 | Exceptional Exit | | Test.kt:105:5:109:5 | ; | 0 | Test.kt:105:5:109:5 | ; | | Test.kt:105:5:109:5 | ; | 1 | Test.kt:105:5:109:5 | when ... | | Test.kt:105:5:109:5 | ; | 2 | Test.kt:105:9:107:5 | ... -> ... | @@ -165,7 +175,9 @@ | Test.kt:107:27:109:5 | { ... } | 1 | Test.kt:108:9:108:29 | ; | | Test.kt:107:27:109:5 | { ... } | 2 | Test.kt:108:17:108:28 | "y not null" | | Test.kt:107:27:109:5 | { ... } | 3 | Test.kt:108:9:108:29 | println(...) | +| Test.kt:112:1:116:1 | Exceptional Exit | 0 | Test.kt:112:1:116:1 | Exceptional Exit | | Test.kt:112:1:116:1 | Exit | 0 | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:1:116:1 | Normal Exit | 0 | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:112:32:116:1 | { ... } | 0 | Test.kt:112:32:116:1 | { ... } | | Test.kt:112:32:116:1 | { ... } | 1 | Test.kt:113:5:115:5 | ; | | Test.kt:112:32:116:1 | { ... } | 2 | Test.kt:113:5:115:5 | when ... | @@ -174,7 +186,9 @@ | Test.kt:112:32:116:1 | { ... } | 5 | Test.kt:113:9:113:9 | x | | Test.kt:113:14:113:14 | y | 0 | Test.kt:113:14:113:14 | y | | Test.kt:113:17:115:5 | { ... } | 0 | Test.kt:113:17:115:5 | { ... } | +| Test.kt:118:1:124:1 | Exceptional Exit | 0 | Test.kt:118:1:124:1 | Exceptional Exit | | Test.kt:118:1:124:1 | Exit | 0 | Test.kt:118:1:124:1 | Exit | +| Test.kt:118:1:124:1 | Normal Exit | 0 | Test.kt:118:1:124:1 | Normal Exit | | Test.kt:118:37:124:1 | { ... } | 0 | Test.kt:118:37:124:1 | { ... } | | Test.kt:118:37:124:1 | { ... } | 1 | Test.kt:119:2:123:12 | ; | | Test.kt:118:37:124:1 | { ... } | 2 | Test.kt:119:2:123:12 | when ... | diff --git a/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStrictDominance.expected b/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStrictDominance.expected index aa23696bd555..c7e225ecc6f4 100644 --- a/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStrictDominance.expected +++ b/java/ql/test-kotlin2/library-tests/controlflow/basic/bbStrictDominance.expected @@ -1,4 +1,7 @@ +| Test.kt:3:1:80:1 | { ... } | Test.kt:3:1:80:1 | Exit | +| Test.kt:4:2:79:2 | Normal Exit | Test.kt:4:2:79:2 | Exit | | Test.kt:4:13:79:2 | { ... } | Test.kt:4:2:79:2 | Exit | +| Test.kt:4:13:79:2 | { ... } | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:4:13:79:2 | { ... } | Test.kt:11:14:14:3 | { ... } | | Test.kt:4:13:79:2 | { ... } | Test.kt:14:10:16:3 | ... -> ... | | Test.kt:4:13:79:2 | { ... } | Test.kt:18:3:18:7 | ; | @@ -10,6 +13,7 @@ | Test.kt:4:13:79:2 | { ... } | Test.kt:38:16:41:3 | { ... } | | Test.kt:4:13:79:2 | { ... } | Test.kt:43:3:43:8 | ; | | Test.kt:18:3:18:7 | ; | Test.kt:4:2:79:2 | Exit | +| Test.kt:18:3:18:7 | ; | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:18:3:18:7 | ; | Test.kt:22:4:22:9 | ; | | Test.kt:18:3:18:7 | ; | Test.kt:24:4:24:9 | ... -> ... | | Test.kt:18:3:18:7 | ; | Test.kt:30:15:33:3 | { ... } | @@ -27,13 +31,18 @@ | Test.kt:35:3:35:8 | ; | Test.kt:43:3:43:8 | ; | | Test.kt:38:9:38:9 | x | Test.kt:38:16:41:3 | { ... } | | Test.kt:38:9:38:9 | x | Test.kt:43:3:43:8 | ; | +| Test.kt:82:1:89:1 | Normal Exit | Test.kt:82:1:89:1 | Exit | | Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Exit | +| Test.kt:82:21:89:1 | { ... } | Test.kt:82:1:89:1 | Normal Exit | | Test.kt:82:21:89:1 | { ... } | Test.kt:84:3:84:18 | x | | Test.kt:82:21:89:1 | { ... } | Test.kt:86:4:88:2 | catch (...) | +| Test.kt:91:1:98:1 | Normal Exit | Test.kt:91:1:98:1 | Exit | | Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Exit | +| Test.kt:91:22:98:1 | { ... } | Test.kt:91:1:98:1 | Normal Exit | | Test.kt:91:22:98:1 | { ... } | Test.kt:93:3:93:13 | x | | Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) | | Test.kt:100:25:110:1 | { ... } | Test.kt:100:1:110:1 | Exit | +| Test.kt:100:25:110:1 | { ... } | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:22 | y | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | ; | @@ -41,15 +50,20 @@ | Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } | | Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } | +| Test.kt:105:5:109:5 | ; | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:105:5:109:5 | ; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | ; | Test.kt:107:16:109:5 | ... -> ... | | Test.kt:105:5:109:5 | ; | Test.kt:107:27:109:5 | { ... } | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | +| Test.kt:112:1:116:1 | Normal Exit | Test.kt:112:1:116:1 | Exit | | Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } | | Test.kt:113:14:113:14 | y | Test.kt:113:17:115:5 | { ... } | +| Test.kt:118:1:124:1 | Normal Exit | Test.kt:118:1:124:1 | Exit | | Test.kt:118:37:124:1 | { ... } | Test.kt:118:1:124:1 | Exit | +| Test.kt:118:37:124:1 | { ... } | Test.kt:118:1:124:1 | Normal Exit | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | ; | | Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... | | Test.kt:118:37:124:1 | { ... } | Test.kt:123:8:123:10 | { ... } | diff --git a/java/ql/test-kotlin2/library-tests/controlflow/basic/bbSuccessor.expected b/java/ql/test-kotlin2/library-tests/controlflow/basic/bbSuccessor.expected index 006bd71a6bac..219779e73dc7 100644 --- a/java/ql/test-kotlin2/library-tests/controlflow/basic/bbSuccessor.expected +++ b/java/ql/test-kotlin2/library-tests/controlflow/basic/bbSuccessor.expected @@ -1,3 +1,7 @@ +| Test.kt:3:1:80:1 | Exceptional Exit | Test.kt:3:1:80:1 | Exit | +| Test.kt:3:1:80:1 | { ... } | Test.kt:3:1:80:1 | Exit | +| Test.kt:4:2:79:2 | Exceptional Exit | Test.kt:4:2:79:2 | Exit | +| Test.kt:4:2:79:2 | Normal Exit | Test.kt:4:2:79:2 | Exit | | Test.kt:4:13:79:2 | { ... } | Test.kt:11:14:14:3 | { ... } | | Test.kt:4:13:79:2 | { ... } | Test.kt:14:10:16:3 | ... -> ... | | Test.kt:11:14:14:3 | { ... } | Test.kt:18:3:18:7 | ; | @@ -6,21 +10,26 @@ | Test.kt:18:3:18:7 | ; | Test.kt:24:4:24:9 | ... -> ... | | Test.kt:22:4:22:9 | ; | Test.kt:30:15:33:3 | { ... } | | Test.kt:22:4:22:9 | ; | Test.kt:35:3:35:8 | ; | -| Test.kt:24:4:24:9 | ... -> ... | Test.kt:4:2:79:2 | Exit | +| Test.kt:24:4:24:9 | ... -> ... | Test.kt:4:2:79:2 | Normal Exit | | Test.kt:30:15:33:3 | { ... } | Test.kt:35:3:35:8 | ; | | Test.kt:35:3:35:8 | ; | Test.kt:38:9:38:9 | x | | Test.kt:38:9:38:9 | x | Test.kt:38:16:41:3 | { ... } | | Test.kt:38:9:38:9 | x | Test.kt:43:3:43:8 | ; | | Test.kt:38:16:41:3 | { ... } | Test.kt:38:9:38:9 | x | -| Test.kt:43:3:43:8 | ; | Test.kt:4:2:79:2 | Exit | +| Test.kt:43:3:43:8 | ; | Test.kt:4:2:79:2 | Normal Exit | +| Test.kt:82:1:89:1 | Exceptional Exit | Test.kt:82:1:89:1 | Exit | +| Test.kt:82:1:89:1 | Normal Exit | Test.kt:82:1:89:1 | Exit | | Test.kt:82:21:89:1 | { ... } | Test.kt:84:3:84:18 | x | | Test.kt:82:21:89:1 | { ... } | Test.kt:86:4:88:2 | catch (...) | -| Test.kt:84:3:84:18 | x | Test.kt:82:1:89:1 | Exit | -| Test.kt:86:4:88:2 | catch (...) | Test.kt:82:1:89:1 | Exit | +| Test.kt:84:3:84:18 | x | Test.kt:82:1:89:1 | Normal Exit | +| Test.kt:86:4:88:2 | catch (...) | Test.kt:82:1:89:1 | Normal Exit | +| Test.kt:91:1:98:1 | Exceptional Exit | Test.kt:91:1:98:1 | Exit | +| Test.kt:91:1:98:1 | Normal Exit | Test.kt:91:1:98:1 | Exit | | Test.kt:91:22:98:1 | { ... } | Test.kt:93:3:93:13 | x | | Test.kt:91:22:98:1 | { ... } | Test.kt:95:4:97:2 | catch (...) | -| Test.kt:93:3:93:13 | x | Test.kt:91:1:98:1 | Exit | -| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | Exit | +| Test.kt:93:3:93:13 | x | Test.kt:91:1:98:1 | Normal Exit | +| Test.kt:95:4:97:2 | catch (...) | Test.kt:91:1:98:1 | Normal Exit | +| Test.kt:100:1:110:1 | Normal Exit | Test.kt:100:1:110:1 | Exit | | Test.kt:100:25:110:1 | { ... } | Test.kt:101:22:101:22 | y | | Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | ; | | Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } | @@ -28,18 +37,22 @@ | Test.kt:101:33:103:5 | { ... } | Test.kt:100:1:110:1 | Exit | | Test.kt:105:5:109:5 | ; | Test.kt:105:20:107:5 | { ... } | | Test.kt:105:5:109:5 | ; | Test.kt:107:16:109:5 | ... -> ... | -| Test.kt:105:20:107:5 | { ... } | Test.kt:100:1:110:1 | Exit | -| Test.kt:107:16:109:5 | ... -> ... | Test.kt:100:1:110:1 | Exit | +| Test.kt:105:20:107:5 | { ... } | Test.kt:100:1:110:1 | Normal Exit | +| Test.kt:107:16:109:5 | ... -> ... | Test.kt:100:1:110:1 | Normal Exit | | Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } | -| Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | Exit | -| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Exit | +| Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | Normal Exit | +| Test.kt:112:1:116:1 | Exceptional Exit | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:1:116:1 | Normal Exit | Test.kt:112:1:116:1 | Exit | +| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y | -| Test.kt:113:14:113:14 | y | Test.kt:112:1:116:1 | Exit | +| Test.kt:113:14:113:14 | y | Test.kt:112:1:116:1 | Normal Exit | | Test.kt:113:14:113:14 | y | Test.kt:113:17:115:5 | { ... } | -| Test.kt:113:17:115:5 | { ... } | Test.kt:112:1:116:1 | Exit | +| Test.kt:113:17:115:5 | { ... } | Test.kt:112:1:116:1 | Normal Exit | +| Test.kt:118:1:124:1 | Exceptional Exit | Test.kt:118:1:124:1 | Exit | +| Test.kt:118:1:124:1 | Normal Exit | Test.kt:118:1:124:1 | Exit | | Test.kt:118:37:124:1 | { ... } | Test.kt:121:9:121:9 | ; | | Test.kt:118:37:124:1 | { ... } | Test.kt:122:12:122:16 | ... -> ... | -| Test.kt:121:9:121:9 | ; | Test.kt:118:1:124:1 | Exit | +| Test.kt:121:9:121:9 | ; | Test.kt:118:1:124:1 | Normal Exit | | Test.kt:121:9:121:9 | ; | Test.kt:123:8:123:10 | { ... } | -| Test.kt:122:12:122:16 | ... -> ... | Test.kt:118:1:124:1 | Exit | -| Test.kt:123:8:123:10 | { ... } | Test.kt:118:1:124:1 | Exit | +| Test.kt:122:12:122:16 | ... -> ... | Test.kt:118:1:124:1 | Normal Exit | +| Test.kt:123:8:123:10 | { ... } | Test.kt:118:1:124:1 | Normal Exit | diff --git a/java/ql/test-kotlin2/library-tests/controlflow/basic/getASuccessor.expected b/java/ql/test-kotlin2/library-tests/controlflow/basic/getASuccessor.expected index 364b46d429e0..c4be613c5e99 100644 --- a/java/ql/test-kotlin2/library-tests/controlflow/basic/getASuccessor.expected +++ b/java/ql/test-kotlin2/library-tests/controlflow/basic/getASuccessor.expected @@ -1,9 +1,13 @@ #select +| Test.kt:3:1:80:1 | Exceptional Exit | Constructor | Test.kt:3:1:80:1 | Exit | Constructor | | Test.kt:3:1:80:1 | Exit | Constructor | file://:0:0:0:0 | | | +| Test.kt:3:1:80:1 | Normal Exit | Constructor | Test.kt:3:1:80:1 | Exit | Constructor | | Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt | Test.kt:3:1:80:1 | { ... } | BlockStmt | -| Test.kt:3:1:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | Exit | Constructor | +| Test.kt:3:1:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | Normal Exit | Constructor | | Test.kt:3:1:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt | +| Test.kt:4:2:79:2 | Exceptional Exit | Method | Test.kt:4:2:79:2 | Exit | Method | | Test.kt:4:2:79:2 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:4:2:79:2 | Normal Exit | Method | Test.kt:4:2:79:2 | Exit | Method | | Test.kt:4:13:79:2 | { ... } | BlockStmt | Test.kt:5:3:5:16 | var ...; | LocalVariableDeclStmt | | Test.kt:5:3:5:16 | var ...; | LocalVariableDeclStmt | Test.kt:5:16:5:16 | 0 | IntegerLiteral | | Test.kt:5:3:5:16 | x | LocalVariableDeclExpr | Test.kt:6:3:6:18 | var ...; | LocalVariableDeclStmt | @@ -51,7 +55,7 @@ | Test.kt:22:4:22:9 | ; | ExprStmt | Test.kt:22:8:22:9 | 40 | LongLiteral | | Test.kt:22:8:22:9 | 40 | LongLiteral | Test.kt:22:4:22:9 | ...=... | AssignExpr | | Test.kt:24:4:24:9 | ... -> ... | WhenBranch | Test.kt:24:4:24:9 | true | BooleanLiteral | -| Test.kt:24:4:24:9 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Exit | Method | +| Test.kt:24:4:24:9 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method | | Test.kt:24:4:24:9 | true | BooleanLiteral | Test.kt:24:10:24:10 | INSTANCE | VarAccess | | Test.kt:24:10:24:10 | INSTANCE | VarAccess | Test.kt:24:4:24:9 | return ... | ReturnStmt | | Test.kt:27:3:27:8 | ...=... | AssignExpr | Test.kt:30:3:33:3 | ; | ExprStmt | @@ -105,9 +109,11 @@ | Test.kt:77:3:77:8 | ...=... | AssignExpr | Test.kt:78:9:78:9 | INSTANCE | VarAccess | | Test.kt:77:3:77:8 | ; | ExprStmt | Test.kt:77:7:77:8 | 40 | IntegerLiteral | | Test.kt:77:7:77:8 | 40 | IntegerLiteral | Test.kt:77:3:77:8 | ...=... | AssignExpr | -| Test.kt:78:3:78:8 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Exit | Method | +| Test.kt:78:3:78:8 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method | | Test.kt:78:9:78:9 | INSTANCE | VarAccess | Test.kt:78:3:78:8 | return ... | ReturnStmt | +| Test.kt:82:1:89:1 | Exceptional Exit | Method | Test.kt:82:1:89:1 | Exit | Method | | Test.kt:82:1:89:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:82:1:89:1 | Normal Exit | Method | Test.kt:82:1:89:1 | Exit | Method | | Test.kt:82:21:89:1 | { ... } | BlockStmt | Test.kt:83:2:88:2 | try ... | TryStmt | | Test.kt:83:2:88:2 | try ... | TryStmt | Test.kt:83:6:86:2 | { ... } | BlockStmt | | Test.kt:83:6:86:2 | { ... } | BlockStmt | Test.kt:84:3:84:18 | var ...; | LocalVariableDeclStmt | @@ -116,14 +122,16 @@ | Test.kt:84:11:84:11 | o | VarAccess | Test.kt:84:11:84:18 | (...)... | CastExpr | | Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:84:3:84:18 | x | LocalVariableDeclExpr | | Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:86:4:88:2 | catch (...) | CatchClause | -| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Exit | Method | +| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method | | Test.kt:85:10:85:10 | 1 | IntegerLiteral | Test.kt:85:3:85:10 | return ... | ReturnStmt | | Test.kt:86:4:88:2 | catch (...) | CatchClause | Test.kt:86:11:86:31 | e | LocalVariableDeclExpr | | Test.kt:86:11:86:31 | e | LocalVariableDeclExpr | Test.kt:86:34:88:2 | { ... } | BlockStmt | | Test.kt:86:34:88:2 | { ... } | BlockStmt | Test.kt:87:10:87:10 | 2 | IntegerLiteral | -| Test.kt:87:3:87:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Exit | Method | +| Test.kt:87:3:87:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method | | Test.kt:87:10:87:10 | 2 | IntegerLiteral | Test.kt:87:3:87:10 | return ... | ReturnStmt | +| Test.kt:91:1:98:1 | Exceptional Exit | Method | Test.kt:91:1:98:1 | Exit | Method | | Test.kt:91:1:98:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:91:1:98:1 | Normal Exit | Method | Test.kt:91:1:98:1 | Exit | Method | | Test.kt:91:22:98:1 | { ... } | BlockStmt | Test.kt:92:2:97:2 | try ... | TryStmt | | Test.kt:92:2:97:2 | try ... | TryStmt | Test.kt:92:6:95:2 | { ... } | BlockStmt | | Test.kt:92:6:95:2 | { ... } | BlockStmt | Test.kt:93:3:93:13 | var ...; | LocalVariableDeclStmt | @@ -132,14 +140,16 @@ | Test.kt:93:11:93:11 | o | VarAccess | Test.kt:93:11:93:13 | ...!! | NotNullExpr | | Test.kt:93:11:93:13 | ...!! | NotNullExpr | Test.kt:93:3:93:13 | x | LocalVariableDeclExpr | | Test.kt:93:11:93:13 | ...!! | NotNullExpr | Test.kt:95:4:97:2 | catch (...) | CatchClause | -| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Exit | Method | +| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method | | Test.kt:94:10:94:10 | 1 | IntegerLiteral | Test.kt:94:3:94:10 | return ... | ReturnStmt | | Test.kt:95:4:97:2 | catch (...) | CatchClause | Test.kt:95:11:95:33 | e | LocalVariableDeclExpr | | Test.kt:95:11:95:33 | e | LocalVariableDeclExpr | Test.kt:95:36:97:2 | { ... } | BlockStmt | | Test.kt:95:36:97:2 | { ... } | BlockStmt | Test.kt:96:10:96:10 | 2 | IntegerLiteral | -| Test.kt:96:3:96:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Exit | Method | +| Test.kt:96:3:96:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method | | Test.kt:96:10:96:10 | 2 | IntegerLiteral | Test.kt:96:3:96:10 | return ... | ReturnStmt | +| Test.kt:100:1:110:1 | Exceptional Exit | Method | Test.kt:100:1:110:1 | Exit | Method | | Test.kt:100:1:110:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:100:1:110:1 | Normal Exit | Method | Test.kt:100:1:110:1 | Exit | Method | | Test.kt:100:25:110:1 | { ... } | BlockStmt | Test.kt:101:5:103:5 | ; | ExprStmt | | Test.kt:101:5:103:5 | ; | ExprStmt | Test.kt:101:5:103:5 | when ... | WhenExpr | | Test.kt:101:5:103:5 | when ... | WhenExpr | Test.kt:101:9:103:5 | ... -> ... | WhenBranch | @@ -154,7 +164,7 @@ | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | Test.kt:105:5:109:5 | ; | ExprStmt | | Test.kt:101:27:101:30 | null | NullLiteral | Test.kt:101:22:101:30 | ... (value equals) ... | ValueEQExpr | | Test.kt:101:33:103:5 | { ... } | BlockStmt | Test.kt:102:15:102:25 | new Exception(...) | ClassInstanceExpr | -| Test.kt:102:9:102:25 | throw ... | ThrowStmt | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:102:9:102:25 | throw ... | ThrowStmt | Test.kt:100:1:110:1 | Exceptional Exit | Method | | Test.kt:102:15:102:25 | new Exception(...) | ClassInstanceExpr | Test.kt:102:9:102:25 | throw ... | ThrowStmt | | Test.kt:105:5:109:5 | ; | ExprStmt | Test.kt:105:5:109:5 | when ... | WhenExpr | | Test.kt:105:5:109:5 | when ... | WhenExpr | Test.kt:105:9:107:5 | ... -> ... | WhenBranch | @@ -165,29 +175,33 @@ | Test.kt:105:14:105:17 | null | NullLiteral | Test.kt:105:9:105:17 | ... (value not-equals) ... | ValueNEExpr | | Test.kt:105:20:107:5 | { ... } | BlockStmt | Test.kt:106:9:106:29 | ; | ExprStmt | | Test.kt:106:9:106:29 | ; | ExprStmt | Test.kt:106:17:106:28 | "x not null" | StringLiteral | -| Test.kt:106:9:106:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:106:9:106:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method | | Test.kt:106:17:106:28 | "x not null" | StringLiteral | Test.kt:106:9:106:29 | println(...) | MethodCall | | Test.kt:107:16:107:16 | y | VarAccess | Test.kt:107:21:107:24 | null | NullLiteral | -| Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:100:1:110:1 | Normal Exit | Method | | Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:107:27:109:5 | { ... } | BlockStmt | | Test.kt:107:16:109:5 | ... -> ... | WhenBranch | Test.kt:107:16:107:16 | y | VarAccess | | Test.kt:107:21:107:24 | null | NullLiteral | Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | | Test.kt:107:27:109:5 | { ... } | BlockStmt | Test.kt:108:9:108:29 | ; | ExprStmt | | Test.kt:108:9:108:29 | ; | ExprStmt | Test.kt:108:17:108:28 | "y not null" | StringLiteral | -| Test.kt:108:9:108:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Exit | Method | +| Test.kt:108:9:108:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method | | Test.kt:108:17:108:28 | "y not null" | StringLiteral | Test.kt:108:9:108:29 | println(...) | MethodCall | +| Test.kt:112:1:116:1 | Exceptional Exit | Method | Test.kt:112:1:116:1 | Exit | Method | | Test.kt:112:1:116:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:112:1:116:1 | Normal Exit | Method | Test.kt:112:1:116:1 | Exit | Method | | Test.kt:112:32:116:1 | { ... } | BlockStmt | Test.kt:113:5:115:5 | ; | ExprStmt | | Test.kt:113:5:115:5 | ; | ExprStmt | Test.kt:113:5:115:5 | when ... | WhenExpr | | Test.kt:113:5:115:5 | when ... | WhenExpr | Test.kt:113:9:115:5 | ... -> ... | WhenBranch | -| Test.kt:113:9:113:9 | x | VarAccess | Test.kt:112:1:116:1 | Exit | Method | +| Test.kt:113:9:113:9 | x | VarAccess | Test.kt:112:1:116:1 | Normal Exit | Method | | Test.kt:113:9:113:9 | x | VarAccess | Test.kt:113:14:113:14 | y | VarAccess | | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr | Test.kt:113:9:113:9 | x | VarAccess | | Test.kt:113:9:115:5 | ... -> ... | WhenBranch | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr | -| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | Exit | Method | +| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | Normal Exit | Method | | Test.kt:113:14:113:14 | y | VarAccess | Test.kt:113:17:115:5 | { ... } | BlockStmt | -| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | Exit | Method | +| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | Normal Exit | Method | +| Test.kt:118:1:124:1 | Exceptional Exit | Method | Test.kt:118:1:124:1 | Exit | Method | | Test.kt:118:1:124:1 | Exit | Method | file://:0:0:0:0 | | | +| Test.kt:118:1:124:1 | Normal Exit | Method | Test.kt:118:1:124:1 | Exit | Method | | Test.kt:118:37:124:1 | { ... } | BlockStmt | Test.kt:119:2:123:12 | ; | ExprStmt | | Test.kt:119:2:123:12 | ; | ExprStmt | Test.kt:119:2:123:12 | when ... | WhenExpr | | Test.kt:119:2:123:12 | when ... | WhenExpr | Test.kt:120:3:123:10 | ... -> ... | WhenBranch | @@ -197,11 +211,11 @@ | Test.kt:121:4:121:4 | x | VarAccess | Test.kt:122:12:122:16 | ... -> ... | WhenBranch | | Test.kt:121:4:121:9 | ... -> ... | WhenBranch | Test.kt:121:4:121:4 | x | VarAccess | | Test.kt:121:9:121:9 | ; | ExprStmt | Test.kt:121:9:121:9 | y | VarAccess | -| Test.kt:121:9:121:9 | y | VarAccess | Test.kt:118:1:124:1 | Exit | Method | +| Test.kt:121:9:121:9 | y | VarAccess | Test.kt:118:1:124:1 | Normal Exit | Method | | Test.kt:121:9:121:9 | y | VarAccess | Test.kt:123:8:123:10 | { ... } | BlockStmt | | Test.kt:122:12:122:16 | ... -> ... | WhenBranch | Test.kt:122:12:122:16 | true | BooleanLiteral | | Test.kt:122:12:122:16 | ; | ExprStmt | Test.kt:122:12:122:16 | false | BooleanLiteral | -| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:118:1:124:1 | Exit | Method | +| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:118:1:124:1 | Normal Exit | Method | | Test.kt:122:12:122:16 | true | BooleanLiteral | Test.kt:122:12:122:16 | ; | ExprStmt | -| Test.kt:123:8:123:10 | { ... } | BlockStmt | Test.kt:118:1:124:1 | Exit | Method | +| Test.kt:123:8:123:10 | { ... } | BlockStmt | Test.kt:118:1:124:1 | Normal Exit | Method | missingSuccessor diff --git a/java/ql/test-kotlin2/library-tests/controlflow/dominance/dominator.expected b/java/ql/test-kotlin2/library-tests/controlflow/dominance/dominator.expected index d5ddea7a98ba..75662bfacd49 100644 --- a/java/ql/test-kotlin2/library-tests/controlflow/dominance/dominator.expected +++ b/java/ql/test-kotlin2/library-tests/controlflow/dominance/dominator.expected @@ -41,7 +41,7 @@ | Test.kt:21:3:24:11 | ; | Test.kt:21:3:24:11 | when ... | | Test.kt:21:3:24:11 | when ... | Test.kt:21:7:22:9 | ... -> ... | | Test.kt:21:7:21:7 | x | Test.kt:21:11:21:11 | 0 | -| Test.kt:21:7:21:11 | ... < ... | Test.kt:2:2:79:2 | Exit | +| Test.kt:21:7:21:11 | ... < ... | Test.kt:2:2:79:2 | Normal Exit | | Test.kt:21:7:21:11 | ... < ... | Test.kt:22:4:22:9 | ; | | Test.kt:21:7:21:11 | ... < ... | Test.kt:24:4:24:11 | ... -> ... | | Test.kt:21:7:22:9 | ... -> ... | Test.kt:21:7:21:7 | x | @@ -141,7 +141,7 @@ | Test.kt:92:4:93:9 | ; | Test.kt:92:4:93:9 | when ... | | Test.kt:92:4:93:9 | when ... | Test.kt:92:8:93:9 | ... -> ... | | Test.kt:92:8:92:8 | a | Test.kt:92:13:92:14 | 10 | -| Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:81:2:98:2 | Exit | +| Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:81:2:98:2 | Normal Exit | | Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:93:5:93:9 | break | | Test.kt:92:8:92:14 | ... (value equals) ... | Test.kt:94:4:95:12 | ; | | Test.kt:92:8:93:9 | ... -> ... | Test.kt:92:8:92:8 | a | diff --git a/java/ql/test/library-tests/controlflow/basic/bbStmts.expected b/java/ql/test/library-tests/controlflow/basic/bbStmts.expected index 0fbf3623f089..df336ce90a22 100644 --- a/java/ql/test/library-tests/controlflow/basic/bbStmts.expected +++ b/java/ql/test/library-tests/controlflow/basic/bbStmts.expected @@ -1,7 +1,11 @@ +| Test.java:3:14:3:17 | Exceptional Exit | 0 | Test.java:3:14:3:17 | Exceptional Exit | +| Test.java:3:14:3:17 | Exit | 0 | Test.java:3:14:3:17 | Exit | | Test.java:3:14:3:17 | { ... } | 0 | Test.java:3:14:3:17 | { ... } | | Test.java:3:14:3:17 | { ... } | 1 | Test.java:3:14:3:17 | super(...) | -| Test.java:3:14:3:17 | { ... } | 2 | Test.java:3:14:3:17 | Exit | +| Test.java:3:14:3:17 | { ... } | 2 | Test.java:3:14:3:17 | Normal Exit | +| Test.java:4:14:4:17 | Exceptional Exit | 0 | Test.java:4:14:4:17 | Exceptional Exit | | Test.java:4:14:4:17 | Exit | 0 | Test.java:4:14:4:17 | Exit | +| Test.java:4:14:4:17 | Normal Exit | 0 | Test.java:4:14:4:17 | Normal Exit | | Test.java:4:21:76:2 | { ... } | 0 | Test.java:4:21:76:2 | { ... } | | Test.java:4:21:76:2 | { ... } | 1 | Test.java:5:3:5:12 | var ...; | | Test.java:4:21:76:2 | { ... } | 2 | Test.java:5:11:5:11 | 0 | diff --git a/java/ql/test/library-tests/controlflow/basic/bbStrictDominance.expected b/java/ql/test/library-tests/controlflow/basic/bbStrictDominance.expected index 8440209d0a45..be658fb29158 100644 --- a/java/ql/test/library-tests/controlflow/basic/bbStrictDominance.expected +++ b/java/ql/test/library-tests/controlflow/basic/bbStrictDominance.expected @@ -1,4 +1,7 @@ +| Test.java:3:14:3:17 | { ... } | Test.java:3:14:3:17 | Exit | +| Test.java:4:14:4:17 | Normal Exit | Test.java:4:14:4:17 | Exit | | Test.java:4:21:76:2 | { ... } | Test.java:4:14:4:17 | Exit | +| Test.java:4:21:76:2 | { ... } | Test.java:4:14:4:17 | Normal Exit | | Test.java:4:21:76:2 | { ... } | Test.java:11:14:14:3 | { ... } | | Test.java:4:21:76:2 | { ... } | Test.java:14:10:16:3 | { ... } | | Test.java:4:21:76:2 | { ... } | Test.java:18:3:18:8 | ; | @@ -21,6 +24,7 @@ | Test.java:4:21:76:2 | { ... } | Test.java:63:9:66:4 | { ... } | | Test.java:4:21:76:2 | { ... } | Test.java:70:3:70:9 | ; | | Test.java:18:3:18:8 | ; | Test.java:4:14:4:17 | Exit | +| Test.java:18:3:18:8 | ; | Test.java:4:14:4:17 | Normal Exit | | Test.java:18:3:18:8 | ; | Test.java:22:4:22:10 | ; | | Test.java:18:3:18:8 | ; | Test.java:24:4:24:10 | return ... | | Test.java:18:3:18:8 | ; | Test.java:30:15:33:3 | { ... } | diff --git a/java/ql/test/library-tests/controlflow/basic/bbSuccessor.expected b/java/ql/test/library-tests/controlflow/basic/bbSuccessor.expected index 0886f784fd9a..a6e5d8430c12 100644 --- a/java/ql/test/library-tests/controlflow/basic/bbSuccessor.expected +++ b/java/ql/test/library-tests/controlflow/basic/bbSuccessor.expected @@ -1,3 +1,7 @@ +| Test.java:3:14:3:17 | Exceptional Exit | Test.java:3:14:3:17 | Exit | +| Test.java:3:14:3:17 | { ... } | Test.java:3:14:3:17 | Exit | +| Test.java:4:14:4:17 | Exceptional Exit | Test.java:4:14:4:17 | Exit | +| Test.java:4:14:4:17 | Normal Exit | Test.java:4:14:4:17 | Exit | | Test.java:4:21:76:2 | { ... } | Test.java:11:14:14:3 | { ... } | | Test.java:4:21:76:2 | { ... } | Test.java:14:10:16:3 | { ... } | | Test.java:11:14:14:3 | { ... } | Test.java:18:3:18:8 | ; | @@ -6,7 +10,7 @@ | Test.java:18:3:18:8 | ; | Test.java:24:4:24:10 | return ... | | Test.java:22:4:22:10 | ; | Test.java:30:15:33:3 | { ... } | | Test.java:22:4:22:10 | ; | Test.java:35:3:35:9 | ; | -| Test.java:24:4:24:10 | return ... | Test.java:4:14:4:17 | Exit | +| Test.java:24:4:24:10 | return ... | Test.java:4:14:4:17 | Normal Exit | | Test.java:30:15:33:3 | { ... } | Test.java:35:3:35:9 | ; | | Test.java:35:3:35:9 | ; | Test.java:38:9:38:9 | x | | Test.java:38:9:38:9 | x | Test.java:38:16:41:3 | { ... } | @@ -27,4 +31,4 @@ | Test.java:57:15:60:5 | { ... } | Test.java:70:3:70:9 | ; | | Test.java:60:12:62:5 | { ... } | Test.java:54:26:54:26 | j | | Test.java:63:9:66:4 | { ... } | Test.java:54:26:54:26 | j | -| Test.java:70:3:70:9 | ; | Test.java:4:14:4:17 | Exit | +| Test.java:70:3:70:9 | ; | Test.java:4:14:4:17 | Normal Exit | diff --git a/java/ql/test/library-tests/controlflow/dominance/dominator.expected b/java/ql/test/library-tests/controlflow/dominance/dominator.expected index de43e6721e64..1e385c4fd62f 100644 --- a/java/ql/test/library-tests/controlflow/dominance/dominator.expected +++ b/java/ql/test/library-tests/controlflow/dominance/dominator.expected @@ -27,7 +27,7 @@ | Test.java:14:18:14:18 | y | Test.java:14:14:14:18 | ... + ... | | Test.java:17:3:17:12 | if (...) | Test.java:17:7:17:7 | x | | Test.java:17:7:17:7 | x | Test.java:17:11:17:11 | 0 | -| Test.java:17:7:17:11 | ... < ... | Test.java:2:6:2:9 | Exit | +| Test.java:17:7:17:11 | ... < ... | Test.java:2:6:2:9 | Normal Exit | | Test.java:17:7:17:11 | ... < ... | Test.java:18:4:18:10 | ; | | Test.java:17:7:17:11 | ... < ... | Test.java:20:11:20:11 | z | | Test.java:17:11:17:11 | 0 | Test.java:17:7:17:11 | ... < ... | @@ -163,7 +163,7 @@ | Test.java:83:9:83:9 | c | Test.java:83:5:83:9 | ...=... | | Test.java:85:4:85:15 | if (...) | Test.java:85:8:85:8 | a | | Test.java:85:8:85:8 | a | Test.java:85:13:85:14 | 10 | -| Test.java:85:8:85:14 | ... == ... | Test.java:74:6:74:10 | Exit | +| Test.java:85:8:85:14 | ... == ... | Test.java:74:6:74:10 | Normal Exit | | Test.java:85:8:85:14 | ... == ... | Test.java:86:5:86:10 | break | | Test.java:85:8:85:14 | ... == ... | Test.java:87:4:87:15 | if (...) | | Test.java:85:13:85:14 | 10 | Test.java:85:8:85:14 | ... == ... | diff --git a/java/ql/test/library-tests/guards/guards.expected b/java/ql/test/library-tests/guards/guards.expected index 2c5bff6233ad..ffe67bc3a323 100644 --- a/java/ql/test/library-tests/guards/guards.expected +++ b/java/ql/test/library-tests/guards/guards.expected @@ -1,3 +1,4 @@ +| Test.java:5:7:5:11 | ... < ... | false | Test.java:3:7:3:10 | Normal Exit | | Test.java:5:7:5:11 | ... < ... | false | Test.java:8:3:8:12 | var ...; | | Test.java:5:7:5:11 | ... < ... | false | Test.java:9:9:9:9 | x | | Test.java:5:7:5:11 | ... < ... | false | Test.java:9:17:22:3 | { ... } | @@ -10,6 +11,7 @@ | Test.java:5:7:5:11 | ... < ... | false | Test.java:18:24:20:4 | { ... } | | Test.java:5:7:5:11 | ... < ... | false | Test.java:21:4:21:7 | ; | | Test.java:5:7:5:11 | ... < ... | true | Test.java:5:14:7:3 | { ... } | +| Test.java:9:9:9:14 | ... >= ... | false | Test.java:3:7:3:10 | Normal Exit | | Test.java:9:9:9:14 | ... >= ... | true | Test.java:9:17:22:3 | { ... } | | Test.java:9:9:9:14 | ... >= ... | true | Test.java:11:5:11:8 | ; | | Test.java:9:9:9:14 | ... >= ... | true | Test.java:12:4:12:14 | if (...) | diff --git a/java/ql/test/library-tests/guards/guardslogic.expected b/java/ql/test/library-tests/guards/guardslogic.expected index 29c11ccd153d..6bf536d3ce1c 100644 --- a/java/ql/test/library-tests/guards/guardslogic.expected +++ b/java/ql/test/library-tests/guards/guardslogic.expected @@ -46,6 +46,11 @@ | Logic.java:36:16:36:21 | g(...) | false | Logic.java:40:5:40:18 | var ...; | | Logic.java:37:9:37:14 | ... > ... | true | Logic.java:37:17:39:5 | { ... } | | Logic.java:44:10:44:10 | b | false | Logic.java:44:33:44:35 | msg | +| Logic.java:44:10:44:10 | b | true | Logic.java:43:23:43:31 | Normal Exit | +| Logic.java:48:5:48:22 | checkTrue(...) | exception | Logic.java:47:23:47:32 | Exceptional Exit | +| Logic.java:48:5:48:22 | checkTrue(...) | no exception | Logic.java:47:23:47:32 | Normal Exit | +| Logic.java:48:15:48:16 | !... | true | Logic.java:47:23:47:32 | Normal Exit | +| Logic.java:48:16:48:16 | b | false | Logic.java:47:23:47:32 | Normal Exit | | Logic.java:52:5:52:29 | checkTrue(...) | no exception | Logic.java:53:5:53:28 | ; | | Logic.java:52:5:52:29 | checkTrue(...) | no exception | Logic.java:54:5:54:15 | if (...) | | Logic.java:52:5:52:29 | checkTrue(...) | no exception | Logic.java:54:17:56:5 | { ... } | @@ -62,3 +67,8 @@ | Logic.java:53:21:53:26 | g(...) | false | Logic.java:57:5:57:18 | var ...; | | Logic.java:54:9:54:14 | ... > ... | true | Logic.java:54:17:56:5 | { ... } | | Logic.java:61:10:61:10 | b | false | Logic.java:61:33:61:35 | msg | +| Logic.java:61:10:61:10 | b | true | Logic.java:60:23:60:31 | Normal Exit | +| Logic.java:65:5:65:22 | checkTrue(...) | exception | Logic.java:64:23:64:32 | Exceptional Exit | +| Logic.java:65:5:65:22 | checkTrue(...) | no exception | Logic.java:64:23:64:32 | Normal Exit | +| Logic.java:65:15:65:16 | !... | true | Logic.java:64:23:64:32 | Normal Exit | +| Logic.java:65:16:65:16 | b | false | Logic.java:64:23:64:32 | Normal Exit | diff --git a/java/ql/test/library-tests/guards/guardspreconditions.expected b/java/ql/test/library-tests/guards/guardspreconditions.expected index 41080a5dab6e..2d4597f0282b 100644 --- a/java/ql/test/library-tests/guards/guardspreconditions.expected +++ b/java/ql/test/library-tests/guards/guardspreconditions.expected @@ -1,20 +1,44 @@ +| Preconditions.java:8:9:8:31 | assertTrue(...) | exception | Preconditions.java:7:10:7:14 | Exceptional Exit | | Preconditions.java:8:9:8:31 | assertTrue(...) | no exception | Preconditions.java:9:9:9:18 | ; | +| Preconditions.java:13:9:13:32 | assertTrue(...) | exception | Preconditions.java:12:10:12:14 | Exceptional Exit | | Preconditions.java:13:9:13:32 | assertTrue(...) | no exception | Preconditions.java:14:9:14:18 | ; | +| Preconditions.java:18:9:18:33 | assertFalse(...) | exception | Preconditions.java:17:10:17:14 | Exceptional Exit | | Preconditions.java:18:9:18:33 | assertFalse(...) | no exception | Preconditions.java:19:9:19:18 | ; | +| Preconditions.java:23:9:23:32 | assertFalse(...) | exception | Preconditions.java:22:10:22:14 | Exceptional Exit | | Preconditions.java:23:9:23:32 | assertFalse(...) | no exception | Preconditions.java:24:9:24:18 | ; | +| Preconditions.java:28:9:28:41 | assertTrue(...) | exception | Preconditions.java:27:10:27:14 | Exceptional Exit | | Preconditions.java:28:9:28:41 | assertTrue(...) | no exception | Preconditions.java:29:9:29:18 | ; | +| Preconditions.java:33:9:33:42 | assertTrue(...) | exception | Preconditions.java:32:10:32:14 | Exceptional Exit | | Preconditions.java:33:9:33:42 | assertTrue(...) | no exception | Preconditions.java:34:9:34:18 | ; | +| Preconditions.java:38:9:38:43 | assertFalse(...) | exception | Preconditions.java:37:10:37:14 | Exceptional Exit | | Preconditions.java:38:9:38:43 | assertFalse(...) | no exception | Preconditions.java:39:9:39:18 | ; | +| Preconditions.java:43:9:43:42 | assertFalse(...) | exception | Preconditions.java:42:10:42:14 | Exceptional Exit | | Preconditions.java:43:9:43:42 | assertFalse(...) | no exception | Preconditions.java:44:9:44:18 | ; | +| Preconditions.java:48:9:48:35 | assertTrue(...) | exception | Preconditions.java:47:10:47:14 | Exceptional Exit | | Preconditions.java:48:9:48:35 | assertTrue(...) | no exception | Preconditions.java:49:9:49:18 | ; | +| Preconditions.java:53:9:53:36 | assertTrue(...) | exception | Preconditions.java:52:10:52:15 | Exceptional Exit | | Preconditions.java:53:9:53:36 | assertTrue(...) | no exception | Preconditions.java:54:9:54:18 | ; | +| Preconditions.java:58:9:58:37 | assertFalse(...) | exception | Preconditions.java:57:10:57:15 | Exceptional Exit | | Preconditions.java:58:9:58:37 | assertFalse(...) | no exception | Preconditions.java:59:9:59:18 | ; | +| Preconditions.java:63:9:63:36 | assertFalse(...) | exception | Preconditions.java:62:10:62:15 | Exceptional Exit | | Preconditions.java:63:9:63:36 | assertFalse(...) | no exception | Preconditions.java:64:9:64:18 | ; | +| Preconditions.java:68:9:68:45 | assertTrue(...) | exception | Preconditions.java:67:10:67:15 | Exceptional Exit | | Preconditions.java:68:9:68:45 | assertTrue(...) | no exception | Preconditions.java:69:9:69:18 | ; | +| Preconditions.java:73:9:73:46 | assertTrue(...) | exception | Preconditions.java:72:10:72:15 | Exceptional Exit | | Preconditions.java:73:9:73:46 | assertTrue(...) | no exception | Preconditions.java:74:9:74:18 | ; | +| Preconditions.java:78:9:78:47 | assertFalse(...) | exception | Preconditions.java:77:10:77:15 | Exceptional Exit | | Preconditions.java:78:9:78:47 | assertFalse(...) | no exception | Preconditions.java:79:9:79:18 | ; | +| Preconditions.java:83:9:83:46 | assertFalse(...) | exception | Preconditions.java:82:10:82:15 | Exceptional Exit | | Preconditions.java:83:9:83:46 | assertFalse(...) | no exception | Preconditions.java:84:9:84:18 | ; | +| Preconditions.java:88:9:88:15 | t(...) | exception | Preconditions.java:87:10:87:15 | Exceptional Exit | | Preconditions.java:88:9:88:15 | t(...) | no exception | Preconditions.java:89:9:89:18 | ; | +| Preconditions.java:93:9:93:16 | t(...) | exception | Preconditions.java:92:10:92:15 | Exceptional Exit | | Preconditions.java:93:9:93:16 | t(...) | no exception | Preconditions.java:94:9:94:18 | ; | +| Preconditions.java:98:9:98:16 | f(...) | exception | Preconditions.java:97:10:97:15 | Exceptional Exit | | Preconditions.java:98:9:98:16 | f(...) | no exception | Preconditions.java:99:9:99:18 | ; | +| Preconditions.java:103:9:103:15 | f(...) | exception | Preconditions.java:102:10:102:15 | Exceptional Exit | | Preconditions.java:103:9:103:15 | f(...) | no exception | Preconditions.java:104:9:104:18 | ; | +| Preconditions.java:108:9:108:46 | assertTrue(...) | exception | Preconditions.java:107:17:107:17 | Exceptional Exit | +| Preconditions.java:108:9:108:46 | assertTrue(...) | no exception | Preconditions.java:107:17:107:17 | Normal Exit | +| Preconditions.java:112:9:112:47 | assertFalse(...) | exception | Preconditions.java:111:17:111:17 | Exceptional Exit | +| Preconditions.java:112:9:112:47 | assertFalse(...) | no exception | Preconditions.java:111:17:111:17 | Normal Exit | diff --git a/java/ql/test/library-tests/java7/MultiCatch/MultiCatchControlFlow.expected b/java/ql/test/library-tests/java7/MultiCatch/MultiCatchControlFlow.expected index a849ab5392d5..d389eb658f5e 100644 --- a/java/ql/test/library-tests/java7/MultiCatch/MultiCatchControlFlow.expected +++ b/java/ql/test/library-tests/java7/MultiCatch/MultiCatchControlFlow.expected @@ -1,4 +1,4 @@ -| MultiCatch.java:6:14:6:23 | super(...) | MultiCatch.java:6:14:6:23 | Exit | +| MultiCatch.java:6:14:6:23 | super(...) | MultiCatch.java:6:14:6:23 | Normal Exit | | MultiCatch.java:6:14:6:23 | { ... } | MultiCatch.java:6:14:6:23 | super(...) | | MultiCatch.java:8:2:20:2 | { ... } | MultiCatch.java:9:3:19:3 | try ... | | MultiCatch.java:9:3:19:3 | try ... | MultiCatch.java:10:3:15:3 | { ... } | @@ -16,7 +16,7 @@ | MultiCatch.java:17:4:17:4 | e | MultiCatch.java:17:4:17:22 | printStackTrace(...) | | MultiCatch.java:17:4:17:22 | printStackTrace(...) | MultiCatch.java:18:10:18:10 | e | | MultiCatch.java:17:4:17:23 | ; | MultiCatch.java:17:4:17:4 | e | -| MultiCatch.java:18:4:18:11 | throw ... | MultiCatch.java:7:14:7:23 | Exit | +| MultiCatch.java:18:4:18:11 | throw ... | MultiCatch.java:7:14:7:23 | Exceptional Exit | | MultiCatch.java:18:10:18:10 | e | MultiCatch.java:18:4:18:11 | throw ... | | MultiCatch.java:23:2:33:2 | { ... } | MultiCatch.java:24:3:32:4 | try ... | | MultiCatch.java:24:3:32:4 | try ... | MultiCatch.java:25:3:31:3 | { ... } | @@ -31,12 +31,12 @@ | MultiCatch.java:28:12:28:12 | c | MultiCatch.java:30:10:30:24 | new Exception(...) | | MultiCatch.java:29:5:29:29 | throw ... | MultiCatch.java:31:5:31:37 | catch (...) | | MultiCatch.java:29:11:29:28 | new SQLException(...) | MultiCatch.java:29:5:29:29 | throw ... | -| MultiCatch.java:30:4:30:25 | throw ... | MultiCatch.java:22:14:22:24 | Exit | +| MultiCatch.java:30:4:30:25 | throw ... | MultiCatch.java:22:14:22:24 | Exceptional Exit | | MultiCatch.java:30:4:30:25 | throw ... | MultiCatch.java:31:5:31:37 | catch (...) | | MultiCatch.java:30:10:30:24 | new Exception(...) | MultiCatch.java:30:4:30:25 | throw ... | | MultiCatch.java:31:5:31:37 | catch (...) | MultiCatch.java:31:36:31:36 | e | | MultiCatch.java:31:36:31:36 | e | MultiCatch.java:32:3:32:4 | { ... } | -| MultiCatch.java:32:3:32:4 | { ... } | MultiCatch.java:22:14:22:24 | Exit | +| MultiCatch.java:32:3:32:4 | { ... } | MultiCatch.java:22:14:22:24 | Normal Exit | | MultiCatch.java:36:2:42:2 | { ... } | MultiCatch.java:37:3:41:4 | try ... | | MultiCatch.java:37:3:41:4 | try ... | MultiCatch.java:38:3:40:3 | { ... } | | MultiCatch.java:38:3:40:3 | { ... } | MultiCatch.java:39:10:39:26 | new IOException(...) | @@ -45,4 +45,4 @@ | MultiCatch.java:39:10:39:26 | new IOException(...) | MultiCatch.java:40:5:40:22 | catch (...) | | MultiCatch.java:40:5:40:22 | catch (...) | MultiCatch.java:40:21:40:21 | e | | MultiCatch.java:40:21:40:21 | e | MultiCatch.java:41:3:41:4 | { ... } | -| MultiCatch.java:41:3:41:4 | { ... } | MultiCatch.java:35:14:35:26 | Exit | +| MultiCatch.java:41:3:41:4 | { ... } | MultiCatch.java:35:14:35:26 | Normal Exit | diff --git a/java/ql/test/library-tests/pattern-instanceof/cfg.expected b/java/ql/test/library-tests/pattern-instanceof/cfg.expected index b6caebd532a6..5ef73c8ac78d 100644 --- a/java/ql/test/library-tests/pattern-instanceof/cfg.expected +++ b/java/ql/test/library-tests/pattern-instanceof/cfg.expected @@ -1,5 +1,9 @@ -| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Exit | +| Test.java:1:14:1:17 | Exceptional Exit | Test.java:1:14:1:17 | Exit | +| Test.java:1:14:1:17 | Normal Exit | Test.java:1:14:1:17 | Exit | +| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Normal Exit | | Test.java:1:14:1:17 | { ... } | Test.java:1:14:1:17 | super(...) | +| Test.java:3:22:3:25 | Exceptional Exit | Test.java:3:22:3:25 | Exit | +| Test.java:3:22:3:25 | Normal Exit | Test.java:3:22:3:25 | Exit | | Test.java:3:40:20:3 | { ... } | Test.java:5:5:5:34 | var ...; | | Test.java:5:5:5:34 | var ...; | Test.java:5:26:5:33 | source(...) | | Test.java:5:12:5:33 | directTaint | Test.java:6:5:6:36 | var ...; | @@ -29,7 +33,7 @@ | Test.java:11:12:11:12 | s | Test.java:11:7:11:13 | sink(...) | | Test.java:14:5:14:92 | if (...) | Test.java:14:9:14:9 | o | | Test.java:14:9:14:9 | o | Test.java:14:9:14:91 | ...instanceof... | -| Test.java:14:9:14:91 | ...instanceof... | Test.java:3:22:3:25 | Exit | +| Test.java:14:9:14:91 | ...instanceof... | Test.java:3:22:3:25 | Normal Exit | | Test.java:14:9:14:91 | ...instanceof... | Test.java:14:41:14:47 | tainted | | Test.java:14:22:14:91 | Outer(...) | Test.java:14:94:18:5 | { ... } | | Test.java:14:28:14:67 | Inner(...) | Test.java:14:77:14:90 | alsoNotTainted | @@ -43,17 +47,23 @@ | Test.java:16:7:16:22 | sink(...) | Test.java:17:7:17:27 | ; | | Test.java:16:7:16:23 | ; | Test.java:16:12:16:21 | notTainted | | Test.java:16:12:16:21 | notTainted | Test.java:16:7:16:22 | sink(...) | -| Test.java:17:7:17:26 | sink(...) | Test.java:3:22:3:25 | Exit | +| Test.java:17:7:17:26 | sink(...) | Test.java:3:22:3:25 | Normal Exit | | Test.java:17:7:17:27 | ; | Test.java:17:12:17:25 | alsoNotTainted | | Test.java:17:12:17:25 | alsoNotTainted | Test.java:17:7:17:26 | sink(...) | +| Test.java:22:24:22:29 | Exceptional Exit | Test.java:22:24:22:29 | Exit | +| Test.java:22:24:22:29 | Normal Exit | Test.java:22:24:22:29 | Exit | | Test.java:22:33:22:53 | { ... } | Test.java:22:42:22:50 | "tainted" | -| Test.java:22:35:22:51 | return ... | Test.java:22:24:22:29 | Exit | +| Test.java:22:35:22:51 | return ... | Test.java:22:24:22:29 | Normal Exit | | Test.java:22:42:22:50 | "tainted" | Test.java:22:35:22:51 | return ... | -| Test.java:23:40:23:42 | { ... } | Test.java:23:22:23:25 | Exit | +| Test.java:23:22:23:25 | Exceptional Exit | Test.java:23:22:23:25 | Exit | +| Test.java:23:22:23:25 | Normal Exit | Test.java:23:22:23:25 | Exit | +| Test.java:23:40:23:42 | { ... } | Test.java:23:22:23:25 | Normal Exit | | Test.java:27:8:27:12 | ...=... | Test.java:27:8:27:12 | ; | -| Test.java:27:8:27:12 | ...=... | Test.java:27:8:27:12 | Exit | +| Test.java:27:8:27:12 | ...=... | Test.java:27:8:27:12 | Normal Exit | | Test.java:27:8:27:12 | ; | Test.java:27:8:27:12 | this | | Test.java:27:8:27:12 | ; | Test.java:27:8:27:12 | this | +| Test.java:27:8:27:12 | Exceptional Exit | Test.java:27:8:27:12 | Exit | +| Test.java:27:8:27:12 | Normal Exit | Test.java:27:8:27:12 | Exit | | Test.java:27:8:27:12 | i | Test.java:27:8:27:12 | ...=... | | Test.java:27:8:27:12 | otherField | Test.java:27:8:27:12 | ...=... | | Test.java:27:8:27:12 | super(...) | Test.java:27:8:27:12 | ; | @@ -61,9 +71,11 @@ | Test.java:27:8:27:12 | this | Test.java:27:8:27:12 | otherField | | Test.java:27:8:27:12 | { ... } | Test.java:27:8:27:12 | super(...) | | Test.java:28:8:28:12 | ...=... | Test.java:28:8:28:12 | ; | -| Test.java:28:8:28:12 | ...=... | Test.java:28:8:28:12 | Exit | +| Test.java:28:8:28:12 | ...=... | Test.java:28:8:28:12 | Normal Exit | | Test.java:28:8:28:12 | ; | Test.java:28:8:28:12 | this | | Test.java:28:8:28:12 | ; | Test.java:28:8:28:12 | this | +| Test.java:28:8:28:12 | Exceptional Exit | Test.java:28:8:28:12 | Exit | +| Test.java:28:8:28:12 | Normal Exit | Test.java:28:8:28:12 | Exit | | Test.java:28:8:28:12 | nonTaintedField | Test.java:28:8:28:12 | ...=... | | Test.java:28:8:28:12 | super(...) | Test.java:28:8:28:12 | ; | | Test.java:28:8:28:12 | taintedField | Test.java:28:8:28:12 | ...=... | diff --git a/java/ql/test/library-tests/pattern-switch/cfg/test.expected b/java/ql/test/library-tests/pattern-switch/cfg/test.expected index c29059faf33e..f9058bd8f4c2 100644 --- a/java/ql/test/library-tests/pattern-switch/cfg/test.expected +++ b/java/ql/test/library-tests/pattern-switch/cfg/test.expected @@ -1,6 +1,12 @@ -| Exhaustive.java:1:14:1:23 | super(...) | Exhaustive.java:1:14:1:23 | Exit | +| Exhaustive.java:1:14:1:23 | Exceptional Exit | Exhaustive.java:1:14:1:23 | Exit | +| Exhaustive.java:1:14:1:23 | Normal Exit | Exhaustive.java:1:14:1:23 | Exit | +| Exhaustive.java:1:14:1:23 | super(...) | Exhaustive.java:1:14:1:23 | Normal Exit | | Exhaustive.java:1:14:1:23 | { ... } | Exhaustive.java:1:14:1:23 | super(...) | -| Exhaustive.java:3:8:3:8 | super(...) | Exhaustive.java:3:8:3:8 | Exit | +| Exhaustive.java:3:8:3:8 | Exceptional Exit | Exhaustive.java:3:8:3:8 | Exit | +| Exhaustive.java:3:8:3:8 | Exceptional Exit | Exhaustive.java:3:8:3:8 | Exit | +| Exhaustive.java:3:8:3:8 | Normal Exit | Exhaustive.java:3:8:3:8 | Exit | +| Exhaustive.java:3:8:3:8 | Normal Exit | Exhaustive.java:3:8:3:8 | Exit | +| Exhaustive.java:3:8:3:8 | super(...) | Exhaustive.java:3:8:3:8 | Normal Exit | | Exhaustive.java:3:8:3:8 | { ... } | Exhaustive.java:3:8:3:8 | super(...) | | Exhaustive.java:3:8:3:8 | { ... } | Exhaustive.java:3:12:3:12 | ; | | Exhaustive.java:3:12:3:12 | ...=... | Exhaustive.java:3:15:3:15 | ; | @@ -9,13 +15,19 @@ | Exhaustive.java:3:15:3:15 | ...=... | Exhaustive.java:3:18:3:18 | ; | | Exhaustive.java:3:15:3:15 | ; | Exhaustive.java:3:15:3:15 | new E(...) | | Exhaustive.java:3:15:3:15 | new E(...) | Exhaustive.java:3:15:3:15 | ...=... | -| Exhaustive.java:3:18:3:18 | ...=... | Exhaustive.java:3:8:3:8 | Exit | +| Exhaustive.java:3:18:3:18 | ...=... | Exhaustive.java:3:8:3:8 | Normal Exit | | Exhaustive.java:3:18:3:18 | ; | Exhaustive.java:3:18:3:18 | new E(...) | | Exhaustive.java:3:18:3:18 | new E(...) | Exhaustive.java:3:18:3:18 | ...=... | -| Exhaustive.java:5:15:5:15 | super(...) | Exhaustive.java:5:15:5:15 | Exit | +| Exhaustive.java:5:15:5:15 | Exceptional Exit | Exhaustive.java:5:15:5:15 | Exit | +| Exhaustive.java:5:15:5:15 | Normal Exit | Exhaustive.java:5:15:5:15 | Exit | +| Exhaustive.java:5:15:5:15 | super(...) | Exhaustive.java:5:15:5:15 | Normal Exit | | Exhaustive.java:5:15:5:15 | { ... } | Exhaustive.java:5:15:5:15 | super(...) | -| Exhaustive.java:6:15:6:15 | super(...) | Exhaustive.java:6:15:6:15 | Exit | +| Exhaustive.java:6:15:6:15 | Exceptional Exit | Exhaustive.java:6:15:6:15 | Exit | +| Exhaustive.java:6:15:6:15 | Normal Exit | Exhaustive.java:6:15:6:15 | Exit | +| Exhaustive.java:6:15:6:15 | super(...) | Exhaustive.java:6:15:6:15 | Normal Exit | | Exhaustive.java:6:15:6:15 | { ... } | Exhaustive.java:6:15:6:15 | super(...) | +| Exhaustive.java:8:22:8:25 | Exceptional Exit | Exhaustive.java:8:22:8:25 | Exit | +| Exhaustive.java:8:22:8:25 | Normal Exit | Exhaustive.java:8:22:8:25 | Exit | | Exhaustive.java:8:47:35:3 | { ... } | Exhaustive.java:11:5:11:14 | switch (...) | | Exhaustive.java:11:5:11:14 | switch (...) | Exhaustive.java:11:13:11:13 | o | | Exhaustive.java:11:13:11:13 | o | Exhaustive.java:12:7:12:22 | case | @@ -50,11 +62,15 @@ | Exhaustive.java:30:13:30:13 | i | Exhaustive.java:31:7:31:15 | case | | Exhaustive.java:31:7:31:15 | case | Exhaustive.java:31:14:31:14 | | | Exhaustive.java:31:7:31:15 | case | Exhaustive.java:32:7:32:15 | case | -| Exhaustive.java:31:14:31:14 | | Exhaustive.java:8:22:8:25 | Exit | +| Exhaustive.java:31:14:31:14 | | Exhaustive.java:8:22:8:25 | Normal Exit | | Exhaustive.java:32:7:32:15 | case | Exhaustive.java:32:14:32:14 | | -| Exhaustive.java:32:14:32:14 | | Exhaustive.java:8:22:8:25 | Exit | -| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Exit | +| Exhaustive.java:32:14:32:14 | | Exhaustive.java:8:22:8:25 | Normal Exit | +| Test.java:1:14:1:17 | Exceptional Exit | Test.java:1:14:1:17 | Exit | +| Test.java:1:14:1:17 | Normal Exit | Test.java:1:14:1:17 | Exit | +| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Normal Exit | | Test.java:1:14:1:17 | { ... } | Test.java:1:14:1:17 | super(...) | +| Test.java:3:22:3:25 | Exceptional Exit | Test.java:3:22:3:25 | Exit | +| Test.java:3:22:3:25 | Normal Exit | Test.java:3:22:3:25 | Exit | | Test.java:3:41:134:3 | { ... } | Test.java:5:6:5:19 | switch (...) | | Test.java:5:6:5:19 | switch (...) | Test.java:5:14:5:18 | thing | | Test.java:5:14:5:18 | thing | Test.java:6:8:6:23 | case | @@ -380,11 +396,13 @@ | Test.java:130:8:130:21 | case | Test.java:130:20:130:20 | | | Test.java:130:8:130:21 | case | Test.java:131:8:131:15 | default | | Test.java:130:20:130:20 | | Test.java:131:8:131:15 | default | -| Test.java:131:8:131:15 | default | Test.java:3:22:3:25 | Exit | +| Test.java:131:8:131:15 | default | Test.java:3:22:3:25 | Normal Exit | | Test.java:138:8:138:8 | ...=... | Test.java:138:8:138:8 | ; | -| Test.java:138:8:138:8 | ...=... | Test.java:138:8:138:8 | Exit | +| Test.java:138:8:138:8 | ...=... | Test.java:138:8:138:8 | Normal Exit | | Test.java:138:8:138:8 | ; | Test.java:138:8:138:8 | this | | Test.java:138:8:138:8 | ; | Test.java:138:8:138:8 | this | +| Test.java:138:8:138:8 | Exceptional Exit | Test.java:138:8:138:8 | Exit | +| Test.java:138:8:138:8 | Normal Exit | Test.java:138:8:138:8 | Exit | | Test.java:138:8:138:8 | b | Test.java:138:8:138:8 | ...=... | | Test.java:138:8:138:8 | field3 | Test.java:138:8:138:8 | ...=... | | Test.java:138:8:138:8 | super(...) | Test.java:138:8:138:8 | ; | @@ -392,9 +410,11 @@ | Test.java:138:8:138:8 | this | Test.java:138:8:138:8 | field3 | | Test.java:138:8:138:8 | { ... } | Test.java:138:8:138:8 | super(...) | | Test.java:139:8:139:8 | ...=... | Test.java:139:8:139:8 | ; | -| Test.java:139:8:139:8 | ...=... | Test.java:139:8:139:8 | Exit | +| Test.java:139:8:139:8 | ...=... | Test.java:139:8:139:8 | Normal Exit | | Test.java:139:8:139:8 | ; | Test.java:139:8:139:8 | this | | Test.java:139:8:139:8 | ; | Test.java:139:8:139:8 | this | +| Test.java:139:8:139:8 | Exceptional Exit | Test.java:139:8:139:8 | Exit | +| Test.java:139:8:139:8 | Normal Exit | Test.java:139:8:139:8 | Exit | | Test.java:139:8:139:8 | field1 | Test.java:139:8:139:8 | ...=... | | Test.java:139:8:139:8 | field2 | Test.java:139:8:139:8 | ...=... | | Test.java:139:8:139:8 | super(...) | Test.java:139:8:139:8 | ; | diff --git a/java/ql/test/library-tests/successors/CloseReaderTest/TestSucc.expected b/java/ql/test/library-tests/successors/CloseReaderTest/TestSucc.expected index a6f3820334af..fc529feba134 100644 --- a/java/ql/test/library-tests/successors/CloseReaderTest/TestSucc.expected +++ b/java/ql/test/library-tests/successors/CloseReaderTest/TestSucc.expected @@ -1,5 +1,9 @@ -| CloseReaderTest.java:8:14:8:28 | super(...) | CloseReaderTest.java:8:14:8:28 | Exit | +| CloseReaderTest.java:8:14:8:28 | Exceptional Exit | CloseReaderTest.java:8:14:8:28 | Exit | +| CloseReaderTest.java:8:14:8:28 | Normal Exit | CloseReaderTest.java:8:14:8:28 | Exit | +| CloseReaderTest.java:8:14:8:28 | super(...) | CloseReaderTest.java:8:14:8:28 | Normal Exit | | CloseReaderTest.java:8:14:8:28 | { ... } | CloseReaderTest.java:8:14:8:28 | super(...) | +| CloseReaderTest.java:9:23:9:34 | Exceptional Exit | CloseReaderTest.java:9:23:9:34 | Exit | +| CloseReaderTest.java:9:23:9:34 | Normal Exit | CloseReaderTest.java:9:23:9:34 | Exit | | CloseReaderTest.java:10:2:24:2 | { ... } | CloseReaderTest.java:12:3:13:42 | ; | | CloseReaderTest.java:12:3:12:12 | System.out | CloseReaderTest.java:12:20:12:40 | "Enter password for " | | CloseReaderTest.java:12:3:13:41 | print(...) | CloseReaderTest.java:14:3:14:21 | ; | @@ -19,12 +23,12 @@ | CloseReaderTest.java:16:5:16:13 | System.in | CloseReaderTest.java:15:45:16:14 | new InputStreamReader(...) | | CloseReaderTest.java:17:3:23:3 | try ... | CloseReaderTest.java:18:3:20:3 | { ... } | | CloseReaderTest.java:18:3:20:3 | { ... } | CloseReaderTest.java:19:11:19:15 | stdin | -| CloseReaderTest.java:19:4:19:27 | return ... | CloseReaderTest.java:9:23:9:34 | Exit | +| CloseReaderTest.java:19:4:19:27 | return ... | CloseReaderTest.java:9:23:9:34 | Normal Exit | | CloseReaderTest.java:19:11:19:15 | stdin | CloseReaderTest.java:19:11:19:26 | readLine(...) | | CloseReaderTest.java:19:11:19:26 | readLine(...) | CloseReaderTest.java:19:4:19:27 | return ... | | CloseReaderTest.java:19:11:19:26 | readLine(...) | CloseReaderTest.java:20:5:20:26 | catch (...) | | CloseReaderTest.java:20:5:20:26 | catch (...) | CloseReaderTest.java:20:24:20:25 | ex | | CloseReaderTest.java:20:24:20:25 | ex | CloseReaderTest.java:21:3:23:3 | { ... } | | CloseReaderTest.java:21:3:23:3 | { ... } | CloseReaderTest.java:22:11:22:14 | null | -| CloseReaderTest.java:22:4:22:15 | return ... | CloseReaderTest.java:9:23:9:34 | Exit | +| CloseReaderTest.java:22:4:22:15 | return ... | CloseReaderTest.java:9:23:9:34 | Normal Exit | | CloseReaderTest.java:22:11:22:14 | null | CloseReaderTest.java:22:4:22:15 | return ... | diff --git a/java/ql/test/library-tests/successors/LoopVarReadTest/TestSucc.expected b/java/ql/test/library-tests/successors/LoopVarReadTest/TestSucc.expected index dcf2dac3cca1..3566cc8753f2 100644 --- a/java/ql/test/library-tests/successors/LoopVarReadTest/TestSucc.expected +++ b/java/ql/test/library-tests/successors/LoopVarReadTest/TestSucc.expected @@ -1,5 +1,9 @@ -| LoopVarReadTest.java:3:14:3:28 | super(...) | LoopVarReadTest.java:3:14:3:28 | Exit | +| LoopVarReadTest.java:3:14:3:28 | Exceptional Exit | LoopVarReadTest.java:3:14:3:28 | Exit | +| LoopVarReadTest.java:3:14:3:28 | Normal Exit | LoopVarReadTest.java:3:14:3:28 | Exit | +| LoopVarReadTest.java:3:14:3:28 | super(...) | LoopVarReadTest.java:3:14:3:28 | Normal Exit | | LoopVarReadTest.java:3:14:3:28 | { ... } | LoopVarReadTest.java:3:14:3:28 | super(...) | +| LoopVarReadTest.java:4:21:4:28 | Exceptional Exit | LoopVarReadTest.java:4:21:4:28 | Exit | +| LoopVarReadTest.java:4:21:4:28 | Normal Exit | LoopVarReadTest.java:4:21:4:28 | Exit | | LoopVarReadTest.java:5:2:15:2 | { ... } | LoopVarReadTest.java:6:3:6:12 | var ...; | | LoopVarReadTest.java:6:3:6:12 | var ...; | LoopVarReadTest.java:6:11:6:11 | 2 | | LoopVarReadTest.java:6:7:6:11 | x | LoopVarReadTest.java:7:3:7:33 | for (...;...;...) | @@ -23,6 +27,6 @@ | LoopVarReadTest.java:12:7:12:12 | q | LoopVarReadTest.java:14:3:14:28 | ; | | LoopVarReadTest.java:12:11:12:12 | 10 | LoopVarReadTest.java:12:7:12:12 | q | | LoopVarReadTest.java:14:3:14:12 | System.out | LoopVarReadTest.java:14:22:14:26 | "foo" | -| LoopVarReadTest.java:14:3:14:27 | println(...) | LoopVarReadTest.java:4:21:4:28 | Exit | +| LoopVarReadTest.java:14:3:14:27 | println(...) | LoopVarReadTest.java:4:21:4:28 | Normal Exit | | LoopVarReadTest.java:14:3:14:28 | ; | LoopVarReadTest.java:14:3:14:12 | System.out | | LoopVarReadTest.java:14:22:14:26 | "foo" | LoopVarReadTest.java:14:3:14:27 | println(...) | diff --git a/java/ql/test/library-tests/successors/SaveFileTest/TestSucc.expected b/java/ql/test/library-tests/successors/SaveFileTest/TestSucc.expected index 3c261f67ee15..640e731147f9 100644 --- a/java/ql/test/library-tests/successors/SaveFileTest/TestSucc.expected +++ b/java/ql/test/library-tests/successors/SaveFileTest/TestSucc.expected @@ -1,5 +1,9 @@ -| SaveFileTest.java:11:14:11:25 | super(...) | SaveFileTest.java:11:14:11:25 | Exit | +| SaveFileTest.java:11:14:11:25 | Exceptional Exit | SaveFileTest.java:11:14:11:25 | Exit | +| SaveFileTest.java:11:14:11:25 | Normal Exit | SaveFileTest.java:11:14:11:25 | Exit | +| SaveFileTest.java:11:14:11:25 | super(...) | SaveFileTest.java:11:14:11:25 | Normal Exit | | SaveFileTest.java:11:14:11:25 | { ... } | SaveFileTest.java:11:14:11:25 | super(...) | +| SaveFileTest.java:12:14:12:21 | Exceptional Exit | SaveFileTest.java:12:14:12:21 | Exit | +| SaveFileTest.java:12:14:12:21 | Normal Exit | SaveFileTest.java:12:14:12:21 | Exit | | SaveFileTest.java:15:2:55:2 | { ... } | SaveFileTest.java:17:3:17:25 | var ...; | | SaveFileTest.java:17:3:17:25 | var ...; | SaveFileTest.java:17:21:17:24 | path | | SaveFileTest.java:17:10:17:24 | savePath | SaveFileTest.java:18:3:18:27 | if (...) | @@ -95,9 +99,11 @@ | SaveFileTest.java:48:5:48:15 | flush(...) | SaveFileTest.java:50:6:50:30 | catch (...) | | SaveFileTest.java:48:5:48:16 | ; | SaveFileTest.java:48:5:48:7 | bos | | SaveFileTest.java:49:5:49:7 | bos | SaveFileTest.java:49:5:49:15 | close(...) | -| SaveFileTest.java:49:5:49:15 | close(...) | SaveFileTest.java:12:14:12:21 | Exit | +| SaveFileTest.java:49:5:49:15 | close(...) | SaveFileTest.java:12:14:12:21 | Exceptional Exit | +| SaveFileTest.java:49:5:49:15 | close(...) | SaveFileTest.java:12:14:12:21 | Normal Exit | | SaveFileTest.java:49:5:49:15 | close(...) | SaveFileTest.java:50:6:50:30 | catch (...) | | SaveFileTest.java:49:5:49:16 | ; | SaveFileTest.java:49:5:49:7 | bos | | SaveFileTest.java:50:6:50:30 | catch (...) | SaveFileTest.java:50:23:50:29 | ignored | | SaveFileTest.java:50:23:50:29 | ignored | SaveFileTest.java:51:4:52:4 | { ... } | -| SaveFileTest.java:51:4:52:4 | { ... } | SaveFileTest.java:12:14:12:21 | Exit | +| SaveFileTest.java:51:4:52:4 | { ... } | SaveFileTest.java:12:14:12:21 | Exceptional Exit | +| SaveFileTest.java:51:4:52:4 | { ... } | SaveFileTest.java:12:14:12:21 | Normal Exit | diff --git a/java/ql/test/library-tests/successors/SchackTest/TestSucc.expected b/java/ql/test/library-tests/successors/SchackTest/TestSucc.expected index c645abe35072..a23f6a2bc54e 100644 --- a/java/ql/test/library-tests/successors/SchackTest/TestSucc.expected +++ b/java/ql/test/library-tests/successors/SchackTest/TestSucc.expected @@ -1,9 +1,17 @@ -| SchackTest.java:1:14:1:23 | super(...) | SchackTest.java:1:14:1:23 | Exit | +| SchackTest.java:1:14:1:23 | Exceptional Exit | SchackTest.java:1:14:1:23 | Exit | +| SchackTest.java:1:14:1:23 | Normal Exit | SchackTest.java:1:14:1:23 | Exit | +| SchackTest.java:1:14:1:23 | super(...) | SchackTest.java:1:14:1:23 | Normal Exit | | SchackTest.java:1:14:1:23 | { ... } | SchackTest.java:1:14:1:23 | super(...) | -| SchackTest.java:2:8:2:10 | super(...) | SchackTest.java:2:8:2:10 | Exit | +| SchackTest.java:2:8:2:10 | Exceptional Exit | SchackTest.java:2:8:2:10 | Exit | +| SchackTest.java:2:8:2:10 | Normal Exit | SchackTest.java:2:8:2:10 | Exit | +| SchackTest.java:2:8:2:10 | super(...) | SchackTest.java:2:8:2:10 | Normal Exit | | SchackTest.java:2:8:2:10 | { ... } | SchackTest.java:2:8:2:10 | super(...) | -| SchackTest.java:3:8:3:10 | super(...) | SchackTest.java:3:8:3:10 | Exit | +| SchackTest.java:3:8:3:10 | Exceptional Exit | SchackTest.java:3:8:3:10 | Exit | +| SchackTest.java:3:8:3:10 | Normal Exit | SchackTest.java:3:8:3:10 | Exit | +| SchackTest.java:3:8:3:10 | super(...) | SchackTest.java:3:8:3:10 | Normal Exit | | SchackTest.java:3:8:3:10 | { ... } | SchackTest.java:3:8:3:10 | super(...) | +| SchackTest.java:5:7:5:9 | Exceptional Exit | SchackTest.java:5:7:5:9 | Exit | +| SchackTest.java:5:7:5:9 | Normal Exit | SchackTest.java:5:7:5:9 | Exit | | SchackTest.java:5:18:24:2 | { ... } | SchackTest.java:6:3:23:3 | try ... | | SchackTest.java:6:3:23:3 | try ... | SchackTest.java:6:7:17:3 | { ... } | | SchackTest.java:6:7:17:3 | { ... } | SchackTest.java:7:4:15:4 | try ... | @@ -56,18 +64,21 @@ | SchackTest.java:20:23:20:72 | "successor (but neither true nor false successor)" | SchackTest.java:20:4:20:73 | println(...) | | SchackTest.java:21:13:23:3 | { ... } | SchackTest.java:22:4:22:41 | ; | | SchackTest.java:22:4:22:13 | System.out | SchackTest.java:22:23:22:39 | "false successor" | -| SchackTest.java:22:4:22:40 | println(...) | SchackTest.java:5:7:5:9 | Exit | +| SchackTest.java:22:4:22:40 | println(...) | SchackTest.java:5:7:5:9 | Exceptional Exit | +| SchackTest.java:22:4:22:40 | println(...) | SchackTest.java:5:7:5:9 | Normal Exit | | SchackTest.java:22:4:22:41 | ; | SchackTest.java:22:4:22:13 | System.out | | SchackTest.java:22:23:22:39 | "false successor" | SchackTest.java:22:4:22:40 | println(...) | +| SchackTest.java:26:18:26:20 | Exceptional Exit | SchackTest.java:26:18:26:20 | Exit | +| SchackTest.java:26:18:26:20 | Normal Exit | SchackTest.java:26:18:26:20 | Exit | | SchackTest.java:26:35:30:2 | { ... } | SchackTest.java:27:3:27:25 | if (...) | | SchackTest.java:27:3:27:25 | if (...) | SchackTest.java:27:7:27:19 | random(...) | | SchackTest.java:27:7:27:19 | random(...) | SchackTest.java:27:23:27:24 | .5 | | SchackTest.java:27:7:27:24 | ... > ... | SchackTest.java:28:10:28:18 | new ExB(...) | | SchackTest.java:27:7:27:24 | ... > ... | SchackTest.java:29:10:29:22 | random(...) | | SchackTest.java:27:23:27:24 | .5 | SchackTest.java:27:7:27:24 | ... > ... | -| SchackTest.java:28:4:28:19 | throw ... | SchackTest.java:26:18:26:20 | Exit | +| SchackTest.java:28:4:28:19 | throw ... | SchackTest.java:26:18:26:20 | Exceptional Exit | | SchackTest.java:28:10:28:18 | new ExB(...) | SchackTest.java:28:4:28:19 | throw ... | -| SchackTest.java:29:3:29:28 | return ... | SchackTest.java:26:18:26:20 | Exit | +| SchackTest.java:29:3:29:28 | return ... | SchackTest.java:26:18:26:20 | Normal Exit | | SchackTest.java:29:10:29:22 | random(...) | SchackTest.java:29:26:29:27 | .3 | | SchackTest.java:29:10:29:27 | ... > ... | SchackTest.java:29:3:29:28 | return ... | | SchackTest.java:29:26:29:27 | .3 | SchackTest.java:29:10:29:27 | ... > ... | diff --git a/java/ql/test/library-tests/successors/TestBreak/TestSucc.expected b/java/ql/test/library-tests/successors/TestBreak/TestSucc.expected index 8dac71ffd45d..3fc266a0928c 100644 --- a/java/ql/test/library-tests/successors/TestBreak/TestSucc.expected +++ b/java/ql/test/library-tests/successors/TestBreak/TestSucc.expected @@ -1,5 +1,9 @@ -| TestBreak.java:3:14:3:22 | super(...) | TestBreak.java:3:14:3:22 | Exit | +| TestBreak.java:3:14:3:22 | Exceptional Exit | TestBreak.java:3:14:3:22 | Exit | +| TestBreak.java:3:14:3:22 | Normal Exit | TestBreak.java:3:14:3:22 | Exit | +| TestBreak.java:3:14:3:22 | super(...) | TestBreak.java:3:14:3:22 | Normal Exit | | TestBreak.java:3:14:3:22 | { ... } | TestBreak.java:3:14:3:22 | super(...) | +| TestBreak.java:4:14:4:14 | Exceptional Exit | TestBreak.java:4:14:4:14 | Exit | +| TestBreak.java:4:14:4:14 | Normal Exit | TestBreak.java:4:14:4:14 | Exit | | TestBreak.java:5:2:85:2 | { ... } | TestBreak.java:7:3:8:11 |