Coverage Report

Created: 2025-10-10 06:04

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libgit2/src/util/integer.h
Line
Count
Source
1
/*
2
 * Copyright (C) the libgit2 contributors. All rights reserved.
3
 *
4
 * This file is part of libgit2, distributed under the GNU GPL v2 with
5
 * a Linking Exception. For full terms see the included COPYING file.
6
 */
7
#ifndef INCLUDE_integer_h__
8
#define INCLUDE_integer_h__
9
10
/** @return true if p fits into the range of a size_t */
11
GIT_INLINE(int) git__is_sizet(int64_t p)
12
15
{
13
15
  size_t r = (size_t)p;
14
15
  return p == (int64_t)r;
15
15
}
Unexecuted instantiation: download_refs_fuzzer.c:git__is_sizet
Unexecuted instantiation: fuzzer_utils.c:git__is_sizet
Unexecuted instantiation: errors.c:git__is_sizet
Unexecuted instantiation: runtime.c:git__is_sizet
Unexecuted instantiation: str.c:git__is_sizet
Unexecuted instantiation: thread.c:git__is_sizet
Unexecuted instantiation: util.c:git__is_sizet
Unexecuted instantiation: libgit2.c:git__is_sizet
Unexecuted instantiation: merge_driver.c:git__is_sizet
Unexecuted instantiation: merge_file.c:git__is_sizet
Unexecuted instantiation: mwindow.c:git__is_sizet
Unexecuted instantiation: odb.c:git__is_sizet
Unexecuted instantiation: odb_loose.c:git__is_sizet
Unexecuted instantiation: odb_pack.c:git__is_sizet
Unexecuted instantiation: oid.c:git__is_sizet
pack.c:git__is_sizet
Line
Count
Source
12
1
{
13
1
  size_t r = (size_t)p;
14
1
  return p == (int64_t)r;
15
1
}
Unexecuted instantiation: remote.c:git__is_sizet
Unexecuted instantiation: repository.c:git__is_sizet
Unexecuted instantiation: revparse.c:git__is_sizet
Unexecuted instantiation: revwalk.c:git__is_sizet
Unexecuted instantiation: settings.c:git__is_sizet
Unexecuted instantiation: strarray.c:git__is_sizet
Unexecuted instantiation: mbedtls.c:git__is_sizet
Unexecuted instantiation: openssl.c:git__is_sizet
Unexecuted instantiation: registry.c:git__is_sizet
Unexecuted instantiation: socket.c:git__is_sizet
Unexecuted instantiation: submodule.c:git__is_sizet
Unexecuted instantiation: sysdir.c:git__is_sizet
Unexecuted instantiation: tag.c:git__is_sizet
Unexecuted instantiation: transport.c:git__is_sizet
Unexecuted instantiation: git.c:git__is_sizet
Unexecuted instantiation: http.c:git__is_sizet
Unexecuted instantiation: httpclient.c:git__is_sizet
Unexecuted instantiation: httpparser.c:git__is_sizet
Unexecuted instantiation: local.c:git__is_sizet
Unexecuted instantiation: smart.c:git__is_sizet
Unexecuted instantiation: smart_pkt.c:git__is_sizet
Unexecuted instantiation: smart_protocol.c:git__is_sizet
Unexecuted instantiation: ssh_libssh2.c:git__is_sizet
Unexecuted instantiation: tree.c:git__is_sizet
Unexecuted instantiation: worktree.c:git__is_sizet
Unexecuted instantiation: alloc.c:git__is_sizet
Unexecuted instantiation: failalloc.c:git__is_sizet
Unexecuted instantiation: stdalloc.c:git__is_sizet
Unexecuted instantiation: date.c:git__is_sizet
Unexecuted instantiation: filebuf.c:git__is_sizet
Unexecuted instantiation: fs_path.c:git__is_sizet
futils.c:git__is_sizet
Line
Count
Source
12
14
{
13
14
  size_t r = (size_t)p;
14
14
  return p == (int64_t)r;
15
14
}
Unexecuted instantiation: hash.c:git__is_sizet
Unexecuted instantiation: net.c:git__is_sizet
Unexecuted instantiation: pool.c:git__is_sizet
Unexecuted instantiation: posix.c:git__is_sizet
Unexecuted instantiation: pqueue.c:git__is_sizet
Unexecuted instantiation: rand.c:git__is_sizet
Unexecuted instantiation: regexp.c:git__is_sizet
Unexecuted instantiation: tsort.c:git__is_sizet
Unexecuted instantiation: vector.c:git__is_sizet
Unexecuted instantiation: wildmatch.c:git__is_sizet
Unexecuted instantiation: zstream.c:git__is_sizet
Unexecuted instantiation: map.c:git__is_sizet
Unexecuted instantiation: realpath.c:git__is_sizet
Unexecuted instantiation: collisiondetect.c:git__is_sizet
Unexecuted instantiation: sha1.c:git__is_sizet
Unexecuted instantiation: ubc_check.c:git__is_sizet
Unexecuted instantiation: builtin.c:git__is_sizet
Unexecuted instantiation: annotated_commit.c:git__is_sizet
Unexecuted instantiation: attr.c:git__is_sizet
Unexecuted instantiation: attr_file.c:git__is_sizet
Unexecuted instantiation: attrcache.c:git__is_sizet
Unexecuted instantiation: blob.c:git__is_sizet
Unexecuted instantiation: branch.c:git__is_sizet
Unexecuted instantiation: buf.c:git__is_sizet
Unexecuted instantiation: cache.c:git__is_sizet
Unexecuted instantiation: checkout.c:git__is_sizet
Unexecuted instantiation: clone.c:git__is_sizet
Unexecuted instantiation: commit.c:git__is_sizet
Unexecuted instantiation: commit_graph.c:git__is_sizet
Unexecuted instantiation: commit_list.c:git__is_sizet
Unexecuted instantiation: config.c:git__is_sizet
Unexecuted instantiation: config_cache.c:git__is_sizet
Unexecuted instantiation: config_file.c:git__is_sizet
Unexecuted instantiation: config_list.c:git__is_sizet
Unexecuted instantiation: config_parse.c:git__is_sizet
Unexecuted instantiation: config_snapshot.c:git__is_sizet
Unexecuted instantiation: delta.c:git__is_sizet
Unexecuted instantiation: diff.c:git__is_sizet
Unexecuted instantiation: diff_driver.c:git__is_sizet
Unexecuted instantiation: diff_generate.c:git__is_sizet
Unexecuted instantiation: diff_print.c:git__is_sizet
Unexecuted instantiation: diff_tform.c:git__is_sizet
Unexecuted instantiation: email.c:git__is_sizet
Unexecuted instantiation: fetch.c:git__is_sizet
Unexecuted instantiation: fetchhead.c:git__is_sizet
Unexecuted instantiation: filter.c:git__is_sizet
Unexecuted instantiation: grafts.c:git__is_sizet
Unexecuted instantiation: graph.c:git__is_sizet
Unexecuted instantiation: hashsig.c:git__is_sizet
Unexecuted instantiation: ident.c:git__is_sizet
Unexecuted instantiation: index.c:git__is_sizet
Unexecuted instantiation: index_map.c:git__is_sizet
Unexecuted instantiation: indexer.c:git__is_sizet
Unexecuted instantiation: iterator.c:git__is_sizet
Unexecuted instantiation: mailmap.c:git__is_sizet
Unexecuted instantiation: merge.c:git__is_sizet
Unexecuted instantiation: midx.c:git__is_sizet
Unexecuted instantiation: object.c:git__is_sizet
Unexecuted instantiation: object_api.c:git__is_sizet
Unexecuted instantiation: oidarray.c:git__is_sizet
Unexecuted instantiation: pack-objects.c:git__is_sizet
Unexecuted instantiation: parse.c:git__is_sizet
Unexecuted instantiation: patch.c:git__is_sizet
Unexecuted instantiation: patch_generate.c:git__is_sizet
Unexecuted instantiation: path.c:git__is_sizet
Unexecuted instantiation: pathspec.c:git__is_sizet
Unexecuted instantiation: proxy.c:git__is_sizet
Unexecuted instantiation: push.c:git__is_sizet
Unexecuted instantiation: refdb.c:git__is_sizet
Unexecuted instantiation: refdb_fs.c:git__is_sizet
Unexecuted instantiation: reflog.c:git__is_sizet
Unexecuted instantiation: refs.c:git__is_sizet
Unexecuted instantiation: refspec.c:git__is_sizet
Unexecuted instantiation: signature.c:git__is_sizet
Unexecuted instantiation: tls.c:git__is_sizet
Unexecuted instantiation: trace.c:git__is_sizet
Unexecuted instantiation: transaction.c:git__is_sizet
Unexecuted instantiation: auth.c:git__is_sizet
Unexecuted instantiation: credential.c:git__is_sizet
Unexecuted instantiation: tree-cache.c:git__is_sizet
Unexecuted instantiation: sortedcache.c:git__is_sizet
Unexecuted instantiation: utf8.c:git__is_sizet
Unexecuted instantiation: varint.c:git__is_sizet
Unexecuted instantiation: crlf.c:git__is_sizet
Unexecuted instantiation: diff_file.c:git__is_sizet
Unexecuted instantiation: diff_stats.c:git__is_sizet
Unexecuted instantiation: diff_xdiff.c:git__is_sizet
Unexecuted instantiation: ignore.c:git__is_sizet
16
17
/** @return true if p fits into the range of an ssize_t */
18
GIT_INLINE(int) git__is_ssizet(size_t p)
19
29
{
20
29
  ssize_t r = (ssize_t)p;
21
29
  return p == (size_t)r;
22
29
}
Unexecuted instantiation: download_refs_fuzzer.c:git__is_ssizet
Unexecuted instantiation: fuzzer_utils.c:git__is_ssizet
Unexecuted instantiation: errors.c:git__is_ssizet
Unexecuted instantiation: runtime.c:git__is_ssizet
Unexecuted instantiation: str.c:git__is_ssizet
Unexecuted instantiation: thread.c:git__is_ssizet
Unexecuted instantiation: util.c:git__is_ssizet
Unexecuted instantiation: libgit2.c:git__is_ssizet
Unexecuted instantiation: merge_driver.c:git__is_ssizet
Unexecuted instantiation: merge_file.c:git__is_ssizet
Unexecuted instantiation: mwindow.c:git__is_ssizet
Unexecuted instantiation: odb.c:git__is_ssizet
Unexecuted instantiation: odb_loose.c:git__is_ssizet
Unexecuted instantiation: odb_pack.c:git__is_ssizet
Unexecuted instantiation: oid.c:git__is_ssizet
Unexecuted instantiation: pack.c:git__is_ssizet
Unexecuted instantiation: remote.c:git__is_ssizet
Unexecuted instantiation: repository.c:git__is_ssizet
Unexecuted instantiation: revparse.c:git__is_ssizet
Unexecuted instantiation: revwalk.c:git__is_ssizet
Unexecuted instantiation: settings.c:git__is_ssizet
Unexecuted instantiation: strarray.c:git__is_ssizet
Unexecuted instantiation: mbedtls.c:git__is_ssizet
Unexecuted instantiation: openssl.c:git__is_ssizet
Unexecuted instantiation: registry.c:git__is_ssizet
Unexecuted instantiation: socket.c:git__is_ssizet
Unexecuted instantiation: submodule.c:git__is_ssizet
Unexecuted instantiation: sysdir.c:git__is_ssizet
Unexecuted instantiation: tag.c:git__is_ssizet
Unexecuted instantiation: transport.c:git__is_ssizet
Unexecuted instantiation: git.c:git__is_ssizet
Unexecuted instantiation: http.c:git__is_ssizet
Unexecuted instantiation: httpclient.c:git__is_ssizet
Unexecuted instantiation: httpparser.c:git__is_ssizet
Unexecuted instantiation: local.c:git__is_ssizet
Unexecuted instantiation: smart.c:git__is_ssizet
Unexecuted instantiation: smart_pkt.c:git__is_ssizet
Unexecuted instantiation: smart_protocol.c:git__is_ssizet
Unexecuted instantiation: ssh_libssh2.c:git__is_ssizet
Unexecuted instantiation: tree.c:git__is_ssizet
Unexecuted instantiation: worktree.c:git__is_ssizet
Unexecuted instantiation: alloc.c:git__is_ssizet
Unexecuted instantiation: failalloc.c:git__is_ssizet
Unexecuted instantiation: stdalloc.c:git__is_ssizet
Unexecuted instantiation: date.c:git__is_ssizet
Unexecuted instantiation: filebuf.c:git__is_ssizet
Unexecuted instantiation: fs_path.c:git__is_ssizet
futils.c:git__is_ssizet
Line
Count
Source
19
14
{
20
14
  ssize_t r = (ssize_t)p;
21
14
  return p == (size_t)r;
22
14
}
Unexecuted instantiation: hash.c:git__is_ssizet
Unexecuted instantiation: net.c:git__is_ssizet
Unexecuted instantiation: pool.c:git__is_ssizet
posix.c:git__is_ssizet
Line
Count
Source
19
15
{
20
15
  ssize_t r = (ssize_t)p;
21
15
  return p == (size_t)r;
22
15
}
Unexecuted instantiation: pqueue.c:git__is_ssizet
Unexecuted instantiation: rand.c:git__is_ssizet
Unexecuted instantiation: regexp.c:git__is_ssizet
Unexecuted instantiation: tsort.c:git__is_ssizet
Unexecuted instantiation: vector.c:git__is_ssizet
Unexecuted instantiation: wildmatch.c:git__is_ssizet
Unexecuted instantiation: zstream.c:git__is_ssizet
Unexecuted instantiation: map.c:git__is_ssizet
Unexecuted instantiation: realpath.c:git__is_ssizet
Unexecuted instantiation: collisiondetect.c:git__is_ssizet
Unexecuted instantiation: sha1.c:git__is_ssizet
Unexecuted instantiation: ubc_check.c:git__is_ssizet
Unexecuted instantiation: builtin.c:git__is_ssizet
Unexecuted instantiation: annotated_commit.c:git__is_ssizet
Unexecuted instantiation: attr.c:git__is_ssizet
Unexecuted instantiation: attr_file.c:git__is_ssizet
Unexecuted instantiation: attrcache.c:git__is_ssizet
Unexecuted instantiation: blob.c:git__is_ssizet
Unexecuted instantiation: branch.c:git__is_ssizet
Unexecuted instantiation: buf.c:git__is_ssizet
Unexecuted instantiation: cache.c:git__is_ssizet
Unexecuted instantiation: checkout.c:git__is_ssizet
Unexecuted instantiation: clone.c:git__is_ssizet
Unexecuted instantiation: commit.c:git__is_ssizet
Unexecuted instantiation: commit_graph.c:git__is_ssizet
Unexecuted instantiation: commit_list.c:git__is_ssizet
Unexecuted instantiation: config.c:git__is_ssizet
Unexecuted instantiation: config_cache.c:git__is_ssizet
Unexecuted instantiation: config_file.c:git__is_ssizet
Unexecuted instantiation: config_list.c:git__is_ssizet
Unexecuted instantiation: config_parse.c:git__is_ssizet
Unexecuted instantiation: config_snapshot.c:git__is_ssizet
Unexecuted instantiation: delta.c:git__is_ssizet
Unexecuted instantiation: diff.c:git__is_ssizet
Unexecuted instantiation: diff_driver.c:git__is_ssizet
Unexecuted instantiation: diff_generate.c:git__is_ssizet
Unexecuted instantiation: diff_print.c:git__is_ssizet
Unexecuted instantiation: diff_tform.c:git__is_ssizet
Unexecuted instantiation: email.c:git__is_ssizet
Unexecuted instantiation: fetch.c:git__is_ssizet
Unexecuted instantiation: fetchhead.c:git__is_ssizet
Unexecuted instantiation: filter.c:git__is_ssizet
Unexecuted instantiation: grafts.c:git__is_ssizet
Unexecuted instantiation: graph.c:git__is_ssizet
Unexecuted instantiation: hashsig.c:git__is_ssizet
Unexecuted instantiation: ident.c:git__is_ssizet
Unexecuted instantiation: index.c:git__is_ssizet
Unexecuted instantiation: index_map.c:git__is_ssizet
Unexecuted instantiation: indexer.c:git__is_ssizet
Unexecuted instantiation: iterator.c:git__is_ssizet
Unexecuted instantiation: mailmap.c:git__is_ssizet
Unexecuted instantiation: merge.c:git__is_ssizet
Unexecuted instantiation: midx.c:git__is_ssizet
Unexecuted instantiation: object.c:git__is_ssizet
Unexecuted instantiation: object_api.c:git__is_ssizet
Unexecuted instantiation: oidarray.c:git__is_ssizet
Unexecuted instantiation: pack-objects.c:git__is_ssizet
Unexecuted instantiation: parse.c:git__is_ssizet
Unexecuted instantiation: patch.c:git__is_ssizet
Unexecuted instantiation: patch_generate.c:git__is_ssizet
Unexecuted instantiation: path.c:git__is_ssizet
Unexecuted instantiation: pathspec.c:git__is_ssizet
Unexecuted instantiation: proxy.c:git__is_ssizet
Unexecuted instantiation: push.c:git__is_ssizet
Unexecuted instantiation: refdb.c:git__is_ssizet
Unexecuted instantiation: refdb_fs.c:git__is_ssizet
Unexecuted instantiation: reflog.c:git__is_ssizet
Unexecuted instantiation: refs.c:git__is_ssizet
Unexecuted instantiation: refspec.c:git__is_ssizet
Unexecuted instantiation: signature.c:git__is_ssizet
Unexecuted instantiation: tls.c:git__is_ssizet
Unexecuted instantiation: trace.c:git__is_ssizet
Unexecuted instantiation: transaction.c:git__is_ssizet
Unexecuted instantiation: auth.c:git__is_ssizet
Unexecuted instantiation: credential.c:git__is_ssizet
Unexecuted instantiation: tree-cache.c:git__is_ssizet
Unexecuted instantiation: sortedcache.c:git__is_ssizet
Unexecuted instantiation: utf8.c:git__is_ssizet
Unexecuted instantiation: varint.c:git__is_ssizet
Unexecuted instantiation: crlf.c:git__is_ssizet
Unexecuted instantiation: diff_file.c:git__is_ssizet
Unexecuted instantiation: diff_stats.c:git__is_ssizet
Unexecuted instantiation: diff_xdiff.c:git__is_ssizet
Unexecuted instantiation: ignore.c:git__is_ssizet
23
24
/** @return true if p fits into the range of a uint16_t */
25
GIT_INLINE(int) git__is_uint16(size_t p)
26
0
{
27
0
  uint16_t r = (uint16_t)p;
28
0
  return p == (size_t)r;
29
0
}
Unexecuted instantiation: download_refs_fuzzer.c:git__is_uint16
Unexecuted instantiation: fuzzer_utils.c:git__is_uint16
Unexecuted instantiation: errors.c:git__is_uint16
Unexecuted instantiation: runtime.c:git__is_uint16
Unexecuted instantiation: str.c:git__is_uint16
Unexecuted instantiation: thread.c:git__is_uint16
Unexecuted instantiation: util.c:git__is_uint16
Unexecuted instantiation: libgit2.c:git__is_uint16
Unexecuted instantiation: merge_driver.c:git__is_uint16
Unexecuted instantiation: merge_file.c:git__is_uint16
Unexecuted instantiation: mwindow.c:git__is_uint16
Unexecuted instantiation: odb.c:git__is_uint16
Unexecuted instantiation: odb_loose.c:git__is_uint16
Unexecuted instantiation: odb_pack.c:git__is_uint16
Unexecuted instantiation: oid.c:git__is_uint16
Unexecuted instantiation: pack.c:git__is_uint16
Unexecuted instantiation: remote.c:git__is_uint16
Unexecuted instantiation: repository.c:git__is_uint16
Unexecuted instantiation: revparse.c:git__is_uint16
Unexecuted instantiation: revwalk.c:git__is_uint16
Unexecuted instantiation: settings.c:git__is_uint16
Unexecuted instantiation: strarray.c:git__is_uint16
Unexecuted instantiation: mbedtls.c:git__is_uint16
Unexecuted instantiation: openssl.c:git__is_uint16
Unexecuted instantiation: registry.c:git__is_uint16
Unexecuted instantiation: socket.c:git__is_uint16
Unexecuted instantiation: submodule.c:git__is_uint16
Unexecuted instantiation: sysdir.c:git__is_uint16
Unexecuted instantiation: tag.c:git__is_uint16
Unexecuted instantiation: transport.c:git__is_uint16
Unexecuted instantiation: git.c:git__is_uint16
Unexecuted instantiation: http.c:git__is_uint16
Unexecuted instantiation: httpclient.c:git__is_uint16
Unexecuted instantiation: httpparser.c:git__is_uint16
Unexecuted instantiation: local.c:git__is_uint16
Unexecuted instantiation: smart.c:git__is_uint16
Unexecuted instantiation: smart_pkt.c:git__is_uint16
Unexecuted instantiation: smart_protocol.c:git__is_uint16
Unexecuted instantiation: ssh_libssh2.c:git__is_uint16
Unexecuted instantiation: tree.c:git__is_uint16
Unexecuted instantiation: worktree.c:git__is_uint16
Unexecuted instantiation: alloc.c:git__is_uint16
Unexecuted instantiation: failalloc.c:git__is_uint16
Unexecuted instantiation: stdalloc.c:git__is_uint16
Unexecuted instantiation: date.c:git__is_uint16
Unexecuted instantiation: filebuf.c:git__is_uint16
Unexecuted instantiation: fs_path.c:git__is_uint16
Unexecuted instantiation: futils.c:git__is_uint16
Unexecuted instantiation: hash.c:git__is_uint16
Unexecuted instantiation: net.c:git__is_uint16
Unexecuted instantiation: pool.c:git__is_uint16
Unexecuted instantiation: posix.c:git__is_uint16
Unexecuted instantiation: pqueue.c:git__is_uint16
Unexecuted instantiation: rand.c:git__is_uint16
Unexecuted instantiation: regexp.c:git__is_uint16
Unexecuted instantiation: tsort.c:git__is_uint16
Unexecuted instantiation: vector.c:git__is_uint16
Unexecuted instantiation: wildmatch.c:git__is_uint16
Unexecuted instantiation: zstream.c:git__is_uint16
Unexecuted instantiation: map.c:git__is_uint16
Unexecuted instantiation: realpath.c:git__is_uint16
Unexecuted instantiation: collisiondetect.c:git__is_uint16
Unexecuted instantiation: sha1.c:git__is_uint16
Unexecuted instantiation: ubc_check.c:git__is_uint16
Unexecuted instantiation: builtin.c:git__is_uint16
Unexecuted instantiation: annotated_commit.c:git__is_uint16
Unexecuted instantiation: attr.c:git__is_uint16
Unexecuted instantiation: attr_file.c:git__is_uint16
Unexecuted instantiation: attrcache.c:git__is_uint16
Unexecuted instantiation: blob.c:git__is_uint16
Unexecuted instantiation: branch.c:git__is_uint16
Unexecuted instantiation: buf.c:git__is_uint16
Unexecuted instantiation: cache.c:git__is_uint16
Unexecuted instantiation: checkout.c:git__is_uint16
Unexecuted instantiation: clone.c:git__is_uint16
Unexecuted instantiation: commit.c:git__is_uint16
Unexecuted instantiation: commit_graph.c:git__is_uint16
Unexecuted instantiation: commit_list.c:git__is_uint16
Unexecuted instantiation: config.c:git__is_uint16
Unexecuted instantiation: config_cache.c:git__is_uint16
Unexecuted instantiation: config_file.c:git__is_uint16
Unexecuted instantiation: config_list.c:git__is_uint16
Unexecuted instantiation: config_parse.c:git__is_uint16
Unexecuted instantiation: config_snapshot.c:git__is_uint16
Unexecuted instantiation: delta.c:git__is_uint16
Unexecuted instantiation: diff.c:git__is_uint16
Unexecuted instantiation: diff_driver.c:git__is_uint16
Unexecuted instantiation: diff_generate.c:git__is_uint16
Unexecuted instantiation: diff_print.c:git__is_uint16
Unexecuted instantiation: diff_tform.c:git__is_uint16
Unexecuted instantiation: email.c:git__is_uint16
Unexecuted instantiation: fetch.c:git__is_uint16
Unexecuted instantiation: fetchhead.c:git__is_uint16
Unexecuted instantiation: filter.c:git__is_uint16
Unexecuted instantiation: grafts.c:git__is_uint16
Unexecuted instantiation: graph.c:git__is_uint16
Unexecuted instantiation: hashsig.c:git__is_uint16
Unexecuted instantiation: ident.c:git__is_uint16
Unexecuted instantiation: index.c:git__is_uint16
Unexecuted instantiation: index_map.c:git__is_uint16
Unexecuted instantiation: indexer.c:git__is_uint16
Unexecuted instantiation: iterator.c:git__is_uint16
Unexecuted instantiation: mailmap.c:git__is_uint16
Unexecuted instantiation: merge.c:git__is_uint16
Unexecuted instantiation: midx.c:git__is_uint16
Unexecuted instantiation: object.c:git__is_uint16
Unexecuted instantiation: object_api.c:git__is_uint16
Unexecuted instantiation: oidarray.c:git__is_uint16
Unexecuted instantiation: pack-objects.c:git__is_uint16
Unexecuted instantiation: parse.c:git__is_uint16
Unexecuted instantiation: patch.c:git__is_uint16
Unexecuted instantiation: patch_generate.c:git__is_uint16
Unexecuted instantiation: path.c:git__is_uint16
Unexecuted instantiation: pathspec.c:git__is_uint16
Unexecuted instantiation: proxy.c:git__is_uint16
Unexecuted instantiation: push.c:git__is_uint16
Unexecuted instantiation: refdb.c:git__is_uint16
Unexecuted instantiation: refdb_fs.c:git__is_uint16
Unexecuted instantiation: reflog.c:git__is_uint16
Unexecuted instantiation: refs.c:git__is_uint16
Unexecuted instantiation: refspec.c:git__is_uint16
Unexecuted instantiation: signature.c:git__is_uint16
Unexecuted instantiation: tls.c:git__is_uint16
Unexecuted instantiation: trace.c:git__is_uint16
Unexecuted instantiation: transaction.c:git__is_uint16
Unexecuted instantiation: auth.c:git__is_uint16
Unexecuted instantiation: credential.c:git__is_uint16
Unexecuted instantiation: tree-cache.c:git__is_uint16
Unexecuted instantiation: sortedcache.c:git__is_uint16
Unexecuted instantiation: utf8.c:git__is_uint16
Unexecuted instantiation: varint.c:git__is_uint16
Unexecuted instantiation: crlf.c:git__is_uint16
Unexecuted instantiation: diff_file.c:git__is_uint16
Unexecuted instantiation: diff_stats.c:git__is_uint16
Unexecuted instantiation: diff_xdiff.c:git__is_uint16
Unexecuted instantiation: ignore.c:git__is_uint16
30
31
/** @return true if p fits into the range of a uint32_t */
32
GIT_INLINE(int) git__is_uint32(size_t p)
33
0
{
34
0
  uint32_t r = (uint32_t)p;
35
0
  return p == (size_t)r;
36
0
}
Unexecuted instantiation: download_refs_fuzzer.c:git__is_uint32
Unexecuted instantiation: fuzzer_utils.c:git__is_uint32
Unexecuted instantiation: errors.c:git__is_uint32
Unexecuted instantiation: runtime.c:git__is_uint32
Unexecuted instantiation: str.c:git__is_uint32
Unexecuted instantiation: thread.c:git__is_uint32
Unexecuted instantiation: util.c:git__is_uint32
Unexecuted instantiation: libgit2.c:git__is_uint32
Unexecuted instantiation: merge_driver.c:git__is_uint32
Unexecuted instantiation: merge_file.c:git__is_uint32
Unexecuted instantiation: mwindow.c:git__is_uint32
Unexecuted instantiation: odb.c:git__is_uint32
Unexecuted instantiation: odb_loose.c:git__is_uint32
Unexecuted instantiation: odb_pack.c:git__is_uint32
Unexecuted instantiation: oid.c:git__is_uint32
Unexecuted instantiation: pack.c:git__is_uint32
Unexecuted instantiation: remote.c:git__is_uint32
Unexecuted instantiation: repository.c:git__is_uint32
Unexecuted instantiation: revparse.c:git__is_uint32
Unexecuted instantiation: revwalk.c:git__is_uint32
Unexecuted instantiation: settings.c:git__is_uint32
Unexecuted instantiation: strarray.c:git__is_uint32
Unexecuted instantiation: mbedtls.c:git__is_uint32
Unexecuted instantiation: openssl.c:git__is_uint32
Unexecuted instantiation: registry.c:git__is_uint32
Unexecuted instantiation: socket.c:git__is_uint32
Unexecuted instantiation: submodule.c:git__is_uint32
Unexecuted instantiation: sysdir.c:git__is_uint32
Unexecuted instantiation: tag.c:git__is_uint32
Unexecuted instantiation: transport.c:git__is_uint32
Unexecuted instantiation: git.c:git__is_uint32
Unexecuted instantiation: http.c:git__is_uint32
Unexecuted instantiation: httpclient.c:git__is_uint32
Unexecuted instantiation: httpparser.c:git__is_uint32
Unexecuted instantiation: local.c:git__is_uint32
Unexecuted instantiation: smart.c:git__is_uint32
Unexecuted instantiation: smart_pkt.c:git__is_uint32
Unexecuted instantiation: smart_protocol.c:git__is_uint32
Unexecuted instantiation: ssh_libssh2.c:git__is_uint32
Unexecuted instantiation: tree.c:git__is_uint32
Unexecuted instantiation: worktree.c:git__is_uint32
Unexecuted instantiation: alloc.c:git__is_uint32
Unexecuted instantiation: failalloc.c:git__is_uint32
Unexecuted instantiation: stdalloc.c:git__is_uint32
Unexecuted instantiation: date.c:git__is_uint32
Unexecuted instantiation: filebuf.c:git__is_uint32
Unexecuted instantiation: fs_path.c:git__is_uint32
Unexecuted instantiation: futils.c:git__is_uint32
Unexecuted instantiation: hash.c:git__is_uint32
Unexecuted instantiation: net.c:git__is_uint32
Unexecuted instantiation: pool.c:git__is_uint32
Unexecuted instantiation: posix.c:git__is_uint32
Unexecuted instantiation: pqueue.c:git__is_uint32
Unexecuted instantiation: rand.c:git__is_uint32
Unexecuted instantiation: regexp.c:git__is_uint32
Unexecuted instantiation: tsort.c:git__is_uint32
Unexecuted instantiation: vector.c:git__is_uint32
Unexecuted instantiation: wildmatch.c:git__is_uint32
Unexecuted instantiation: zstream.c:git__is_uint32
Unexecuted instantiation: map.c:git__is_uint32
Unexecuted instantiation: realpath.c:git__is_uint32
Unexecuted instantiation: collisiondetect.c:git__is_uint32
Unexecuted instantiation: sha1.c:git__is_uint32
Unexecuted instantiation: ubc_check.c:git__is_uint32
Unexecuted instantiation: builtin.c:git__is_uint32
Unexecuted instantiation: annotated_commit.c:git__is_uint32
Unexecuted instantiation: attr.c:git__is_uint32
Unexecuted instantiation: attr_file.c:git__is_uint32
Unexecuted instantiation: attrcache.c:git__is_uint32
Unexecuted instantiation: blob.c:git__is_uint32
Unexecuted instantiation: branch.c:git__is_uint32
Unexecuted instantiation: buf.c:git__is_uint32
Unexecuted instantiation: cache.c:git__is_uint32
Unexecuted instantiation: checkout.c:git__is_uint32
Unexecuted instantiation: clone.c:git__is_uint32
Unexecuted instantiation: commit.c:git__is_uint32
Unexecuted instantiation: commit_graph.c:git__is_uint32
Unexecuted instantiation: commit_list.c:git__is_uint32
Unexecuted instantiation: config.c:git__is_uint32
Unexecuted instantiation: config_cache.c:git__is_uint32
Unexecuted instantiation: config_file.c:git__is_uint32
Unexecuted instantiation: config_list.c:git__is_uint32
Unexecuted instantiation: config_parse.c:git__is_uint32
Unexecuted instantiation: config_snapshot.c:git__is_uint32
Unexecuted instantiation: delta.c:git__is_uint32
Unexecuted instantiation: diff.c:git__is_uint32
Unexecuted instantiation: diff_driver.c:git__is_uint32
Unexecuted instantiation: diff_generate.c:git__is_uint32
Unexecuted instantiation: diff_print.c:git__is_uint32
Unexecuted instantiation: diff_tform.c:git__is_uint32
Unexecuted instantiation: email.c:git__is_uint32
Unexecuted instantiation: fetch.c:git__is_uint32
Unexecuted instantiation: fetchhead.c:git__is_uint32
Unexecuted instantiation: filter.c:git__is_uint32
Unexecuted instantiation: grafts.c:git__is_uint32
Unexecuted instantiation: graph.c:git__is_uint32
Unexecuted instantiation: hashsig.c:git__is_uint32
Unexecuted instantiation: ident.c:git__is_uint32
Unexecuted instantiation: index.c:git__is_uint32
Unexecuted instantiation: index_map.c:git__is_uint32
Unexecuted instantiation: indexer.c:git__is_uint32
Unexecuted instantiation: iterator.c:git__is_uint32
Unexecuted instantiation: mailmap.c:git__is_uint32
Unexecuted instantiation: merge.c:git__is_uint32
Unexecuted instantiation: midx.c:git__is_uint32
Unexecuted instantiation: object.c:git__is_uint32
Unexecuted instantiation: object_api.c:git__is_uint32
Unexecuted instantiation: oidarray.c:git__is_uint32
Unexecuted instantiation: pack-objects.c:git__is_uint32
Unexecuted instantiation: parse.c:git__is_uint32
Unexecuted instantiation: patch.c:git__is_uint32
Unexecuted instantiation: patch_generate.c:git__is_uint32
Unexecuted instantiation: path.c:git__is_uint32
Unexecuted instantiation: pathspec.c:git__is_uint32
Unexecuted instantiation: proxy.c:git__is_uint32
Unexecuted instantiation: push.c:git__is_uint32
Unexecuted instantiation: refdb.c:git__is_uint32
Unexecuted instantiation: refdb_fs.c:git__is_uint32
Unexecuted instantiation: reflog.c:git__is_uint32
Unexecuted instantiation: refs.c:git__is_uint32
Unexecuted instantiation: refspec.c:git__is_uint32
Unexecuted instantiation: signature.c:git__is_uint32
Unexecuted instantiation: tls.c:git__is_uint32
Unexecuted instantiation: trace.c:git__is_uint32
Unexecuted instantiation: transaction.c:git__is_uint32
Unexecuted instantiation: auth.c:git__is_uint32
Unexecuted instantiation: credential.c:git__is_uint32
Unexecuted instantiation: tree-cache.c:git__is_uint32
Unexecuted instantiation: sortedcache.c:git__is_uint32
Unexecuted instantiation: utf8.c:git__is_uint32
Unexecuted instantiation: varint.c:git__is_uint32
Unexecuted instantiation: crlf.c:git__is_uint32
Unexecuted instantiation: diff_file.c:git__is_uint32
Unexecuted instantiation: diff_stats.c:git__is_uint32
Unexecuted instantiation: diff_xdiff.c:git__is_uint32
Unexecuted instantiation: ignore.c:git__is_uint32
37
38
/** @return true if p fits into the range of an unsigned long */
39
GIT_INLINE(int) git__is_ulong(int64_t p)
40
0
{
41
0
  unsigned long r = (unsigned long)p;
42
0
  return p == (int64_t)r;
43
0
}
Unexecuted instantiation: download_refs_fuzzer.c:git__is_ulong
Unexecuted instantiation: fuzzer_utils.c:git__is_ulong
Unexecuted instantiation: errors.c:git__is_ulong
Unexecuted instantiation: runtime.c:git__is_ulong
Unexecuted instantiation: str.c:git__is_ulong
Unexecuted instantiation: thread.c:git__is_ulong
Unexecuted instantiation: util.c:git__is_ulong
Unexecuted instantiation: libgit2.c:git__is_ulong
Unexecuted instantiation: merge_driver.c:git__is_ulong
Unexecuted instantiation: merge_file.c:git__is_ulong
Unexecuted instantiation: mwindow.c:git__is_ulong
Unexecuted instantiation: odb.c:git__is_ulong
Unexecuted instantiation: odb_loose.c:git__is_ulong
Unexecuted instantiation: odb_pack.c:git__is_ulong
Unexecuted instantiation: oid.c:git__is_ulong
Unexecuted instantiation: pack.c:git__is_ulong
Unexecuted instantiation: remote.c:git__is_ulong
Unexecuted instantiation: repository.c:git__is_ulong
Unexecuted instantiation: revparse.c:git__is_ulong
Unexecuted instantiation: revwalk.c:git__is_ulong
Unexecuted instantiation: settings.c:git__is_ulong
Unexecuted instantiation: strarray.c:git__is_ulong
Unexecuted instantiation: mbedtls.c:git__is_ulong
Unexecuted instantiation: openssl.c:git__is_ulong
Unexecuted instantiation: registry.c:git__is_ulong
Unexecuted instantiation: socket.c:git__is_ulong
Unexecuted instantiation: submodule.c:git__is_ulong
Unexecuted instantiation: sysdir.c:git__is_ulong
Unexecuted instantiation: tag.c:git__is_ulong
Unexecuted instantiation: transport.c:git__is_ulong
Unexecuted instantiation: git.c:git__is_ulong
Unexecuted instantiation: http.c:git__is_ulong
Unexecuted instantiation: httpclient.c:git__is_ulong
Unexecuted instantiation: httpparser.c:git__is_ulong
Unexecuted instantiation: local.c:git__is_ulong
Unexecuted instantiation: smart.c:git__is_ulong
Unexecuted instantiation: smart_pkt.c:git__is_ulong
Unexecuted instantiation: smart_protocol.c:git__is_ulong
Unexecuted instantiation: ssh_libssh2.c:git__is_ulong
Unexecuted instantiation: tree.c:git__is_ulong
Unexecuted instantiation: worktree.c:git__is_ulong
Unexecuted instantiation: alloc.c:git__is_ulong
Unexecuted instantiation: failalloc.c:git__is_ulong
Unexecuted instantiation: stdalloc.c:git__is_ulong
Unexecuted instantiation: date.c:git__is_ulong
Unexecuted instantiation: filebuf.c:git__is_ulong
Unexecuted instantiation: fs_path.c:git__is_ulong
Unexecuted instantiation: futils.c:git__is_ulong
Unexecuted instantiation: hash.c:git__is_ulong
Unexecuted instantiation: net.c:git__is_ulong
Unexecuted instantiation: pool.c:git__is_ulong
Unexecuted instantiation: posix.c:git__is_ulong
Unexecuted instantiation: pqueue.c:git__is_ulong
Unexecuted instantiation: rand.c:git__is_ulong
Unexecuted instantiation: regexp.c:git__is_ulong
Unexecuted instantiation: tsort.c:git__is_ulong
Unexecuted instantiation: vector.c:git__is_ulong
Unexecuted instantiation: wildmatch.c:git__is_ulong
Unexecuted instantiation: zstream.c:git__is_ulong
Unexecuted instantiation: map.c:git__is_ulong
Unexecuted instantiation: realpath.c:git__is_ulong
Unexecuted instantiation: collisiondetect.c:git__is_ulong
Unexecuted instantiation: sha1.c:git__is_ulong
Unexecuted instantiation: ubc_check.c:git__is_ulong
Unexecuted instantiation: builtin.c:git__is_ulong
Unexecuted instantiation: annotated_commit.c:git__is_ulong
Unexecuted instantiation: attr.c:git__is_ulong
Unexecuted instantiation: attr_file.c:git__is_ulong
Unexecuted instantiation: attrcache.c:git__is_ulong
Unexecuted instantiation: blob.c:git__is_ulong
Unexecuted instantiation: branch.c:git__is_ulong
Unexecuted instantiation: buf.c:git__is_ulong
Unexecuted instantiation: cache.c:git__is_ulong
Unexecuted instantiation: checkout.c:git__is_ulong
Unexecuted instantiation: clone.c:git__is_ulong
Unexecuted instantiation: commit.c:git__is_ulong
Unexecuted instantiation: commit_graph.c:git__is_ulong
Unexecuted instantiation: commit_list.c:git__is_ulong
Unexecuted instantiation: config.c:git__is_ulong
Unexecuted instantiation: config_cache.c:git__is_ulong
Unexecuted instantiation: config_file.c:git__is_ulong
Unexecuted instantiation: config_list.c:git__is_ulong
Unexecuted instantiation: config_parse.c:git__is_ulong
Unexecuted instantiation: config_snapshot.c:git__is_ulong
Unexecuted instantiation: delta.c:git__is_ulong
Unexecuted instantiation: diff.c:git__is_ulong
Unexecuted instantiation: diff_driver.c:git__is_ulong
Unexecuted instantiation: diff_generate.c:git__is_ulong
Unexecuted instantiation: diff_print.c:git__is_ulong
Unexecuted instantiation: diff_tform.c:git__is_ulong
Unexecuted instantiation: email.c:git__is_ulong
Unexecuted instantiation: fetch.c:git__is_ulong
Unexecuted instantiation: fetchhead.c:git__is_ulong
Unexecuted instantiation: filter.c:git__is_ulong
Unexecuted instantiation: grafts.c:git__is_ulong
Unexecuted instantiation: graph.c:git__is_ulong
Unexecuted instantiation: hashsig.c:git__is_ulong
Unexecuted instantiation: ident.c:git__is_ulong
Unexecuted instantiation: index.c:git__is_ulong
Unexecuted instantiation: index_map.c:git__is_ulong
Unexecuted instantiation: indexer.c:git__is_ulong
Unexecuted instantiation: iterator.c:git__is_ulong
Unexecuted instantiation: mailmap.c:git__is_ulong
Unexecuted instantiation: merge.c:git__is_ulong
Unexecuted instantiation: midx.c:git__is_ulong
Unexecuted instantiation: object.c:git__is_ulong
Unexecuted instantiation: object_api.c:git__is_ulong
Unexecuted instantiation: oidarray.c:git__is_ulong
Unexecuted instantiation: pack-objects.c:git__is_ulong
Unexecuted instantiation: parse.c:git__is_ulong
Unexecuted instantiation: patch.c:git__is_ulong
Unexecuted instantiation: patch_generate.c:git__is_ulong
Unexecuted instantiation: path.c:git__is_ulong
Unexecuted instantiation: pathspec.c:git__is_ulong
Unexecuted instantiation: proxy.c:git__is_ulong
Unexecuted instantiation: push.c:git__is_ulong
Unexecuted instantiation: refdb.c:git__is_ulong
Unexecuted instantiation: refdb_fs.c:git__is_ulong
Unexecuted instantiation: reflog.c:git__is_ulong
Unexecuted instantiation: refs.c:git__is_ulong
Unexecuted instantiation: refspec.c:git__is_ulong
Unexecuted instantiation: signature.c:git__is_ulong
Unexecuted instantiation: tls.c:git__is_ulong
Unexecuted instantiation: trace.c:git__is_ulong
Unexecuted instantiation: transaction.c:git__is_ulong
Unexecuted instantiation: auth.c:git__is_ulong
Unexecuted instantiation: credential.c:git__is_ulong
Unexecuted instantiation: tree-cache.c:git__is_ulong
Unexecuted instantiation: sortedcache.c:git__is_ulong
Unexecuted instantiation: utf8.c:git__is_ulong
Unexecuted instantiation: varint.c:git__is_ulong
Unexecuted instantiation: crlf.c:git__is_ulong
Unexecuted instantiation: diff_file.c:git__is_ulong
Unexecuted instantiation: diff_stats.c:git__is_ulong
Unexecuted instantiation: diff_xdiff.c:git__is_ulong
Unexecuted instantiation: ignore.c:git__is_ulong
44
45
/** @return true if p fits into the range of an int */
46
GIT_INLINE(int) git__is_int(int64_t p)
47
0
{
48
0
  int r = (int)p;
49
0
  return p == (int64_t)r;
50
0
}
Unexecuted instantiation: download_refs_fuzzer.c:git__is_int
Unexecuted instantiation: fuzzer_utils.c:git__is_int
Unexecuted instantiation: errors.c:git__is_int
Unexecuted instantiation: runtime.c:git__is_int
Unexecuted instantiation: str.c:git__is_int
Unexecuted instantiation: thread.c:git__is_int
Unexecuted instantiation: util.c:git__is_int
Unexecuted instantiation: libgit2.c:git__is_int
Unexecuted instantiation: merge_driver.c:git__is_int
Unexecuted instantiation: merge_file.c:git__is_int
Unexecuted instantiation: mwindow.c:git__is_int
Unexecuted instantiation: odb.c:git__is_int
Unexecuted instantiation: odb_loose.c:git__is_int
Unexecuted instantiation: odb_pack.c:git__is_int
Unexecuted instantiation: oid.c:git__is_int
Unexecuted instantiation: pack.c:git__is_int
Unexecuted instantiation: remote.c:git__is_int
Unexecuted instantiation: repository.c:git__is_int
Unexecuted instantiation: revparse.c:git__is_int
Unexecuted instantiation: revwalk.c:git__is_int
Unexecuted instantiation: settings.c:git__is_int
Unexecuted instantiation: strarray.c:git__is_int
Unexecuted instantiation: mbedtls.c:git__is_int
Unexecuted instantiation: openssl.c:git__is_int
Unexecuted instantiation: registry.c:git__is_int
Unexecuted instantiation: socket.c:git__is_int
Unexecuted instantiation: submodule.c:git__is_int
Unexecuted instantiation: sysdir.c:git__is_int
Unexecuted instantiation: tag.c:git__is_int
Unexecuted instantiation: transport.c:git__is_int
Unexecuted instantiation: git.c:git__is_int
Unexecuted instantiation: http.c:git__is_int
Unexecuted instantiation: httpclient.c:git__is_int
Unexecuted instantiation: httpparser.c:git__is_int
Unexecuted instantiation: local.c:git__is_int
Unexecuted instantiation: smart.c:git__is_int
Unexecuted instantiation: smart_pkt.c:git__is_int
Unexecuted instantiation: smart_protocol.c:git__is_int
Unexecuted instantiation: ssh_libssh2.c:git__is_int
Unexecuted instantiation: tree.c:git__is_int
Unexecuted instantiation: worktree.c:git__is_int
Unexecuted instantiation: alloc.c:git__is_int
Unexecuted instantiation: failalloc.c:git__is_int
Unexecuted instantiation: stdalloc.c:git__is_int
Unexecuted instantiation: date.c:git__is_int
Unexecuted instantiation: filebuf.c:git__is_int
Unexecuted instantiation: fs_path.c:git__is_int
Unexecuted instantiation: futils.c:git__is_int
Unexecuted instantiation: hash.c:git__is_int
Unexecuted instantiation: net.c:git__is_int
Unexecuted instantiation: pool.c:git__is_int
Unexecuted instantiation: posix.c:git__is_int
Unexecuted instantiation: pqueue.c:git__is_int
Unexecuted instantiation: rand.c:git__is_int
Unexecuted instantiation: regexp.c:git__is_int
Unexecuted instantiation: tsort.c:git__is_int
Unexecuted instantiation: vector.c:git__is_int
Unexecuted instantiation: wildmatch.c:git__is_int
Unexecuted instantiation: zstream.c:git__is_int
Unexecuted instantiation: map.c:git__is_int
Unexecuted instantiation: realpath.c:git__is_int
Unexecuted instantiation: collisiondetect.c:git__is_int
Unexecuted instantiation: sha1.c:git__is_int
Unexecuted instantiation: ubc_check.c:git__is_int
Unexecuted instantiation: builtin.c:git__is_int
Unexecuted instantiation: annotated_commit.c:git__is_int
Unexecuted instantiation: attr.c:git__is_int
Unexecuted instantiation: attr_file.c:git__is_int
Unexecuted instantiation: attrcache.c:git__is_int
Unexecuted instantiation: blob.c:git__is_int
Unexecuted instantiation: branch.c:git__is_int
Unexecuted instantiation: buf.c:git__is_int
Unexecuted instantiation: cache.c:git__is_int
Unexecuted instantiation: checkout.c:git__is_int
Unexecuted instantiation: clone.c:git__is_int
Unexecuted instantiation: commit.c:git__is_int
Unexecuted instantiation: commit_graph.c:git__is_int
Unexecuted instantiation: commit_list.c:git__is_int
Unexecuted instantiation: config.c:git__is_int
Unexecuted instantiation: config_cache.c:git__is_int
Unexecuted instantiation: config_file.c:git__is_int
Unexecuted instantiation: config_list.c:git__is_int
Unexecuted instantiation: config_parse.c:git__is_int
Unexecuted instantiation: config_snapshot.c:git__is_int
Unexecuted instantiation: delta.c:git__is_int
Unexecuted instantiation: diff.c:git__is_int
Unexecuted instantiation: diff_driver.c:git__is_int
Unexecuted instantiation: diff_generate.c:git__is_int
Unexecuted instantiation: diff_print.c:git__is_int
Unexecuted instantiation: diff_tform.c:git__is_int
Unexecuted instantiation: email.c:git__is_int
Unexecuted instantiation: fetch.c:git__is_int
Unexecuted instantiation: fetchhead.c:git__is_int
Unexecuted instantiation: filter.c:git__is_int
Unexecuted instantiation: grafts.c:git__is_int
Unexecuted instantiation: graph.c:git__is_int
Unexecuted instantiation: hashsig.c:git__is_int
Unexecuted instantiation: ident.c:git__is_int
Unexecuted instantiation: index.c:git__is_int
Unexecuted instantiation: index_map.c:git__is_int
Unexecuted instantiation: indexer.c:git__is_int
Unexecuted instantiation: iterator.c:git__is_int
Unexecuted instantiation: mailmap.c:git__is_int
Unexecuted instantiation: merge.c:git__is_int
Unexecuted instantiation: midx.c:git__is_int
Unexecuted instantiation: object.c:git__is_int
Unexecuted instantiation: object_api.c:git__is_int
Unexecuted instantiation: oidarray.c:git__is_int
Unexecuted instantiation: pack-objects.c:git__is_int
Unexecuted instantiation: parse.c:git__is_int
Unexecuted instantiation: patch.c:git__is_int
Unexecuted instantiation: patch_generate.c:git__is_int
Unexecuted instantiation: path.c:git__is_int
Unexecuted instantiation: pathspec.c:git__is_int
Unexecuted instantiation: proxy.c:git__is_int
Unexecuted instantiation: push.c:git__is_int
Unexecuted instantiation: refdb.c:git__is_int
Unexecuted instantiation: refdb_fs.c:git__is_int
Unexecuted instantiation: reflog.c:git__is_int
Unexecuted instantiation: refs.c:git__is_int
Unexecuted instantiation: refspec.c:git__is_int
Unexecuted instantiation: signature.c:git__is_int
Unexecuted instantiation: tls.c:git__is_int
Unexecuted instantiation: trace.c:git__is_int
Unexecuted instantiation: transaction.c:git__is_int
Unexecuted instantiation: auth.c:git__is_int
Unexecuted instantiation: credential.c:git__is_int
Unexecuted instantiation: tree-cache.c:git__is_int
Unexecuted instantiation: sortedcache.c:git__is_int
Unexecuted instantiation: utf8.c:git__is_int
Unexecuted instantiation: varint.c:git__is_int
Unexecuted instantiation: crlf.c:git__is_int
Unexecuted instantiation: diff_file.c:git__is_int
Unexecuted instantiation: diff_stats.c:git__is_int
Unexecuted instantiation: diff_xdiff.c:git__is_int
Unexecuted instantiation: ignore.c:git__is_int
51
52
/* Use clang/gcc compiler intrinsics whenever possible */
53
#if (__has_builtin(__builtin_add_overflow) || \
54
     (defined(__GNUC__) && (__GNUC__ >= 5)))
