Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/ostree-2020.8/bsdiff/bspatch.c Examining data/ostree-2020.8/bsdiff/bsdiff.c Examining data/ostree-2020.8/bsdiff/bspatch.h Examining data/ostree-2020.8/bsdiff/bsdiff.h Examining data/ostree-2020.8/tests/test-repo-finder-config.c Examining data/ostree-2020.8/tests/test-basic-c.c Examining data/ostree-2020.8/tests/test-repo-finder-avahi.c Examining data/ostree-2020.8/tests/test-rfc2616-dates.c Examining data/ostree-2020.8/tests/libostreetest.c Examining data/ostree-2020.8/tests/test-libarchive-import.c Examining data/ostree-2020.8/tests/test-checksum.c Examining data/ostree-2020.8/tests/test-mock-gio.c Examining data/ostree-2020.8/tests/test-include-ostree-h.c Examining data/ostree-2020.8/tests/test-bsdiff.c Examining data/ostree-2020.8/tests/test-bloom.c Examining data/ostree-2020.8/tests/test-kargs.c Examining data/ostree-2020.8/tests/test-mutable-tree.c Examining data/ostree-2020.8/tests/test-sysroot-c.c Examining data/ostree-2020.8/tests/test-ot-unix-utils.c Examining data/ostree-2020.8/tests/test-pull-c.c Examining data/ostree-2020.8/tests/test-rollsum.c Examining data/ostree-2020.8/tests/test-lzma.c Examining data/ostree-2020.8/tests/test-repo.c Examining data/ostree-2020.8/tests/test-keyfile-utils.c Examining data/ostree-2020.8/tests/readdir-rand.c Examining data/ostree-2020.8/tests/test-gpg-verify-result.c Examining data/ostree-2020.8/tests/libostreetest.h Examining data/ostree-2020.8/tests/repo-finder-mount.c Examining data/ostree-2020.8/tests/test-rollsum-cli.c Examining data/ostree-2020.8/tests/test-varint.c Examining data/ostree-2020.8/tests/test-mock-gio.h Examining data/ostree-2020.8/tests/get-byte-order.c Examining data/ostree-2020.8/tests/test-ot-tool-util.c Examining data/ostree-2020.8/tests/test-repo-finder-mount.c Examining data/ostree-2020.8/tests/test-ot-opt-utils.c Examining data/ostree-2020.8/src/libotutil/ot-checksum-instream.h Examining data/ostree-2020.8/src/libotutil/ot-variant-utils.c Examining data/ostree-2020.8/src/libotutil/ot-gio-utils.h Examining data/ostree-2020.8/src/libotutil/ot-keyfile-utils.h Examining data/ostree-2020.8/src/libotutil/ot-checksum-utils.h Examining data/ostree-2020.8/src/libotutil/ot-fs-utils.h Examining data/ostree-2020.8/src/libotutil/ot-fs-utils.c Examining data/ostree-2020.8/src/libotutil/ot-unix-utils.c Examining data/ostree-2020.8/src/libotutil/ot-opt-utils.c Examining data/ostree-2020.8/src/libotutil/ot-variant-builder.h Examining data/ostree-2020.8/src/libotutil/ot-gio-utils.c Examining data/ostree-2020.8/src/libotutil/ot-variant-utils.h Examining data/ostree-2020.8/src/libotutil/ot-keyfile-utils.c Examining data/ostree-2020.8/src/libotutil/otutil.h Examining data/ostree-2020.8/src/libotutil/ot-gpg-utils.c Examining data/ostree-2020.8/src/libotutil/ot-opt-utils.h Examining data/ostree-2020.8/src/libotutil/ot-tool-util.h Examining data/ostree-2020.8/src/libotutil/ot-checksum-instream.c Examining data/ostree-2020.8/src/libotutil/ot-unix-utils.h Examining data/ostree-2020.8/src/libotutil/ot-tool-util.c Examining data/ostree-2020.8/src/libotutil/ot-gpg-utils.h Examining data/ostree-2020.8/src/libotutil/ot-checksum-utils.c Examining data/ostree-2020.8/src/libotutil/ot-variant-builder.c Examining data/ostree-2020.8/src/libostree/ostree-repo-private.h Examining data/ostree-2020.8/src/libostree/ostree-fetcher-uri.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-zipl.c Examining data/ostree-2020.8/src/libostree/ostree-repo-libarchive.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-uboot.h Examining data/ostree-2020.8/src/libostree/ostree-repo-traverse.c Examining data/ostree-2020.8/src/libostree/ostree-metalink.c Examining data/ostree-2020.8/src/libostree/ostree-deployment.c Examining data/ostree-2020.8/src/libostree/ostree-metalink.h Examining data/ostree-2020.8/src/libostree/ostree-remote-private.h Examining data/ostree-2020.8/src/libostree/ostree-async-progress.h Examining data/ostree-2020.8/src/libostree/ostree-impl-system-generator.c Examining data/ostree-2020.8/src/libostree/ostree-repo-file.h Examining data/ostree-2020.8/src/libostree/ostree-lzma-common.h Examining data/ostree-2020.8/src/libostree/ostree-lzma-compressor.h Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-override.c Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-avahi.c Examining data/ostree-2020.8/src/libostree/ostree-repo-commit.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-uboot.c Examining data/ostree-2020.8/src/libostree/ostree-sign.h Examining data/ostree-2020.8/src/libostree/ostree-kernel-args.c Examining data/ostree-2020.8/src/libostree/ostree-libarchive-input-stream.h Examining data/ostree-2020.8/src/libostree/ostree-soup-uri.h Examining data/ostree-2020.8/src/libostree/ostree-deployment.h Examining data/ostree-2020.8/src/libostree/ostree-cmdprivate.c Examining data/ostree-2020.8/src/libostree/ostree-tls-cert-interaction.c Examining data/ostree-2020.8/src/libostree/ostree-sysroot-deploy.c Examining data/ostree-2020.8/src/libostree/ostree-sign-dummy.c Examining data/ostree-2020.8/src/libostree/ostree-autocleanups.h Examining data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c Examining data/ostree-2020.8/src/libostree/ostree-repo-pull.c Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-avahi-private.h Examining data/ostree-2020.8/src/libostree/ostree-rollsum.h Examining data/ostree-2020.8/src/libostree/ostree-soup-uri.c Examining data/ostree-2020.8/src/libostree/ostree-repo-finder.c Examining data/ostree-2020.8/src/libostree/ostree-fetcher-util.h Examining data/ostree-2020.8/src/libostree/ostree-fetcher-soup.c Examining data/ostree-2020.8/src/libostree/ostree-ref.h Examining data/ostree-2020.8/src/libostree/ostree-mutable-tree.c Examining data/ostree-2020.8/src/libostree/ostree-repo-static-delta-compilation-analysis.c Examining data/ostree-2020.8/src/libostree/ostree-repo-refs.c Examining data/ostree-2020.8/src/libostree/ostree-sign-ed25519.c Examining data/ostree-2020.8/src/libostree/ostree-varint.h Examining data/ostree-2020.8/src/libostree/ostree-gpg-verify-result-dummy.c Examining data/ostree-2020.8/src/libostree/ostree-date-utils.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-syslinux.c Examining data/ostree-2020.8/src/libostree/ostree-mutable-tree.h Examining data/ostree-2020.8/src/libostree/ostree-async-progress.c Examining data/ostree-2020.8/src/libostree/ostree-lzma-decompressor.c Examining data/ostree-2020.8/src/libostree/ostree-core-private.h Examining data/ostree-2020.8/src/libostree/ostree-checksum-input-stream.c Examining data/ostree-2020.8/src/libostree/ostree-bootconfig-parser.c Examining data/ostree-2020.8/src/libostree/ostree-gpg-verifier.h Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-config.c Examining data/ostree-2020.8/src/libostree/ostree-repo-checkout.c Examining data/ostree-2020.8/src/libostree/ostree-cmdprivate.h Examining data/ostree-2020.8/src/libostree/ostree-repo-file-enumerator.c Examining data/ostree-2020.8/src/libostree/ostree-repo.c Examining data/ostree-2020.8/src/libostree/ostree-repo-deprecated.h Examining data/ostree-2020.8/src/libostree/ostree-sysroot.c Examining data/ostree-2020.8/src/libostree/ostree-checksum-input-stream.h Examining data/ostree-2020.8/src/libostree/ostree-repo-file-enumerator.h Examining data/ostree-2020.8/src/libostree/ostree-repo-prune.c Examining data/ostree-2020.8/src/libostree/ostree-chain-input-stream.h Examining data/ostree-2020.8/src/libostree/ostree-bootloader-grub2.c Examining data/ostree-2020.8/src/libostree/ostree-repo-file.c Examining data/ostree-2020.8/src/libostree/ostree-gpg-verify-result-private.h Examining data/ostree-2020.8/src/libostree/ostree-core.h Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-mount.h Examining data/ostree-2020.8/src/libostree/ostree-repo-pull-verify.c Examining data/ostree-2020.8/src/libostree/ostree-dummy-enumtypes.h Examining data/ostree-2020.8/src/libostree/ostree-sign-dummy.h Examining data/ostree-2020.8/src/libostree/ostree-lzma-common.c Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-mount.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-syslinux.h Examining data/ostree-2020.8/src/libostree/ostree-fetcher-util.c Examining data/ostree-2020.8/src/libostree/ostree-version.h Examining data/ostree-2020.8/src/libostree/ostree-libarchive-input-stream.c Examining data/ostree-2020.8/src/libostree/ostree-kernel-args.h Examining data/ostree-2020.8/src/libostree/ostree-sepolicy-private.h Examining data/ostree-2020.8/src/libostree/ostree-date-utils-private.h Examining data/ostree-2020.8/src/libostree/ostree-diff.c Examining data/ostree-2020.8/src/libostree/ostree-lzma-decompressor.h Examining data/ostree-2020.8/src/libostree/ostree-sepolicy.h Examining data/ostree-2020.8/src/libostree/ostree-gpg-verify-result.c Examining data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c Examining data/ostree-2020.8/src/libostree/ostree-libarchive-private.h Examining data/ostree-2020.8/src/libostree/ostree-tls-cert-interaction.h Examining data/ostree-2020.8/src/libostree/ostree-deployment-private.h Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-override.h Examining data/ostree-2020.8/src/libostree/ostree-sepolicy.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-zipl.h Examining data/ostree-2020.8/src/libostree/bupsplit.h Examining data/ostree-2020.8/src/libostree/ostree-lzma-compressor.c Examining data/ostree-2020.8/src/libostree/ostree-sysroot-cleanup.c Examining data/ostree-2020.8/src/libostree/ostree-remote.c Examining data/ostree-2020.8/src/libostree/ostree-repo-finder.h Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-avahi-parser.c Examining data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c Examining data/ostree-2020.8/src/libostree/ostree-sysroot-upgrader.c Examining data/ostree-2020.8/src/libostree/ostree-sysroot-private.h Examining data/ostree-2020.8/src/libostree/ostree-repo-static-delta-private.h Examining data/ostree-2020.8/src/libostree/ostree-linuxfsutil.h Examining data/ostree-2020.8/src/libostree/bupsplit.c Examining data/ostree-2020.8/src/libostree/ostree-repo-pull-private.h Examining data/ostree-2020.8/src/libostree/ostree-rollsum.c Examining data/ostree-2020.8/src/libostree/ostree-remote.h Examining data/ostree-2020.8/src/libostree/ostree-dummy-enumtypes.c Examining data/ostree-2020.8/src/libostree/ostree-repo.h Examining data/ostree-2020.8/src/libostree/ostree-bootloader.c Examining data/ostree-2020.8/src/libostree/ostree-bloom.c Examining data/ostree-2020.8/src/libostree/ostree-gpg-verify-result.h Examining data/ostree-2020.8/src/libostree/ostree-sign.c Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-config.h Examining data/ostree-2020.8/src/libostree/ostree-varint.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader-grub2.h Examining data/ostree-2020.8/src/libostree/ostree-fetcher.h Examining data/ostree-2020.8/src/libostree/ostree-bloom-private.h Examining data/ostree-2020.8/src/libostree/ostree-sysroot.h Examining data/ostree-2020.8/src/libostree/ostree-sign-ed25519.h Examining data/ostree-2020.8/src/libostree/ostree-chain-input-stream.c Examining data/ostree-2020.8/src/libostree/ostree-core.c Examining data/ostree-2020.8/src/libostree/ostree-soup-form.c Examining data/ostree-2020.8/src/libostree/ostree-types.h Examining data/ostree-2020.8/src/libostree/ostree-gpg-verifier.c Examining data/ostree-2020.8/src/libostree/ostree-repo-static-delta-compilation.c Examining data/ostree-2020.8/src/libostree/ostree-bootloader.h Examining data/ostree-2020.8/src/libostree/ostree-ref.c Examining data/ostree-2020.8/src/libostree/ostree.h Examining data/ostree-2020.8/src/libostree/ostree-diff.h Examining data/ostree-2020.8/src/libostree/ostree-sysroot-upgrader.h Examining data/ostree-2020.8/src/libostree/ostree-linuxfsutil.c Examining data/ostree-2020.8/src/libostree/ostree-bootconfig-parser.h Examining data/ostree-2020.8/src/libostree/ostree-repo-finder-avahi.h Examining data/ostree-2020.8/src/rofiles-fuse/main.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-list-cookies.c Examining data/ostree-2020.8/src/ostree/ot-admin-instutil-builtins.h Examining data/ostree-2020.8/src/ostree/ot-builtin-show.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-refs.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-status.c Examining data/ostree-2020.8/src/ostree/ot-builtin-trivial-httpd.c Examining data/ostree-2020.8/src/ostree/main.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-delete.c Examining data/ostree-2020.8/src/ostree/ot-builtin-checkout.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtins.h Examining data/ostree-2020.8/src/ostree/ot-builtins.h Examining data/ostree-2020.8/src/ostree/ot-admin-instutil-builtin-selinux-ensure-labeled.c Examining data/ostree-2020.8/src/ostree/ot-dump.h Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-finalize-staged.c Examining data/ostree-2020.8/src/ostree/ot-builtin-find-remotes.c Examining data/ostree-2020.8/src/ostree/ot-builtin-summary.c Examining data/ostree-2020.8/src/ostree/ot-admin-functions.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-show-url.c Examining data/ostree-2020.8/src/ostree/ot-builtin-reset.c Examining data/ostree-2020.8/src/ostree/ot-builtin-commit.c Examining data/ostree-2020.8/src/ostree/ot-builtin-fsck.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-instutil.c Examining data/ostree-2020.8/src/ostree/ot-builtin-init.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-init-fs.c Examining data/ostree-2020.8/src/ostree/ot-dump.c Examining data/ostree-2020.8/src/ostree/ot-admin-instutil-builtin-set-kargs.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-cleanup.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-undeploy.c Examining data/ostree-2020.8/src/ostree/ot-builtin-config.c Examining data/ostree-2020.8/src/ostree/ot-builtin-pull-local.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-set-origin.c Examining data/ostree-2020.8/src/ostree/ot-admin-instutil-builtin-grub2-generate.c Examining data/ostree-2020.8/src/ostree/ot-remote-cookie-util.c Examining data/ostree-2020.8/src/ostree/ot-builtin-ls.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-add.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-deploy.c Examining data/ostree-2020.8/src/ostree/ot-builtin-rev-parse.c Examining data/ostree-2020.8/src/ostree/ot-main.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-upgrade.c Examining data/ostree-2020.8/src/ostree/ot-main.h Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-unlock.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-add-cookie.c Examining data/ostree-2020.8/src/ostree/ot-builtin-checksum.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-diff.c Examining data/ostree-2020.8/src/ostree/ostree-trivial-httpd.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-list.c Examining data/ostree-2020.8/src/ostree/ot-builtin-sign.c Examining data/ostree-2020.8/src/ostree/ot-builtin-static-delta.c Examining data/ostree-2020.8/src/ostree/ot-editor.h Examining data/ostree-2020.8/src/ostree/ot-admin-functions.h Examining data/ostree-2020.8/src/ostree/ot-builtin-cat.c Examining data/ostree-2020.8/src/ostree/ot-builtin-admin.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-os-init.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-pin.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtin-switch.c Examining data/ostree-2020.8/src/ostree/ot-builtin-refs.c Examining data/ostree-2020.8/src/ostree/ot-editor.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-summary.c Examining data/ostree-2020.8/src/ostree/ot-builtin-export.c Examining data/ostree-2020.8/src/ostree/ot-builtin-log.c Examining data/ostree-2020.8/src/ostree/ot-builtin-remote.c Examining data/ostree-2020.8/src/ostree/ot-builtin-diff.c Examining data/ostree-2020.8/src/ostree/ot-builtin-pull.c Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-gpg-import.c Examining data/ostree-2020.8/src/ostree/ot-remote-cookie-util.h Examining data/ostree-2020.8/src/ostree/parse-datetime.h Examining data/ostree-2020.8/src/ostree/ot-builtin-prune.c Examining data/ostree-2020.8/src/ostree/ot-admin-builtins.h Examining data/ostree-2020.8/src/ostree/ot-remote-builtin-delete-cookie.c Examining data/ostree-2020.8/src/ostree/ot-builtin-create-usb.c Examining data/ostree-2020.8/src/ostree/ot-builtin-gpg-sign.c Examining data/ostree-2020.8/src/switchroot/ostree-prepare-root.c Examining data/ostree-2020.8/src/switchroot/ostree-remount.c Examining data/ostree-2020.8/src/switchroot/ostree-system-generator.c Examining data/ostree-2020.8/src/switchroot/ostree-mount-util.h Examining data/ostree-2020.8/libglnx/glnx-missing-syscall.h Examining data/ostree-2020.8/libglnx/glnx-lockfile.c Examining data/ostree-2020.8/libglnx/glnx-xattrs.h Examining data/ostree-2020.8/libglnx/glnx-shutil.h Examining data/ostree-2020.8/libglnx/glnx-missing.h Examining data/ostree-2020.8/libglnx/glnx-console.h Examining data/ostree-2020.8/libglnx/libglnx.h Examining data/ostree-2020.8/libglnx/tests/test-libglnx-fdio.c Examining data/ostree-2020.8/libglnx/tests/libglnx-testlib.h Examining data/ostree-2020.8/libglnx/tests/test-libglnx-shutil.c Examining data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c Examining data/ostree-2020.8/libglnx/tests/test-libglnx-macros.c Examining data/ostree-2020.8/libglnx/tests/libglnx-testlib.c Examining data/ostree-2020.8/libglnx/tests/test-libglnx-errors.c Examining data/ostree-2020.8/libglnx/glnx-local-alloc.h Examining data/ostree-2020.8/libglnx/glnx-dirfd.c Examining data/ostree-2020.8/libglnx/glnx-xattrs.c Examining data/ostree-2020.8/libglnx/glnx-backport-autoptr.h Examining data/ostree-2020.8/libglnx/glnx-errors.h Examining data/ostree-2020.8/libglnx/glnx-fdio.h Examining data/ostree-2020.8/libglnx/glnx-backport-autocleanups.h Examining data/ostree-2020.8/libglnx/glnx-lockfile.h Examining data/ostree-2020.8/libglnx/glnx-backports.h Examining data/ostree-2020.8/libglnx/glnx-backports.c Examining data/ostree-2020.8/libglnx/glnx-errors.c Examining data/ostree-2020.8/libglnx/glnx-macros.h Examining data/ostree-2020.8/libglnx/glnx-dirfd.h Examining data/ostree-2020.8/libglnx/glnx-fdio.c Examining data/ostree-2020.8/libglnx/glnx-shutil.c Examining data/ostree-2020.8/libglnx/glnx-local-alloc.c Examining data/ostree-2020.8/libglnx/glnx-console.c FINAL RESULTS: data/ostree-2020.8/src/libostree/ostree-repo-commit.c:864:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (target_buf, _OSTREE_PAYLOAD_LINK_PREFIX); data/ostree-2020.8/src/ostree/ostree-trivial-httpd.c:87:84: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. httpd_log (OtTrivialHttpd *httpd, const gchar *format, ...) __attribute__ ((format(printf, 2, 3))); data/ostree-2020.8/src/ostree/ot-admin-functions.c:163:7: [4] (shell) execlp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. if (execlp ("systemctl", "systemctl", "reboot", NULL) < 0) data/ostree-2020.8/src/ostree/ot-builtin-trivial-httpd.c:38:3: [4] (shell) execvp: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execvp (new_argv->pdata[0], (char**)new_argv->pdata); data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:384:7: [4] (shell) execl: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. execl ("/sbin/init", "/sbin/init", NULL); data/ostree-2020.8/libglnx/glnx-dirfd.c:275:25: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. XXXXXX[i] = letters[g_random_int_range(0, NLETTERS)]; data/ostree-2020.8/libglnx/glnx-dirfd.c:363:45: [3] (buffer) g_get_tmp_dir: This function is synonymous with 'getenv("TMP")';it returns untrustable input if the environment can beset by an attacker. It can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. g_autofree char *path = g_build_filename (g_get_tmp_dir (), tmpl, NULL); data/ostree-2020.8/libglnx/glnx-fdio.c:318:44: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. getenv("TMPDIR") ?: "/var/tmp", data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:44:32: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. const guint8 randxattrbyte = g_random_int_range (0, 256); data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:45:39: [3] (random) g_random_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. const guint32 randxattrvalue_len = (g_random_int () % 256) + 1; /* Picked to be not too small or large */ data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:62:32: [3] (random) g_random_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. const guint nattrs = MIN (2, g_random_int () % 16); data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:66:33: [3] (random) g_random_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. guint32 randxattrname_v = g_random_int (); data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:79:21: [3] (random) g_random_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. WriteType wtype = g_random_int () % 2; data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:83:28: [3] (random) g_random_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. guint32 randname_v = g_random_int (); data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:232:51: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. getenv ("TMPDIR") ?: "/var/tmp"); data/ostree-2020.8/src/libostree/ostree-bootloader-grub2.c:324:7: [3] (misc) chroot: chroot can be very helpful, but is hard to use correctly (CWE-250, CWE-22). Make sure the program immediately chdir("/"), closes file descriptors, and drops root privileges, and that all necessary files (and no more!) are in the new root. if (chroot (".") != 0) data/ostree-2020.8/src/libostree/ostree-repo-finder-mount.c:498:54: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. g_autofree char *canonical_repo_path = realpath (repo_path, NULL); data/ostree-2020.8/src/libostree/ostree-repo.c:3255:30: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. { const char *env_bootid = getenv ("OSTREE_BOOTID"); data/ostree-2020.8/src/libostree/ostree-sysroot-upgrader.c:649:7: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv ("OSTREE_EX_STAGE_DEPLOYMENTS")) data/ostree-2020.8/src/libotutil/ot-gpg-utils.c:98:36: [3] (buffer) g_get_tmp_dir: This function is synonymous with 'getenv("TMP")';it returns untrustable input if the environment can beset by an attacker. It can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. tmp_home_dir = g_build_filename (g_get_tmp_dir (), "ostree-gpg-XXXXXX", NULL); data/ostree-2020.8/src/ostree/ostree-trivial-httpd.c:304:7: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. g_random_int_range (0, 100) < opt_random_500s_percentage) data/ostree-2020.8/src/ostree/ostree-trivial-httpd.c:312:12: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. g_random_int_range (0, 100) < opt_random_408s_percentage) data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:143:17: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. deploy_path = realpath (destpath, NULL); data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:205:33: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. const char *root_mountpoint = realpath (root_arg, NULL); data/ostree-2020.8/tests/readdir-rand.c:111:15: [3] (random) g_random_boolean: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. if (g_random_boolean ()) data/ostree-2020.8/tests/test-libarchive-import.c:547:7: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if (getenv ("container")) data/ostree-2020.8/tests/test-lzma.c:86:17: [3] (random) g_rand_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. buffer[i] = g_rand_int (r); data/ostree-2020.8/tests/test-repo-finder-mount.c:66:39: [3] (buffer) realpath: This function does not protect against buffer overflows, and some implementations can overflow internally (CWE-120/CWE-785!). Ensure that the destination buffer is at least of size MAXPATHLEN, andto protect against implementation problems, the input argument should also be checked to ensure it is no larger than MAXPATHLEN. g_autofree char *tmpdir_real_path = realpath (fixture->tmpdir.path, NULL); data/ostree-2020.8/tests/test-rollsum.c:91:14: [3] (random) g_rand_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. a[i] = g_rand_int (rand); data/ostree-2020.8/tests/test-rollsum.c:125:14: [3] (random) g_rand_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. a[i] = g_rand_int (rand); data/ostree-2020.8/tests/test-rollsum.c:131:10: [3] (random) g_rand_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. a[0] = g_rand_int (rand); data/ostree-2020.8/tests/test-rollsum.c:135:14: [3] (random) g_rand_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. a[i] = g_rand_int (rand); data/ostree-2020.8/tests/test-rollsum.c:136:14: [3] (random) g_rand_int: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. b[i] = g_rand_int (rand); data/ostree-2020.8/tests/test-rollsum.c:151:20: [3] (random) g_random_int_range: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. buf[count] = g_random_int_range (0, 256); data/ostree-2020.8/bsdiff/bsdiff.c:396:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(((fd=open(argv[1],O_RDONLY,0))<0) || data/ostree-2020.8/bsdiff/bsdiff.c:406:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(((fd=open(argv[2],O_RDONLY,0))<0) || data/ostree-2020.8/bsdiff/bsdiff.c:414:12: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((pf = fopen(argv[3], "w")) == NULL) data/ostree-2020.8/bsdiff/bspatch.c:136:11: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((f = fopen(argv[3], "r")) == NULL) data/ostree-2020.8/bsdiff/bspatch.c:156:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(((fd=open(argv[1],O_RDONLY,0))<0) || data/ostree-2020.8/bsdiff/bspatch.c:177:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if(((fd=open(argv[2],O_CREAT|O_TRUNC|O_WRONLY,0666))<0) || data/ostree-2020.8/libglnx/glnx-console.c:246:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. { const char beginbuf[2] = { 0x1B, 0x38 }; data/ostree-2020.8/libglnx/glnx-fdio.c:369:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char proc_fd_path[strlen("/proc/self/fd/") + DECIMAL_STR_MAX(tmpf->fd) + 1]; data/ostree-2020.8/libglnx/glnx-fdio.c:457:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char proc_fd_path[strlen("/proc/self/fd/") + DECIMAL_STR_MAX(tmpf->fd) + 1]; data/ostree-2020.8/libglnx/glnx-fdio.c:896:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[m]; data/ostree-2020.8/libglnx/glnx-macros.h:114:38: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static G_GNUC_UNUSED char _static_assert__macros_need_to_be_extended[20 - sizeof((int[]){__VA_ARGS__})/sizeof(int)]; \ data/ostree-2020.8/libglnx/glnx-xattrs.c:259:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[PATH_MAX]; data/ostree-2020.8/libglnx/glnx-xattrs.c:316:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[PATH_MAX]; data/ostree-2020.8/libglnx/glnx-xattrs.c:376:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pathbuf[PATH_MAX]; data/ostree-2020.8/libglnx/glnx-xattrs.c:436:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pathbuf[PATH_MAX]; data/ostree-2020.8/libglnx/tests/test-libglnx-errors.c:58:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open (noent_path, O_RDONLY); data/ostree-2020.8/libglnx/tests/test-libglnx-errors.c:71:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open (noent_path, O_RDONLY); data/ostree-2020.8/libglnx/tests/test-libglnx-errors.c:86:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open (noent_path, O_RDONLY); data/ostree-2020.8/libglnx/tests/test-libglnx-errors.c:103:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open (noent_path, O_RDONLY); data/ostree-2020.8/libglnx/tests/test-libglnx-errors.c:115:8: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fd = open (noent_path, O_RDONLY); data/ostree-2020.8/src/libostree/ostree-bootloader-grub2.c:398:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char *grub_argv[4] = { NULL, "-o", NULL, NULL}; data/ostree-2020.8/src/libostree/ostree-core.c:1397:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmpbuf[44]; data/ostree-2020.8/src/libostree/ostree-core.c:1516:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmpbuf[44]; data/ostree-2020.8/src/libostree/ostree-core.c:1823:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char to_b64[44]; data/ostree-2020.8/src/libostree/ostree-core.c:1836:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char from_b64[44]; data/ostree-2020.8/src/libostree/ostree-core.c:2185:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char actual_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-core.c:2456:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hexdigest[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-core.c:2543:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN + 1]; data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:115:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char error[CURL_ERROR_SIZE]; data/ostree-2020.8/src/libostree/ostree-mutable-tree.c:208:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_checksum[OSTREE_SHA256_STRING_LEN + 1]; data/ostree-2020.8/src/libostree/ostree-mutable-tree.c:226:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char subdirtree_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-mutable-tree.c:228:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char subdirmeta_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:595:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:717:19: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (key->checksum, checksum, OSTREE_SHA256_STRING_LEN+1); data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:1033:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:1068:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char subdirtree_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:1070:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char subdirmeta_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:110:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_prefix[3]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:178:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:309:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmpbuf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:340:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmpbuf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:793:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[8192]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:863:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target_buf[_OSTREE_LOOSE_PATH_MAX + _OSTREE_PAYLOAD_LINK_PREFIX_LEN]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:920:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[8192]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:959:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:960:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_target_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:961:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target_buf[_OSTREE_LOOSE_PATH_MAX + _OSTREE_PAYLOAD_LINK_PREFIX_LEN]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:962:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:981:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (target_checksum, "%.2s%.62s", target_buf + _OSTREE_PAYLOAD_LINK_PREFIX_LEN, target_buf + _OSTREE_PAYLOAD_LINK_PREFIX_LEN + 3); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1379:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[16*1024]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1395:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1473:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char actual_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1650:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (key->checksum, dent->d_name, 2); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1651:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (key->checksum + 2, name, 62); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1940:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_objpath[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:3104:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:3175:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pathbuf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:3763:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:3796:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:4178:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char contents_checksum_buf[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-commit.c:4506:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-file.c:155:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tree_contents_csum[OSTREE_SHA256_STRING_LEN + 1]; data/ostree-2020.8/src/libostree/ostree-repo-file.c:156:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tree_metadata_csum[OSTREE_SHA256_STRING_LEN + 1]; data/ostree-2020.8/src/libostree/ostree-repo-file.c:813:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-finder-avahi.c:269:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char address_string[AVAHI_ADDRESS_STR_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-private.h:247:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-prune.c:74:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-prune.c:75:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-prune.c:76:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char target_buf[_OSTREE_LOOSE_PATH_MAX + _OSTREE_PAYLOAD_LINK_PREFIX_LEN]; data/ostree-2020.8/src/libostree/ostree-repo-prune.c:86:15: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (target_checksum, "%.2s%.62s", target_buf + _OSTREE_PAYLOAD_LINK_PREFIX_LEN, target_buf + _OSTREE_PAYLOAD_LINK_PREFIX_LEN + 3); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:444:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-pull.c:598:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-pull.c:640:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (iataskdata->checksum, checksum, OSTREE_SHA256_STRING_LEN); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:1691:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char parent_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-pull.c:2001:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-pull.c:2374:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char from_revision[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-pull.c:2486:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (out_result->from_revision, newest_candidate, OSTREE_SHA256_STRING_LEN+1); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:2693:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (csum_data, ostree_checksum_bytes_peek (csum_v), 32); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:5867:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo-refs.c:102:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (bufnl, sha256, l); data/ostree-2020.8/src/libostree/ostree-repo-refs.c:924:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:148:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:244:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:279:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:553:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:1114:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c:61:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c:80:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c:95:9: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). OPPROTO(open) data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c:419:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (buffer, opaque->state->payload_data + opaque->offset, length); data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c:690:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[4096]; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-processing.c:783:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char actual_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-traverse.c:38:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum_content[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo-traverse.c:39:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum_meta[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo.c:3639:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo.c:3641:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (buf, prefix, 2); data/ostree-2020.8/src/libostree/ostree-repo.c:3642:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (buf + 2, name, 62); data/ostree-2020.8/src/libostree/ostree-repo.c:3681:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[3]; data/ostree-2020.8/src/libostree/ostree-repo.c:3706:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.c:3845:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.c:3910:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.c:3971:15: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char targetbuf[PATH_MAX+1]; data/ostree-2020.8/src/libostree/ostree-repo.c:4159:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path_buf[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.c:4252:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.c:4257:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char meta_loose[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.c:4344:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char actual_checksum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-repo.c:4459:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char loose_path[_OSTREE_LOOSE_PATH_MAX]; data/ostree-2020.8/src/libostree/ostree-repo.h:1153:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummy_checksum_data[(OSTREE_SHA256_STRING_LEN+1)*2]; data/ostree-2020.8/src/libostree/ostree-soup-uri.c:361:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (&fixed_base, base, sizeof (SoupURI)); data/ostree-2020.8/src/libostree/ostree-sysroot-deploy.c:1188:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hexdigest[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libostree/ostree-sysroot-deploy.c:3062:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char checksum[_OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libotutil/ot-checksum-instream.c:123:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[_OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libotutil/ot-checksum-utils.c:215:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[4096]; data/ostree-2020.8/src/libotutil/ot-checksum-utils.c:274:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hexdigest[_OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/libotutil/ot-fs-utils.c:51:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char targetbuf[PATH_MAX+1]; data/ostree-2020.8/src/libotutil/ot-gpg-utils.c:40:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char errbuf[1024]; data/ostree-2020.8/src/libotutil/ot-variant-builder.c:677:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (bytes, &tmpvalue.bytes, size); data/ostree-2020.8/src/ostree/ot-admin-builtin-undeploy.c:62:18: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). deploy_index = atoi (deploy_index_str); data/ostree-2020.8/src/ostree/ot-builtin-checksum.c:62:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char csum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/ostree/ot-dump.c:220:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char csum[OSTREE_SHA256_STRING_LEN+1]; data/ostree-2020.8/src/rofiles-fuse/main.c:343:25: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. callback_utimens (const char *path, const struct timespec tv[2]) data/ostree-2020.8/src/switchroot/ostree-mount-util.h:52:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen("/proc/cmdline", "r"); data/ostree-2020.8/src/switchroot/ostree-mount-util.h:117:12: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int fd = open ("/run/ostree-booted", O_CREAT | O_WRONLY | O_NOCTTY | O_CLOEXEC, 0640); data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:92:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(config_path, "r"); data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:130:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char destpath[PATH_MAX]; data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:257:16: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int fd = open (_OSTREE_SYSROOT_READONLY_STAMP, O_WRONLY | O_CREAT | O_CLOEXEC, 0644); data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:278:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char srcpath[PATH_MAX]; data/ostree-2020.8/tests/test-libarchive-import.c:415:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[7] = { 0 }; data/ostree-2020.8/tests/test-libarchive-import.c:543:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[64] = { 0 }; data/ostree-2020.8/tests/test-rfc2616-dates.c:98:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (rfc2616_no_nul, tests[i].rfc2616, strlen (tests[i].rfc2616)); data/ostree-2020.8/tests/test-rollsum.c:118:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy (b + len, b, len); data/ostree-2020.8/bsdiff/bsdiff.c:400:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). (read(fd,old,oldsize)!=oldsize) || data/ostree-2020.8/bsdiff/bsdiff.c:410:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). (read(fd,new,newsize)!=newsize) || data/ostree-2020.8/bsdiff/bspatch.c:59:16: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (stream->read(stream, buf, 8)) data/ostree-2020.8/bsdiff/bspatch.c:69:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (stream->read(stream, new + newpos, ctrl[0])) data/ostree-2020.8/bsdiff/bspatch.c:86:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (stream->read(stream, new + newpos, ctrl[1])) data/ostree-2020.8/bsdiff/bspatch.c:160:4: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). (read(fd,old,oldsize)!=oldsize) || data/ostree-2020.8/bsdiff/bspatch.h:36:8: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int (*read)(const struct bspatch_stream* stream, void* buffer, int length); data/ostree-2020.8/libglnx/glnx-console.c:225:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const guint input_textlen = text ? strlen (text) : 0; data/ostree-2020.8/libglnx/glnx-dirfd.c:266:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const size_t len = strlen (tmpl); data/ostree-2020.8/libglnx/glnx-fdio.c:369:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char proc_fd_path[strlen("/proc/self/fd/") + DECIMAL_STR_MAX(tmpf->fd) + 1]; data/ostree-2020.8/libglnx/glnx-fdio.c:457:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char proc_fd_path[strlen("/proc/self/fd/") + DECIMAL_STR_MAX(tmpf->fd) + 1]; data/ostree-2020.8/libglnx/glnx-fdio.c:529:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bytes_read = read (fd, buf + buf_size, readlen); data/ostree-2020.8/libglnx/glnx-fdio.c:898:33: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). n = TEMP_FAILURE_RETRY (read (fdf, buf, m)); data/ostree-2020.8/libglnx/glnx-fdio.c:1123:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen ((char*)buf); data/ostree-2020.8/libglnx/glnx-macros.h:54:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). _len_ += strlen(_appendees_[_i_]); \ data/ostree-2020.8/libglnx/glnx-xattrs.c:57:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p += strlen (p) + 1; data/ostree-2020.8/libglnx/glnx-xattrs.c:87:44: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). for (p = xattrs; p < xattrs+len; p = p + strlen (p) + 1) data/ostree-2020.8/libglnx/tests/test-libglnx-fdio.c:49:78: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!glnx_file_replace_contents_at (srcfd, "foo", (guint8*)"foo contents", strlen ("foo contents"), data/ostree-2020.8/libglnx/tests/test-libglnx-fdio.c:52:79: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!glnx_file_replace_contents_at (destfd, "bar", (guint8*)"bar contents", strlen ("bar contents"), data/ostree-2020.8/libglnx/tests/test-libglnx-fdio.c:124:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (glnx_loop_write (tmpf.fd, "foo", strlen ("foo")) < 0) data/ostree-2020.8/libglnx/tests/test-libglnx-fdio.c:143:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (fwrite ("hello", 1, strlen ("hello"), f) != strlen ("hello")) data/ostree-2020.8/libglnx/tests/test-libglnx-fdio.c:143:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (fwrite ("hello", 1, strlen ("hello"), f) != strlen ("hello")) data/ostree-2020.8/libglnx/tests/test-libglnx-xattrs.c:240:53: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (fsetxattr (tmpdir.fd, "user.test", "novalue", strlen ("novalue"), 0) < 0) data/ostree-2020.8/src/libostree/ostree-bloom.c:599:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). str_len = strlen (str); data/ostree-2020.8/src/libostree/ostree-bootloader-syslinux.c:188:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). kernel_arg = g_strdup (line + strlen ("\tKERNEL ")); data/ostree-2020.8/src/libostree/ostree-bootloader-syslinux.c:222:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (guint8*)new_config_contents, strlen (new_config_contents), data/ostree-2020.8/src/libostree/ostree-bootloader-uboot.c:188:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (guint8*)new_config_contents, strlen (new_config_contents), data/ostree-2020.8/src/libostree/ostree-core.c:60:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (input); data/ostree-2020.8/src/libostree/ostree-core.c:198:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). remote[strlen(remote)-1] = '\0'; data/ostree-2020.8/src/libostree/ostree-core.c:1802:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_assert (strlen (checksum) == OSTREE_SHA256_STRING_LEN); data/ostree-2020.8/src/libostree/ostree-core.c:2085:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t len = strlen (checksum); data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:609:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (real_size > strlen (etag_header) && data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:610:41: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncasecmp (buffer, etag_header, strlen (etag_header)) == 0) data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:613:54: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). req->out_etag = g_strstrip (g_strdup (buffer + strlen (etag_header))); data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:615:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if (real_size > strlen (last_modified_header) && data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:616:55: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncasecmp (buffer, last_modified_header, strlen (last_modified_header)) == 0) data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:618:64: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_autofree char *lm_buf = g_strstrip (g_strdup (buffer + strlen (last_modified_header))); data/ostree-2020.8/src/libostree/ostree-fetcher-curl.c:619:74: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_autoptr(GDateTime) dt = _ostree_parse_rfc2616_date_time (lm_buf, strlen (lm_buf)); data/ostree-2020.8/src/libostree/ostree-fetcher-soup.c:345:46: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const char *key_path = cert_and_key_path + strlen (cert_and_key_path) + 1; data/ostree-2020.8/src/libostree/ostree-gpg-verify-result.c:665:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (fingerprint); data/ostree-2020.8/src/libostree/ostree-gpg-verify-result.c:726:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (fingerprint_primary); data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:331:62: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (fsetxattr (tmpf.fd, "security.selinux", label, strlen (label), 0) < 0) data/ostree-2020.8/src/libostree/ostree-repo-checkout.c:866:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const size_t n = strlen (name) + (is_dir ? 1 : 0); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1099:59: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_autoptr(GBytes) target = g_bytes_new (target_str, strlen (target_str) + 1); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1196:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). unpacked_size = strlen (g_file_info_get_symlink_target (file_info)); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1382:28: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t bytes_read = read (fd, buf, sizeof (buf)); data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1602:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (dent->d_name) != 2) data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1880:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (dent->d_name) != 2) data/ostree-2020.8/src/libostree/ostree-repo-commit.c:1932:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (dent->d_name) != 2) data/ostree-2020.8/src/libostree/ostree-repo-file.c:117:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_return_val_if_fail (strlen (contents_checksum) == OSTREE_SHA256_STRING_LEN, NULL); data/ostree-2020.8/src/libostree/ostree-repo-file.c:119:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_return_val_if_fail (strlen (metadata_checksum) == OSTREE_SHA256_STRING_LEN, NULL); data/ostree-2020.8/src/libostree/ostree-repo-file.c:140:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(self->name); data/ostree-2020.8/src/libostree/ostree-repo-file.c:160:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_return_val_if_fail (strlen (commit) == OSTREE_SHA256_STRING_LEN, NULL); data/ostree-2020.8/src/libostree/ostree-repo-file.c:502:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). uri_path+strlen("file://"), data/ostree-2020.8/src/libostree/ostree-repo-file.c:572:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). prefix_len = strlen (prefix); data/ostree-2020.8/src/libostree/ostree-repo-libarchive.c:122:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *endp = path + strlen (path) - 1; data/ostree-2020.8/src/libostree/ostree-repo-prune.c:165:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (d_name); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:541:25: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). rest = pull_dir + strlen (current_file); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:564:29: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). rest = current_file + strlen (pull_dir); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:2051:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!g_key_file_load_from_data (ret_keyfile, contents, strlen (contents), data/ostree-2020.8/src/libostree/ostree-repo-pull.c:3037:59: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). TEMP_FAILURE_RETRY (fsetxattr (fd, "user.etag", etag, strlen (etag), 0)); data/ostree-2020.8/src/libostree/ostree-repo-pull.c:3404:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). baseurl + strlen ("mirrorlist="), data/ostree-2020.8/src/libostree/ostree-repo-refs.c:98:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). size_t l = strlen (sha256); data/ostree-2020.8/src/libostree/ostree-repo-refs.c:417:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). parent_refspec[strlen(parent_refspec) - 1] = '\0'; data/ostree-2020.8/src/libostree/ostree-repo-static-delta-compilation.c:516:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_memory_input_stream_new_from_data (target, strlen (target), NULL); data/ostree-2020.8/src/libostree/ostree-repo-static-delta-compilation.c:517:26: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). content_size = strlen (target); data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:214:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (dent->d_name) != 2) data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:237:15: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (name2) != 41 + strlen(".index") || data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:237:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (name2) != 41 + strlen(".index") || data/ostree-2020.8/src/libostree/ostree-repo-static-delta-core.c:344:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_ptr_array_add (signatures, g_strdup (str + strlen ("ostree.sign."))); data/ostree-2020.8/src/libostree/ostree-repo.c:1617:78: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_key_file_set_string (remote->options, remote->group, "metalink", url + strlen ("metalink=")); data/ostree-2020.8/src/libostree/ostree-repo.c:1796:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). url + strlen ("metalink=")); data/ostree-2020.8/src/libostree/ostree-repo.c:3791:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read (commitpartial_fd, &reason, 1) == 1) data/ostree-2020.8/src/libostree/ostree-sepolicy.c:242:54: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (int)g_ascii_strtoll (dent->d_name + strlen (binfile_prefix)+1, data/ostree-2020.8/src/libostree/ostree-sepolicy.c:354:57: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). policytype = g_strstrip (g_strdup (line + strlen (selinuxtype_prefix))); data/ostree-2020.8/src/libostree/ostree-sepolicy.c:359:48: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const char *enabled_str = line + strlen (selinux_prefix); data/ostree-2020.8/src/libostree/ostree-sepolicy.c:360:66: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (g_ascii_strncasecmp (enabled_str, "enforcing", strlen ("enforcing")) == 0 || data/ostree-2020.8/src/libostree/ostree-sepolicy.c:361:67: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_ascii_strncasecmp (enabled_str, "permissive", strlen ("permissive")) == 0) data/ostree-2020.8/src/libostree/ostree-sign-dummy.c:130:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). *signature = g_bytes_new (sign->sk_ascii, strlen(sign->sk_ascii)); data/ostree-2020.8/src/libostree/ostree-soup-uri.c:377:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *clean = g_malloc (strlen (uri_string) + 1), *d; data/ostree-2020.8/src/libostree/ostree-soup-uri.c:540:24: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove (p, p + 2, strlen (p + 2) + 1); data/ostree-2020.8/src/libostree/ostree-soup-uri.c:562:23: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove (p, q + 4, strlen (q + 4) + 1); data/ostree-2020.8/src/libostree/ostree-soup-uri.c:577:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove (uri->path, uri->path + 3, strlen (uri->path) - 2); data/ostree-2020.8/src/libostree/ostree-soup-uri.c:910:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return soup_uri_decoded_copy (part, strlen (part), NULL); data/ostree-2020.8/src/libostree/ostree-soup-uri.c:1006:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return uri_normalized_copy (part, strlen (part), unescape_extra); data/ostree-2020.8/src/libostree/ostree-soup-uri.c:1061:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). uri->scheme = soup_uri_parse_scheme (scheme, strlen (scheme)); data/ostree-2020.8/src/libostree/ostree-sysroot-deploy.c:1460:48: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t bytes_read = TEMP_FAILURE_RETRY (read (sock_watchdog, &c, sizeof (c))); data/ostree-2020.8/src/libostree/ostree-sysroot-deploy.c:1505:48: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t bytes_read = TEMP_FAILURE_RETRY (read (sock_parent, &c, sizeof (c))); data/ostree-2020.8/src/libostree/ostree-sysroot.c:796:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return g_strdup (opt + strlen ("ostree=")); data/ostree-2020.8/src/libostree/ostree-sysroot.c:824:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (basename) != (_OSTREE_SHA256_STRING_LEN + strlen (".img"))) data/ostree-2020.8/src/libostree/ostree-sysroot.c:824:61: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (basename) != (_OSTREE_SHA256_STRING_LEN + strlen (".img"))) data/ostree-2020.8/src/libotutil/ot-keyfile-utils.c:163:30: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). for (size_t i = 0; i < strlen (separators) && sep_count <= 1; i++) data/ostree-2020.8/src/libotutil/ot-unix-utils.c:91:7: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (path) > PATH_MAX) data/ostree-2020.8/src/libotutil/ot-variant-builder.c:978:61: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (glnx_loop_write (info->builder->fd, (char *)type, strlen ((char *)type)) < 0) data/ostree-2020.8/src/libotutil/ot-variant-builder.c:981:27: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). info->offset += 1 + strlen ((char *)type); data/ostree-2020.8/src/ostree/ostree-trivial-httpd.c:637:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int res = TEMP_FAILURE_RETRY (read (pipefd[0], &buf, 1)); data/ostree-2020.8/src/ostree/ostree-trivial-httpd.c:755:62: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else if (!g_file_set_contents (opt_port_file, portstr, strlen (portstr), error)) data/ostree-2020.8/src/ostree/ot-admin-builtin-switch.c:82:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). new_remote[strlen(new_remote)-1] = '\0'; data/ostree-2020.8/src/ostree/ot-builtin-ls.c:139:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). fwrite (path, 1, strlen (path), stdout); data/ostree-2020.8/src/ostree/ot-editor.c:87:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!g_output_stream_write_all (output, input, strlen (input), NULL, cancellable, error) || data/ostree-2020.8/src/ostree/ot-main.c:428:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen (OSTREE_GITREV) > 0) data/ostree-2020.8/src/ostree/ot-remote-builtin-list.c:61:39: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). max_length = MAX (max_length, strlen (remotes[ii])); data/ostree-2020.8/src/ostree/ot-remote-cookie-util.c:164:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (glnx_loop_write (fd, buf, strlen (buf)) < 0) data/ostree-2020.8/src/ostree/ot-remote-cookie-util.c:198:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (glnx_loop_write (tmpf.fd, parser->line, strlen (parser->line)) < 0 || data/ostree-2020.8/src/switchroot/ostree-mount-util.h:67:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen (cmdline); data/ostree-2020.8/src/switchroot/ostree-mount-util.h:95:37: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strncmp (iter, "ostree=", strlen ("ostree=")) == 0) data/ostree-2020.8/src/switchroot/ostree-mount-util.h:97:38: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const char *start = iter + strlen ("ostree="); data/ostree-2020.8/src/switchroot/ostree-prepare-root.c:150:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). const char *resolved_path = deploy_path + strlen (root_mountpoint); data/ostree-2020.8/tests/libostreetest.c:125:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (fsetxattr (tmpf.fd, "user.test", "novalue", strlen ("novalue"), 0) < 0) data/ostree-2020.8/tests/test-basic-c.c:294:34: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen (hello_hardlinked_content), data/ostree-2020.8/tests/test-repo-finder-avahi.c:149:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). expected_value = g_bytes_new_static ("value1", strlen ("value1")); data/ostree-2020.8/tests/test-repo-finder-avahi.c:176:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). expected_value1 = g_bytes_new_static ("value1", strlen ("value1")); data/ostree-2020.8/tests/test-rfc2616-dates.c:86:85: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_autoptr(GDateTime) dt1 = _ostree_parse_rfc2616_date_time (tests[i].rfc2616, strlen (tests[i].rfc2616)); data/ostree-2020.8/tests/test-rfc2616-dates.c:97:51: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_autofree char *rfc2616_no_nul = g_malloc (strlen (tests[i].rfc2616)); data/ostree-2020.8/tests/test-rfc2616-dates.c:98:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memcpy (rfc2616_no_nul, tests[i].rfc2616, strlen (tests[i].rfc2616)); data/ostree-2020.8/tests/test-rfc2616-dates.c:99:83: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). g_autoptr(GDateTime) dt2 = _ostree_parse_rfc2616_date_time (rfc2616_no_nul, strlen (tests[i].rfc2616)); ANALYSIS SUMMARY: Hits = 281 Lines analyzed = 99862 in approximately 2.44 seconds (40883 lines/second) Physical Source Lines of Code (SLOC) = 66266 Hits@level = [0] 29 [1] 116 [2] 131 [3] 29 [4] 5 [5] 0 Hits@level+ = [0+] 310 [1+] 281 [2+] 165 [3+] 34 [4+] 5 [5+] 0 Hits/KSLOC@level+ = [0+] 4.67812 [1+] 4.24049 [2+] 2.48996 [3+] 0.513084 [4+] 0.0754535 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.