rugged 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +1 -0
- data/README.md +3 -3
- data/ext/rugged/rugged.c +7 -4
- data/ext/rugged/rugged_commit.c +1 -1
- data/ext/rugged/rugged_config.c +1 -1
- data/ext/rugged/rugged_object.c +1 -1
- data/ext/rugged/rugged_remote.c +32 -2
- data/ext/rugged/rugged_repo.c +13 -3
- data/lib/rugged/commit.rb +17 -4
- data/lib/rugged/repository.rb +7 -8
- data/lib/rugged/submodule_collection.rb +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +41 -74
- data/vendor/libgit2/COPYING +109 -1
- data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
- data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
- data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
- data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
- data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
- data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
- data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
- data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +164 -135
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
- data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +15 -1
- data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
- data/vendor/libgit2/deps/pcre/LICENCE +93 -0
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
- data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
- data/vendor/libgit2/deps/zlib/deflate.c +1 -0
- data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
- data/vendor/libgit2/include/git2/apply.h +2 -0
- data/vendor/libgit2/include/git2/attr.h +89 -0
- data/vendor/libgit2/include/git2/blame.h +95 -42
- data/vendor/libgit2/include/git2/blob.h +31 -3
- data/vendor/libgit2/include/git2/branch.h +25 -0
- data/vendor/libgit2/include/git2/cert.h +42 -5
- data/vendor/libgit2/include/git2/checkout.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +35 -19
- data/vendor/libgit2/include/git2/common.h +33 -6
- data/vendor/libgit2/include/git2/config.h +1 -1
- data/vendor/libgit2/include/git2/deprecated.h +248 -8
- data/vendor/libgit2/include/git2/diff.h +35 -20
- data/vendor/libgit2/include/git2/errors.h +8 -7
- data/vendor/libgit2/include/git2/filter.h +57 -17
- data/vendor/libgit2/include/git2/graph.h +20 -2
- data/vendor/libgit2/include/git2/index.h +4 -5
- data/vendor/libgit2/include/git2/indexer.h +2 -1
- data/vendor/libgit2/include/git2/odb.h +44 -20
- data/vendor/libgit2/include/git2/pack.h +1 -1
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/rebase.h +25 -1
- data/vendor/libgit2/include/git2/refs.h +9 -5
- data/vendor/libgit2/include/git2/remote.h +59 -6
- data/vendor/libgit2/include/git2/repository.h +95 -52
- data/vendor/libgit2/include/git2/revparse.h +5 -5
- data/vendor/libgit2/include/git2/status.h +115 -59
- data/vendor/libgit2/include/git2/strarray.h +6 -10
- data/vendor/libgit2/include/git2/submodule.h +9 -0
- data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
- data/vendor/libgit2/include/git2/sys/filter.h +49 -28
- data/vendor/libgit2/include/git2/sys/midx.h +74 -0
- data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
- data/vendor/libgit2/include/git2/sys/transport.h +1 -0
- data/vendor/libgit2/include/git2/tag.h +12 -0
- data/vendor/libgit2/include/git2/transport.h +1 -1
- data/vendor/libgit2/include/git2/tree.h +2 -14
- data/vendor/libgit2/include/git2/types.h +9 -0
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +77 -44
- data/vendor/libgit2/src/alloc.c +21 -8
- data/vendor/libgit2/src/allocators/failalloc.c +92 -0
- data/vendor/libgit2/src/allocators/failalloc.h +23 -0
- data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
- data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
- data/vendor/libgit2/src/annotated_commit.c +21 -9
- data/vendor/libgit2/src/apply.c +21 -8
- data/vendor/libgit2/src/array.h +11 -11
- data/vendor/libgit2/src/assert_safe.h +58 -0
- data/vendor/libgit2/src/attr.c +181 -74
- data/vendor/libgit2/src/attr_file.c +92 -42
- data/vendor/libgit2/src/attr_file.h +32 -11
- data/vendor/libgit2/src/attrcache.c +44 -40
- data/vendor/libgit2/src/attrcache.h +4 -5
- data/vendor/libgit2/src/blame.c +28 -15
- data/vendor/libgit2/src/blame_git.c +6 -3
- data/vendor/libgit2/src/blob.c +46 -24
- data/vendor/libgit2/src/branch.c +87 -37
- data/vendor/libgit2/src/buffer.c +339 -27
- data/vendor/libgit2/src/buffer.h +153 -2
- data/vendor/libgit2/src/cache.c +3 -24
- data/vendor/libgit2/src/cache.h +7 -7
- data/vendor/libgit2/src/cc-compat.h +10 -2
- data/vendor/libgit2/src/checkout.c +97 -98
- data/vendor/libgit2/src/cherrypick.c +8 -2
- data/vendor/libgit2/src/clone.c +104 -29
- data/vendor/libgit2/src/commit.c +41 -28
- data/vendor/libgit2/src/commit_graph.c +1209 -0
- data/vendor/libgit2/src/commit_graph.h +162 -0
- data/vendor/libgit2/src/commit_list.c +46 -0
- data/vendor/libgit2/src/commit_list.h +2 -0
- data/vendor/libgit2/src/common.h +26 -2
- data/vendor/libgit2/src/config.c +40 -22
- data/vendor/libgit2/src/config_cache.c +9 -4
- data/vendor/libgit2/src/config_entries.c +35 -27
- data/vendor/libgit2/src/config_file.c +25 -8
- data/vendor/libgit2/src/config_parse.c +5 -7
- data/vendor/libgit2/src/config_snapshot.c +2 -1
- data/vendor/libgit2/src/crlf.c +16 -6
- data/vendor/libgit2/src/date.c +4 -3
- data/vendor/libgit2/src/delta.c +1 -1
- data/vendor/libgit2/src/describe.c +11 -4
- data/vendor/libgit2/src/diff.c +23 -19
- data/vendor/libgit2/src/diff_driver.c +21 -17
- data/vendor/libgit2/src/diff_file.c +5 -7
- data/vendor/libgit2/src/diff_generate.c +56 -28
- data/vendor/libgit2/src/diff_parse.c +2 -3
- data/vendor/libgit2/src/diff_print.c +81 -65
- data/vendor/libgit2/src/diff_stats.c +19 -16
- data/vendor/libgit2/src/diff_tform.c +13 -13
- data/vendor/libgit2/src/diff_xdiff.c +4 -2
- data/vendor/libgit2/src/diff_xdiff.h +1 -1
- data/vendor/libgit2/src/errors.c +26 -19
- data/vendor/libgit2/src/features.h.in +5 -1
- data/vendor/libgit2/src/fetch.c +7 -2
- data/vendor/libgit2/src/fetchhead.c +8 -4
- data/vendor/libgit2/src/filebuf.c +9 -7
- data/vendor/libgit2/src/filter.c +209 -113
- data/vendor/libgit2/src/filter.h +24 -5
- data/vendor/libgit2/src/futils.c +8 -8
- data/vendor/libgit2/src/futils.h +4 -4
- data/vendor/libgit2/src/graph.c +64 -9
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
- data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
- data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
- data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
- data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
- data/vendor/libgit2/src/hash.c +16 -13
- data/vendor/libgit2/src/hash.h +1 -1
- data/vendor/libgit2/src/hashsig.c +23 -10
- data/vendor/libgit2/src/ident.c +13 -3
- data/vendor/libgit2/src/idxmap.c +0 -22
- data/vendor/libgit2/src/ignore.c +35 -19
- data/vendor/libgit2/src/index.c +126 -84
- data/vendor/libgit2/src/index.h +1 -1
- data/vendor/libgit2/src/indexer.c +60 -36
- data/vendor/libgit2/src/integer.h +79 -2
- data/vendor/libgit2/src/iterator.c +40 -28
- data/vendor/libgit2/src/iterator.h +1 -1
- data/vendor/libgit2/src/khash.h +2 -11
- data/vendor/libgit2/src/{settings.c → libgit2.c} +125 -49
- data/vendor/libgit2/src/libgit2.h +15 -0
- data/vendor/libgit2/src/mailmap.c +23 -10
- data/vendor/libgit2/src/map.h +3 -3
- data/vendor/libgit2/src/merge.c +108 -46
- data/vendor/libgit2/src/merge.h +2 -1
- data/vendor/libgit2/src/merge_driver.c +19 -13
- data/vendor/libgit2/src/merge_file.c +15 -9
- data/vendor/libgit2/src/message.c +3 -1
- data/vendor/libgit2/src/midx.c +879 -0
- data/vendor/libgit2/src/midx.h +110 -0
- data/vendor/libgit2/src/mwindow.c +214 -95
- data/vendor/libgit2/src/mwindow.h +3 -3
- data/vendor/libgit2/src/net.c +133 -4
- data/vendor/libgit2/src/net.h +16 -2
- data/vendor/libgit2/src/netops.c +6 -4
- data/vendor/libgit2/src/netops.h +2 -2
- data/vendor/libgit2/src/notes.c +10 -10
- data/vendor/libgit2/src/object.c +24 -15
- data/vendor/libgit2/src/odb.c +298 -57
- data/vendor/libgit2/src/odb.h +16 -2
- data/vendor/libgit2/src/odb_loose.c +31 -21
- data/vendor/libgit2/src/odb_mempack.c +3 -1
- data/vendor/libgit2/src/odb_pack.c +391 -114
- data/vendor/libgit2/src/oid.c +7 -4
- data/vendor/libgit2/src/pack-objects.c +83 -69
- data/vendor/libgit2/src/pack.c +383 -150
- data/vendor/libgit2/src/pack.h +44 -9
- data/vendor/libgit2/src/patch.c +14 -7
- data/vendor/libgit2/src/patch_generate.c +3 -5
- data/vendor/libgit2/src/patch_parse.c +6 -3
- data/vendor/libgit2/src/path.c +102 -57
- data/vendor/libgit2/src/path.h +79 -6
- data/vendor/libgit2/src/pathspec.c +12 -11
- data/vendor/libgit2/src/pool.c +34 -22
- data/vendor/libgit2/src/pool.h +9 -1
- data/vendor/libgit2/src/posix.c +43 -12
- data/vendor/libgit2/src/posix.h +9 -0
- data/vendor/libgit2/src/proxy.c +2 -0
- data/vendor/libgit2/src/push.c +2 -0
- data/vendor/libgit2/src/reader.c +10 -6
- data/vendor/libgit2/src/rebase.c +95 -49
- data/vendor/libgit2/src/refdb.c +165 -13
- data/vendor/libgit2/src/refdb.h +69 -0
- data/vendor/libgit2/src/refdb_fs.c +144 -152
- data/vendor/libgit2/src/reflog.c +21 -20
- data/vendor/libgit2/src/refs.c +151 -231
- data/vendor/libgit2/src/refs.h +2 -20
- data/vendor/libgit2/src/refspec.c +80 -44
- data/vendor/libgit2/src/regexp.c +2 -2
- data/vendor/libgit2/src/remote.c +312 -121
- data/vendor/libgit2/src/remote.h +2 -1
- data/vendor/libgit2/src/repository.c +351 -189
- data/vendor/libgit2/src/repository.h +23 -29
- data/vendor/libgit2/src/reset.c +7 -6
- data/vendor/libgit2/src/revert.c +8 -2
- data/vendor/libgit2/src/revparse.c +19 -13
- data/vendor/libgit2/src/revwalk.c +35 -20
- data/vendor/libgit2/src/runtime.c +162 -0
- data/vendor/libgit2/src/runtime.h +62 -0
- data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
- data/vendor/libgit2/src/signature.c +6 -5
- data/vendor/libgit2/src/sortedcache.c +2 -3
- data/vendor/libgit2/src/sortedcache.h +10 -8
- data/vendor/libgit2/src/stash.c +7 -3
- data/vendor/libgit2/src/status.c +9 -4
- data/vendor/libgit2/src/strarray.c +64 -0
- data/vendor/libgit2/src/streams/mbedtls.c +14 -17
- data/vendor/libgit2/src/streams/mbedtls.h +1 -1
- data/vendor/libgit2/src/streams/openssl.c +113 -207
- data/vendor/libgit2/src/streams/openssl.h +9 -1
- data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
- data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
- data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
- data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
- data/vendor/libgit2/src/streams/registry.c +10 -9
- data/vendor/libgit2/src/streams/socket.c +6 -2
- data/vendor/libgit2/src/streams/stransport.c +6 -3
- data/vendor/libgit2/src/streams/tls.c +5 -3
- data/vendor/libgit2/src/submodule.c +134 -66
- data/vendor/libgit2/src/submodule.h +9 -9
- data/vendor/libgit2/src/sysdir.c +8 -26
- data/vendor/libgit2/src/sysdir.h +0 -11
- data/vendor/libgit2/src/tag.c +49 -11
- data/vendor/libgit2/src/thread.c +140 -0
- data/vendor/libgit2/src/thread.h +479 -0
- data/vendor/libgit2/src/threadstate.c +83 -0
- data/vendor/libgit2/src/threadstate.h +24 -0
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +17 -13
- data/vendor/libgit2/src/transaction.c +21 -9
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
- data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
- data/vendor/libgit2/src/transports/credential.c +17 -7
- data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
- data/vendor/libgit2/src/transports/git.c +1 -3
- data/vendor/libgit2/src/transports/http.c +19 -17
- data/vendor/libgit2/src/transports/http.h +1 -0
- data/vendor/libgit2/src/transports/httpclient.c +84 -42
- data/vendor/libgit2/src/transports/httpclient.h +1 -1
- data/vendor/libgit2/src/transports/local.c +5 -5
- data/vendor/libgit2/src/transports/smart.c +14 -9
- data/vendor/libgit2/src/transports/smart.h +1 -1
- data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
- data/vendor/libgit2/src/transports/ssh.c +51 -17
- data/vendor/libgit2/src/transports/winhttp.c +156 -88
- data/vendor/libgit2/src/tree.c +100 -77
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/tsort.c +0 -2
- data/vendor/libgit2/src/unix/map.c +3 -1
- data/vendor/libgit2/src/unix/posix.h +16 -1
- data/vendor/libgit2/src/unix/pthread.h +2 -1
- data/vendor/libgit2/src/utf8.c +150 -0
- data/vendor/libgit2/src/utf8.h +52 -0
- data/vendor/libgit2/src/util.c +74 -183
- data/vendor/libgit2/src/util.h +33 -39
- data/vendor/libgit2/src/vector.c +23 -19
- data/vendor/libgit2/src/vector.h +4 -2
- data/vendor/libgit2/src/win32/findfile.c +4 -2
- data/vendor/libgit2/src/win32/git2.rc +18 -3
- data/vendor/libgit2/src/win32/map.c +1 -1
- data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
- data/vendor/libgit2/src/win32/path_w32.c +23 -25
- data/vendor/libgit2/src/win32/path_w32.h +0 -1
- data/vendor/libgit2/src/win32/posix_w32.c +77 -1
- data/vendor/libgit2/src/win32/precompiled.h +0 -1
- data/vendor/libgit2/src/win32/reparse.h +4 -4
- data/vendor/libgit2/src/win32/thread.c +24 -15
- data/vendor/libgit2/src/win32/thread.h +1 -1
- data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
- data/vendor/libgit2/src/win32/w32_common.h +18 -9
- data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
- data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
- data/vendor/libgit2/src/win32/w32_util.h +6 -6
- data/vendor/libgit2/src/worktree.c +37 -15
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +56 -38
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
- data/vendor/libgit2/src/buf_text.c +0 -316
- data/vendor/libgit2/src/buf_text.h +0 -122
- data/vendor/libgit2/src/global.c +0 -361
- data/vendor/libgit2/src/global.h +0 -41
- data/vendor/libgit2/src/thread-utils.c +0 -58
- data/vendor/libgit2/src/thread-utils.h +0 -246
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
- data/vendor/libgit2/src/win32/w32_stack.c +0 -188
- data/vendor/libgit2/src/win32/w32_stack.h +0 -140
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
|
|
8
|
+
#ifndef INCLUDE_allocators_failalloc_h__
|
|
9
|
+
#define INCLUDE_allocators_failalloc_h__
|
|
10
|
+
|
|
11
|
+
#include "common.h"
|
|
12
|
+
|
|
13
|
+
extern void *git_failalloc_malloc(size_t len, const char *file, int line);
|
|
14
|
+
extern void *git_failalloc_calloc(size_t nelem, size_t elsize, const char *file, int line);
|
|
15
|
+
extern char *git_failalloc_strdup(const char *str, const char *file, int line);
|
|
16
|
+
extern char *git_failalloc_strndup(const char *str, size_t n, const char *file, int line);
|
|
17
|
+
extern char *git_failalloc_substrdup(const char *start, size_t n, const char *file, int line);
|
|
18
|
+
extern void *git_failalloc_realloc(void *ptr, size_t size, const char *file, int line);
|
|
19
|
+
extern void *git_failalloc_reallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line);
|
|
20
|
+
extern void *git_failalloc_mallocarray(size_t nelem, size_t elsize, const char *file, int line);
|
|
21
|
+
extern void git_failalloc_free(void *ptr);
|
|
22
|
+
|
|
23
|
+
#endif
|
|
@@ -9,34 +9,56 @@
|
|
|
9
9
|
|
|
10
10
|
static void *stdalloc__malloc(size_t len, const char *file, int line)
|
|
11
11
|
{
|
|
12
|
-
void *ptr
|
|
12
|
+
void *ptr;
|
|
13
13
|
|
|
14
14
|
GIT_UNUSED(file);
|
|
15
15
|
GIT_UNUSED(line);
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
#ifdef GIT_DEBUG_STRICT_ALLOC
|
|
18
|
+
if (!len)
|
|
19
|
+
return NULL;
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
ptr = malloc(len);
|
|
23
|
+
|
|
24
|
+
if (!ptr)
|
|
25
|
+
git_error_set_oom();
|
|
26
|
+
|
|
18
27
|
return ptr;
|
|
19
28
|
}
|
|
20
29
|
|
|
21
30
|
static void *stdalloc__calloc(size_t nelem, size_t elsize, const char *file, int line)
|
|
22
31
|
{
|
|
23
|
-
void *ptr
|
|
32
|
+
void *ptr;
|
|
24
33
|
|
|
25
34
|
GIT_UNUSED(file);
|
|
26
35
|
GIT_UNUSED(line);
|
|
27
36
|
|
|
28
|
-
|
|
37
|
+
#ifdef GIT_DEBUG_STRICT_ALLOC
|
|
38
|
+
if (!elsize || !nelem)
|
|
39
|
+
return NULL;
|
|
40
|
+
#endif
|
|
41
|
+
|
|
42
|
+
ptr = calloc(nelem, elsize);
|
|
43
|
+
|
|
44
|
+
if (!ptr)
|
|
45
|
+
git_error_set_oom();
|
|
46
|
+
|
|
29
47
|
return ptr;
|
|
30
48
|
}
|
|
31
49
|
|
|
32
50
|
static char *stdalloc__strdup(const char *str, const char *file, int line)
|
|
33
51
|
{
|
|
34
|
-
char *ptr
|
|
52
|
+
char *ptr;
|
|
35
53
|
|
|
36
54
|
GIT_UNUSED(file);
|
|
37
55
|
GIT_UNUSED(line);
|
|
38
56
|
|
|
39
|
-
|
|
57
|
+
ptr = strdup(str);
|
|
58
|
+
|
|
59
|
+
if (!ptr)
|
|
60
|
+
git_error_set_oom();
|
|
61
|
+
|
|
40
62
|
return ptr;
|
|
41
63
|
}
|
|
42
64
|
|
|
@@ -48,7 +70,7 @@ static char *stdalloc__strndup(const char *str, size_t n, const char *file, int
|
|
|
48
70
|
length = p_strnlen(str, n);
|
|
49
71
|
|
|
50
72
|
if (GIT_ADD_SIZET_OVERFLOW(&alloclength, length, 1) ||
|
|
51
|
-
|
|
73
|
+
!(ptr = stdalloc__malloc(alloclength, file, line)))
|
|
52
74
|
return NULL;
|
|
53
75
|
|
|
54
76
|
if (length)
|
|
@@ -65,7 +87,7 @@ static char *stdalloc__substrdup(const char *start, size_t n, const char *file,
|
|
|
65
87
|
size_t alloclen;
|
|
66
88
|
|
|
67
89
|
if (GIT_ADD_SIZET_OVERFLOW(&alloclen, n, 1) ||
|
|
68
|
-
|
|
90
|
+
!(ptr = stdalloc__malloc(alloclen, file, line)))
|
|
69
91
|
return NULL;
|
|
70
92
|
|
|
71
93
|
memcpy(ptr, start, n);
|
|
@@ -75,12 +97,21 @@ static char *stdalloc__substrdup(const char *start, size_t n, const char *file,
|
|
|
75
97
|
|
|
76
98
|
static void *stdalloc__realloc(void *ptr, size_t size, const char *file, int line)
|
|
77
99
|
{
|
|
78
|
-
void *new_ptr
|
|
100
|
+
void *new_ptr;
|
|
79
101
|
|
|
80
102
|
GIT_UNUSED(file);
|
|
81
103
|
GIT_UNUSED(line);
|
|
82
104
|
|
|
83
|
-
|
|
105
|
+
#ifdef GIT_DEBUG_STRICT_ALLOC
|
|
106
|
+
if (!size)
|
|
107
|
+
return NULL;
|
|
108
|
+
#endif
|
|
109
|
+
|
|
110
|
+
new_ptr = realloc(ptr, size);
|
|
111
|
+
|
|
112
|
+
if (!new_ptr)
|
|
113
|
+
git_error_set_oom();
|
|
114
|
+
|
|
84
115
|
return new_ptr;
|
|
85
116
|
}
|
|
86
117
|
|
|
@@ -0,0 +1,118 @@
|
|
|
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
|
+
|
|
8
|
+
#include "win32_leakcheck.h"
|
|
9
|
+
|
|
10
|
+
#if defined(GIT_WIN32_LEAKCHECK)
|
|
11
|
+
|
|
12
|
+
#include "win32/w32_leakcheck.h"
|
|
13
|
+
|
|
14
|
+
static void *leakcheck_malloc(size_t len, const char *file, int line)
|
|
15
|
+
{
|
|
16
|
+
void *ptr = _malloc_dbg(len, _NORMAL_BLOCK, git_win32_leakcheck_stacktrace(1,file), line);
|
|
17
|
+
if (!ptr) git_error_set_oom();
|
|
18
|
+
return ptr;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static void *leakcheck_calloc(size_t nelem, size_t elsize, const char *file, int line)
|
|
22
|
+
{
|
|
23
|
+
void *ptr = _calloc_dbg(nelem, elsize, _NORMAL_BLOCK, git_win32_leakcheck_stacktrace(1,file), line);
|
|
24
|
+
if (!ptr) git_error_set_oom();
|
|
25
|
+
return ptr;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static char *leakcheck_strdup(const char *str, const char *file, int line)
|
|
29
|
+
{
|
|
30
|
+
char *ptr = _strdup_dbg(str, _NORMAL_BLOCK, git_win32_leakcheck_stacktrace(1,file), line);
|
|
31
|
+
if (!ptr) git_error_set_oom();
|
|
32
|
+
return ptr;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static char *leakcheck_strndup(const char *str, size_t n, const char *file, int line)
|
|
36
|
+
{
|
|
37
|
+
size_t length = 0, alloclength;
|
|
38
|
+
char *ptr;
|
|
39
|
+
|
|
40
|
+
length = p_strnlen(str, n);
|
|
41
|
+
|
|
42
|
+
if (GIT_ADD_SIZET_OVERFLOW(&alloclength, length, 1) ||
|
|
43
|
+
!(ptr = leakcheck_malloc(alloclength, file, line)))
|
|
44
|
+
return NULL;
|
|
45
|
+
|
|
46
|
+
if (length)
|
|
47
|
+
memcpy(ptr, str, length);
|
|
48
|
+
|
|
49
|
+
ptr[length] = '\0';
|
|
50
|
+
|
|
51
|
+
return ptr;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
static char *leakcheck_substrdup(const char *start, size_t n, const char *file, int line)
|
|
55
|
+
{
|
|
56
|
+
char *ptr;
|
|
57
|
+
size_t alloclen;
|
|
58
|
+
|
|
59
|
+
if (GIT_ADD_SIZET_OVERFLOW(&alloclen, n, 1) ||
|
|
60
|
+
!(ptr = leakcheck_malloc(alloclen, file, line)))
|
|
61
|
+
return NULL;
|
|
62
|
+
|
|
63
|
+
memcpy(ptr, start, n);
|
|
64
|
+
ptr[n] = '\0';
|
|
65
|
+
return ptr;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static void *leakcheck_realloc(void *ptr, size_t size, const char *file, int line)
|
|
69
|
+
{
|
|
70
|
+
void *new_ptr = _realloc_dbg(ptr, size, _NORMAL_BLOCK, git_win32_leakcheck_stacktrace(1,file), line);
|
|
71
|
+
if (!new_ptr) git_error_set_oom();
|
|
72
|
+
return new_ptr;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
static void *leakcheck_reallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
|
|
76
|
+
{
|
|
77
|
+
size_t newsize;
|
|
78
|
+
|
|
79
|
+
if (GIT_MULTIPLY_SIZET_OVERFLOW(&newsize, nelem, elsize))
|
|
80
|
+
return NULL;
|
|
81
|
+
|
|
82
|
+
return leakcheck_realloc(ptr, newsize, file, line);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
static void *leakcheck_mallocarray(size_t nelem, size_t elsize, const char *file, int line)
|
|
86
|
+
{
|
|
87
|
+
return leakcheck_reallocarray(NULL, nelem, elsize, file, line);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static void leakcheck_free(void *ptr)
|
|
91
|
+
{
|
|
92
|
+
free(ptr);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
int git_win32_leakcheck_init_allocator(git_allocator *allocator)
|
|
96
|
+
{
|
|
97
|
+
allocator->gmalloc = leakcheck_malloc;
|
|
98
|
+
allocator->gcalloc = leakcheck_calloc;
|
|
99
|
+
allocator->gstrdup = leakcheck_strdup;
|
|
100
|
+
allocator->gstrndup = leakcheck_strndup;
|
|
101
|
+
allocator->gsubstrdup = leakcheck_substrdup;
|
|
102
|
+
allocator->grealloc = leakcheck_realloc;
|
|
103
|
+
allocator->greallocarray = leakcheck_reallocarray;
|
|
104
|
+
allocator->gmallocarray = leakcheck_mallocarray;
|
|
105
|
+
allocator->gfree = leakcheck_free;
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
#else
|
|
110
|
+
|
|
111
|
+
int git_win32_leakcheck_init_allocator(git_allocator *allocator)
|
|
112
|
+
{
|
|
113
|
+
GIT_UNUSED(allocator);
|
|
114
|
+
git_error_set(GIT_EINVALID, "leakcheck memory allocator not available");
|
|
115
|
+
return -1;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
#endif
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#ifndef
|
|
9
|
-
#define
|
|
8
|
+
#ifndef INCLUDE_allocators_win32_leakcheck_h
|
|
9
|
+
#define INCLUDE_allocators_win32_leakcheck_h
|
|
10
10
|
|
|
11
11
|
#include "common.h"
|
|
12
12
|
|
|
13
13
|
#include "alloc.h"
|
|
14
14
|
|
|
15
|
-
int
|
|
15
|
+
int git_win32_leakcheck_init_allocator(git_allocator *allocator);
|
|
16
16
|
|
|
17
17
|
#endif
|
|
@@ -26,7 +26,8 @@ static int annotated_commit_init(
|
|
|
26
26
|
git_annotated_commit *annotated_commit;
|
|
27
27
|
int error = 0;
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
GIT_ASSERT_ARG(out);
|
|
30
|
+
GIT_ASSERT_ARG(commit);
|
|
30
31
|
|
|
31
32
|
*out = NULL;
|
|
32
33
|
|
|
@@ -63,7 +64,9 @@ static int annotated_commit_init_from_id(
|
|
|
63
64
|
git_commit *commit = NULL;
|
|
64
65
|
int error = 0;
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
GIT_ASSERT_ARG(out);
|
|
68
|
+
GIT_ASSERT_ARG(repo);
|
|
69
|
+
GIT_ASSERT_ARG(id);
|
|
67
70
|
|
|
68
71
|
*out = NULL;
|
|
69
72
|
|
|
@@ -100,7 +103,9 @@ int git_annotated_commit_from_revspec(
|
|
|
100
103
|
git_object *obj, *commit;
|
|
101
104
|
int error;
|
|
102
105
|
|
|
103
|
-
|
|
106
|
+
GIT_ASSERT_ARG(out);
|
|
107
|
+
GIT_ASSERT_ARG(repo);
|
|
108
|
+
GIT_ASSERT_ARG(revspec);
|
|
104
109
|
|
|
105
110
|
if ((error = git_revparse_single(&obj, repo, revspec)) < 0)
|
|
106
111
|
return error;
|
|
@@ -126,7 +131,9 @@ int git_annotated_commit_from_ref(
|
|
|
126
131
|
git_object *peeled;
|
|
127
132
|
int error = 0;
|
|
128
133
|
|
|
129
|
-
|
|
134
|
+
GIT_ASSERT_ARG(out);
|
|
135
|
+
GIT_ASSERT_ARG(repo);
|
|
136
|
+
GIT_ASSERT_ARG(ref);
|
|
130
137
|
|
|
131
138
|
*out = NULL;
|
|
132
139
|
|
|
@@ -154,11 +161,12 @@ int git_annotated_commit_from_head(
|
|
|
154
161
|
git_reference *head;
|
|
155
162
|
int error;
|
|
156
163
|
|
|
157
|
-
|
|
164
|
+
GIT_ASSERT_ARG(out);
|
|
165
|
+
GIT_ASSERT_ARG(repo);
|
|
158
166
|
|
|
159
167
|
*out = NULL;
|
|
160
168
|
|
|
161
|
-
|
|
169
|
+
if ((error = git_reference_lookup(&head, repo, GIT_HEAD_FILE)) < 0)
|
|
162
170
|
return -1;
|
|
163
171
|
|
|
164
172
|
error = git_annotated_commit_from_ref(out, repo, head);
|
|
@@ -174,7 +182,11 @@ int git_annotated_commit_from_fetchhead(
|
|
|
174
182
|
const char *remote_url,
|
|
175
183
|
const git_oid *id)
|
|
176
184
|
{
|
|
177
|
-
|
|
185
|
+
GIT_ASSERT_ARG(out);
|
|
186
|
+
GIT_ASSERT_ARG(repo);
|
|
187
|
+
GIT_ASSERT_ARG(branch_name);
|
|
188
|
+
GIT_ASSERT_ARG(remote_url);
|
|
189
|
+
GIT_ASSERT_ARG(id);
|
|
178
190
|
|
|
179
191
|
if (annotated_commit_init_from_id(out, repo, id, branch_name) < 0)
|
|
180
192
|
return -1;
|
|
@@ -192,14 +204,14 @@ int git_annotated_commit_from_fetchhead(
|
|
|
192
204
|
const git_oid *git_annotated_commit_id(
|
|
193
205
|
const git_annotated_commit *annotated_commit)
|
|
194
206
|
{
|
|
195
|
-
|
|
207
|
+
GIT_ASSERT_ARG_WITH_RETVAL(annotated_commit, NULL);
|
|
196
208
|
return git_commit_id(annotated_commit->commit);
|
|
197
209
|
}
|
|
198
210
|
|
|
199
211
|
const char *git_annotated_commit_ref(
|
|
200
212
|
const git_annotated_commit *annotated_commit)
|
|
201
213
|
{
|
|
202
|
-
|
|
214
|
+
GIT_ASSERT_ARG_WITH_RETVAL(annotated_commit, NULL);
|
|
203
215
|
return annotated_commit->ref_name;
|
|
204
216
|
}
|
|
205
217
|
|
data/vendor/libgit2/src/apply.c
CHANGED
|
@@ -5,8 +5,6 @@
|
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
#include "apply.h"
|
|
9
|
-
|
|
10
8
|
#include "git2/apply.h"
|
|
11
9
|
#include "git2/patch.h"
|
|
12
10
|
#include "git2/filter.h"
|
|
@@ -21,6 +19,7 @@
|
|
|
21
19
|
#include "zstream.h"
|
|
22
20
|
#include "reader.h"
|
|
23
21
|
#include "index.h"
|
|
22
|
+
#include "apply.h"
|
|
24
23
|
|
|
25
24
|
typedef struct {
|
|
26
25
|
/* The lines that we allocate ourself are allocated out of the pool.
|
|
@@ -63,7 +62,11 @@ static int patch_image_init_fromstr(
|
|
|
63
62
|
|
|
64
63
|
memset(out, 0x0, sizeof(patch_image));
|
|
65
64
|
|
|
66
|
-
git_pool_init(&out->pool, sizeof(git_diff_line))
|
|
65
|
+
if (git_pool_init(&out->pool, sizeof(git_diff_line)) < 0)
|
|
66
|
+
return -1;
|
|
67
|
+
|
|
68
|
+
if (!in_len)
|
|
69
|
+
return 0;
|
|
67
70
|
|
|
68
71
|
for (start = in; start < in + in_len; start = end) {
|
|
69
72
|
end = memchr(start, '\n', in_len - (start - in));
|
|
@@ -395,7 +398,11 @@ int git_apply__patch(
|
|
|
395
398
|
unsigned int mode = 0;
|
|
396
399
|
int error = 0;
|
|
397
400
|
|
|
398
|
-
|
|
401
|
+
GIT_ASSERT_ARG(contents_out);
|
|
402
|
+
GIT_ASSERT_ARG(filename_out);
|
|
403
|
+
GIT_ASSERT_ARG(mode_out);
|
|
404
|
+
GIT_ASSERT_ARG(source || !source_len);
|
|
405
|
+
GIT_ASSERT_ARG(patch);
|
|
399
406
|
|
|
400
407
|
if (given_opts)
|
|
401
408
|
memcpy(&ctx.opts, given_opts, sizeof(git_apply_options));
|
|
@@ -620,7 +627,10 @@ int git_apply_to_tree(
|
|
|
620
627
|
size_t i;
|
|
621
628
|
int error = 0;
|
|
622
629
|
|
|
623
|
-
|
|
630
|
+
GIT_ASSERT_ARG(out);
|
|
631
|
+
GIT_ASSERT_ARG(repo);
|
|
632
|
+
GIT_ASSERT_ARG(preimage);
|
|
633
|
+
GIT_ASSERT_ARG(diff);
|
|
624
634
|
|
|
625
635
|
*out = NULL;
|
|
626
636
|
|
|
@@ -768,6 +778,8 @@ done:
|
|
|
768
778
|
|
|
769
779
|
int git_apply_options_init(git_apply_options *opts, unsigned int version)
|
|
770
780
|
{
|
|
781
|
+
GIT_ASSERT_ARG(opts);
|
|
782
|
+
|
|
771
783
|
GIT_INIT_STRUCTURE_FROM_TEMPLATE(
|
|
772
784
|
opts, version, git_apply_options, GIT_APPLY_OPTIONS_INIT);
|
|
773
785
|
return 0;
|
|
@@ -801,7 +813,8 @@ int git_apply(
|
|
|
801
813
|
git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
|
|
802
814
|
int error = GIT_EINVALID;
|
|
803
815
|
|
|
804
|
-
|
|
816
|
+
GIT_ASSERT_ARG(repo);
|
|
817
|
+
GIT_ASSERT_ARG(diff);
|
|
805
818
|
|
|
806
819
|
GIT_ERROR_CHECK_VERSION(
|
|
807
820
|
given_opts, GIT_APPLY_OPTIONS_VERSION, "git_apply_options");
|
|
@@ -825,7 +838,7 @@ int git_apply(
|
|
|
825
838
|
error = git_reader_for_workdir(&pre_reader, repo, false);
|
|
826
839
|
break;
|
|
827
840
|
default:
|
|
828
|
-
|
|
841
|
+
GIT_ASSERT(false);
|
|
829
842
|
}
|
|
830
843
|
|
|
831
844
|
if (error < 0)
|
|
@@ -865,7 +878,7 @@ int git_apply(
|
|
|
865
878
|
error = git_apply__to_workdir(repo, diff, preimage, postimage, location, &opts);
|
|
866
879
|
break;
|
|
867
880
|
default:
|
|
868
|
-
|
|
881
|
+
GIT_ASSERT(false);
|
|
869
882
|
}
|
|
870
883
|
|
|
871
884
|
if (error < 0)
|
data/vendor/libgit2/src/array.h
CHANGED
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
|
|
42
42
|
typedef git_array_t(char) git_array_generic_t;
|
|
43
43
|
|
|
44
|
-
/* use a generic array for growth
|
|
45
|
-
GIT_INLINE(
|
|
44
|
+
/* use a generic array for growth, return 0 on success */
|
|
45
|
+
GIT_INLINE(int) git_array_grow(void *_a, size_t item_size)
|
|
46
46
|
{
|
|
47
47
|
volatile git_array_generic_t *a = _a;
|
|
48
48
|
size_t new_size;
|
|
@@ -59,24 +59,24 @@ GIT_INLINE(void *) git_array_grow(void *_a, size_t item_size)
|
|
|
59
59
|
if ((new_array = git__reallocarray(a->ptr, new_size, item_size)) == NULL)
|
|
60
60
|
goto on_oom;
|
|
61
61
|
|
|
62
|
-
a->ptr = new_array;
|
|
63
|
-
|
|
62
|
+
a->ptr = new_array;
|
|
63
|
+
a->asize = new_size;
|
|
64
|
+
return 0;
|
|
64
65
|
|
|
65
66
|
on_oom:
|
|
66
67
|
git_array_clear(*a);
|
|
67
|
-
return
|
|
68
|
+
return -1;
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
#define git_array_alloc(a) \
|
|
71
|
-
(((a).size
|
|
72
|
-
|
|
73
|
-
((a).ptr ? &(a).ptr[(a).size++] : NULL))
|
|
72
|
+
(((a).size < (a).asize || git_array_grow(&(a), sizeof(*(a).ptr)) == 0) ? \
|
|
73
|
+
&(a).ptr[(a).size++] : (void *)NULL)
|
|
74
74
|
|
|
75
|
-
#define git_array_last(a) ((a).size ? &(a).ptr[(a).size - 1] : NULL)
|
|
75
|
+
#define git_array_last(a) ((a).size ? &(a).ptr[(a).size - 1] : (void *)NULL)
|
|
76
76
|
|
|
77
|
-
#define git_array_pop(a) ((a).size ? &(a).ptr[--(a).size] : NULL)
|
|
77
|
+
#define git_array_pop(a) ((a).size ? &(a).ptr[--(a).size] : (void *)NULL)
|
|
78
78
|
|
|
79
|
-
#define git_array_get(a, i) (((i) < (a).size) ? &(a).ptr[(i)] : NULL)
|
|
79
|
+
#define git_array_get(a, i) (((i) < (a).size) ? &(a).ptr[(i)] : (void *)NULL)
|
|
80
80
|
|
|
81
81
|
#define git_array_size(a) (a).size
|
|
82
82
|
|