55
56
# if (SIZE_MAX == UINT_MAX)
57
#  define git__add_sizet_overflow(out, one, two) \
58
     __builtin_uadd_overflow(one, two, out)
59
#  define git__multiply_sizet_overflow(out, one, two) \
60
     __builtin_umul_overflow(one, two, out)
61
# elif (SIZE_MAX == ULONG_MAX)
62
#  define git__add_sizet_overflow(out, one, two) \
63
2.36M
     __builtin_uaddl_overflow(one, two, out)
64
#  define git__multiply_sizet_overflow(out, one, two) \
65
1.08M
     __builtin_umull_overflow(one, two, out)
66
# elif (SIZE_MAX == ULLONG_MAX)
67
#  define git__add_sizet_overflow(out, one, two) \
68
     __builtin_uaddll_overflow(one, two, out)
69
#  define git__multiply_sizet_overflow(out, one, two) \
70
     __builtin_umulll_overflow(one, two, out)
71
# else
72
#  error compiler has add with overflow intrinsics but SIZE_MAX is unknown
73
# endif
74
75
# define git__add_int_overflow(out, one, two) \
76
    __builtin_sadd_overflow(one, two, out)
77
# define git__sub_int_overflow(out, one, two) \
78
    __builtin_ssub_overflow(one, two, out)
79
80
# define git__add_int64_overflow(out, one, two) \
81
6.52M
    __builtin_add_overflow(one, two, out)
82
83
/* clang on 32-bit systems produces an undefined reference to `__mulodi4`. */
84
# if !defined(__clang__) || !defined(GIT_ARCH_32)
85
#  define git__multiply_int64_overflow(out, one, two) \
86
13.0M
     __builtin_mul_overflow(one, two, out)
87
# endif
88
89
/* Use Microsoft's safe integer handling functions where available */
90
#elif defined(_MSC_VER)
91
92
# if !defined(ENABLE_INTSAFE_SIGNED_FUNCTIONS)
93
#  define ENABLE_INTSAFE_SIGNED_FUNCTIONS
94
# endif
95
# include <intsafe.h>
96
97
# define git__add_sizet_overflow(out, one, two) \
98
    (SizeTAdd(one, two, out) != S_OK)
99
# define git__multiply_sizet_overflow(out, one, two) \
100
    (SizeTMult(one, two, out) != S_OK)
101
102
#define git__add_int_overflow(out, one, two) \
103
    (IntAdd(one, two, out) != S_OK)
104
#define git__sub_int_overflow(out, one, two) \
105
    (IntSub(one, two, out) != S_OK)
106
107
#define git__add_int64_overflow(out, one, two) \
108
    (LongLongAdd(one, two, out) != S_OK)
109
#define git__multiply_int64_overflow(out, one, two) \
110
    (LongLongMult(one, two, out) != S_OK)
111
112
#else
113
114
/**
115
 * Sets `one + two` into `out`, unless the arithmetic would overflow.
116
 * @return false if the result fits in a `size_t`, true on overflow.
117
 */
118
GIT_INLINE(bool) git__add_sizet_overflow(size_t *out, size_t one, size_t two)
119
{
120
  if (SIZE_MAX - one < two)
121
    return true;
122
  *out = one + two;
123
  return false;
124
}
125
126
/**
127
 * Sets `one * two` into `out`, unless the arithmetic would overflow.
128
 * @return false if the result fits in a `size_t`, true on overflow.
129
 */
130
GIT_INLINE(bool) git__multiply_sizet_overflow(size_t *out, size_t one, size_t two)
131
{
132
  if (one && SIZE_MAX / one < two)
133
    return true;
134
  *out = one * two;
135
  return false;
136
}
137
138
GIT_INLINE(bool) git__add_int_overflow(int *out, int one, int two)
139
{
140
  if ((two > 0 && one > (INT_MAX - two)) ||
141
      (two < 0 && one < (INT_MIN - two)))
142
    return true;
143
  *out = one + two;
144
  return false;
145
}
146
147
GIT_INLINE(bool) git__sub_int_overflow(int *out, int one, int two)
148
{
149
  if ((two > 0 && one < (INT_MIN + two)) ||
150
      (two < 0 && one > (INT_MAX + two)))
151
    return true;
152
  *out = one - two;
153
  return false;
154
}
155
156
GIT_INLINE(bool) git__add_int64_overflow(int64_t *out, int64_t one, int64_t two)
157
{
158
  if ((two > 0 && one > (INT64_MAX - two)) ||
159
      (two < 0 && one < (INT64_MIN - two)))
160
    return true;
161
  *out = one + two;
162
  return false;
163
}
164
165
#endif
166
167
/* If we could not provide an intrinsic implementation for this, provide a (slow) fallback. */
168
#if !defined(git__multiply_int64_overflow)
169
GIT_INLINE(bool) git__multiply_int64_overflow(int64_t *out, int64_t one, int64_t two)
170
{
171
  /*
172
   * Detects whether `INT64_MAX < (one * two) || INT64_MIN > (one * two)`,
173
   * without incurring in undefined behavior. That is done by performing the
174
   * comparison with a division instead of a multiplication, which translates
175
   * to `INT64_MAX / one < two || INT64_MIN / one > two`. Some caveats:
176
   *
177
   * - The comparison sign is inverted when both sides of the inequality are
178
   *   multiplied/divided by a negative number, so if `one < 0` the comparison
179
   *   needs to be flipped.
180
   * - `INT64_MAX / -1` itself overflows (or traps), so that case should be
181
   *   avoided.
182
   * - Since the overflow flag is defined as the discrepance between the result
183
   *   of performing the multiplication in a signed integer at twice the width
184
   *   of the operands, and the truncated+sign-extended version of that same
185
   *   result, there are four cases where the result is the opposite of what
186
   *   would be expected:
187
   *   * `INT64_MIN * -1` / `-1 * INT64_MIN`
188
   *   * `INT64_MIN * 1 / `1 * INT64_MIN`
189
   */
190
  if (one && two) {
191
    if (one > 0 && two > 0) {
192
      if (INT64_MAX / one < two)
193
        return true;
194
    } else if (one < 0 && two < 0) {
195
      if ((one == -1 && two == INT64_MIN) ||
196
          (two == -1 && one == INT64_MIN)) {
197
        *out = INT64_MIN;
198
        return false;
199
      }
200
      if (INT64_MAX / one > two)
201
        return true;
202
    } else if (one > 0 && two < 0) {
203
      if ((one == 1 && two == INT64_MIN) ||
204
          (INT64_MIN / one > two))
205
        return true;
206
    } else if (one == -1) {
207
      if (INT64_MIN / two > one)
208
        return true;
209
    } else {
210
      if ((one == INT64_MIN && two == 1) ||
211
          (INT64_MIN / one < two))
212
        return true;
213
    }
214
  }
215
  *out = one * two;
216
  return false;
217
}
218
#endif
219
220
#endif