15573 Commits

Author SHA1 Message Date
Edward Thomson
4ce872a0fd Merge pull request #6830 from libgit2/ethomson/v1.8.2
libgit2 v1.8.2
v1.8.2-rc1 v1.8.2
2024-06-14 00:15:19 +02:00
Edward Thomson
e9d56b0b14 v1.8.2: update version numbers 2024-06-13 19:43:46 +02:00
Edward Thomson
48b63274ea v1.8.2: update changelog 2024-06-13 19:42:55 +02:00
Edward Thomson
4516ca1497 Merge pull request #6829 from libgit2/ethomson/fix_constness
Fix constness issue introduced in #6716
2024-06-13 15:44:32 +02:00
Edward Thomson
93cb09f289 Merge pull request #6816 from libgit2/ethomson/readme
README: add experimental builds to ci table
2024-06-13 15:23:53 +02:00
Edward Thomson
49d3fadfca Revert "commit: fix const declaration"
This reverts commit cf19ddc522, which
was breaking for several projects.
2024-06-13 15:20:40 +02:00
Edward Thomson
6c5520f334 Merge pull request #6811 from libgit2/ethomson/test_allocator
Introduce a stricter debugging allocator for testing
2024-05-16 11:34:07 +01:00
Edward Thomson
ee552697d5 README: update build badges and links
Use new-style links to the build information and badges, which link to the workflow filename, not the display name.
2024-05-16 11:18:41 +01:00
Edward Thomson
36f7e21ad7 Merge pull request #6817 from libgit2/ethomson/v1.8.1
libgit2 v1.8.1
v1.8.1
2024-05-16 10:58:48 +01:00
Edward Thomson
ae65dac85e v1.8.1: update changelog 2024-05-16 00:49:46 +01:00
Edward Thomson
834ec0f52f v1.8.1: update version numbers 2024-05-16 00:49:40 +01:00
Edward Thomson
0dab9d4a57 README: add experimental builds to ci table 2024-05-15 23:11:07 +01:00
Edward Thomson
eb00b48d91 fixup! alloc: introduce debug allocators 2024-05-15 22:38:33 +01:00
Edward Thomson
abedcfe71c tests: reset the allocator to the default
Instead of setting the allocator to stdalloc, just pass `NULL`, in case
we're running with the debug allocator.
2024-05-13 11:30:25 +01:00
Edward Thomson
afb2ef21bc util: don't return system allocated strings in realpath
realpath(3) _may_ allocate strings (if the second param is NULL) using
the system allocator. However, callers need an assurance that they can
free memory using git__free. If we made realpath do an allocation, then
make sure that we strdup it into our allocator's memory.

More importantly, avoid this behavior by always providing a buffer to
p_realpath invocations.
2024-05-13 11:30:25 +01:00
Edward Thomson
cfd6e0148b tests: use git__ allocator functions consistently 2024-05-13 11:30:25 +01:00
Edward Thomson
aaed67f786 alloc: introduce debug allocators
Instead of tweaking the `stdalloc` allocator when
`GIT_DEBUG_STRICT_ALLOC` is defined, actually create a debugging
allocator. This allows us to ensure that we are strict about things like
not expecting `malloc(0)` to do something useful, but we can also
introduce an excessively pedantic `realloc` implementation that _always_
creates a new buffer, throws away its original `ptr`, and overwrites the
data that's there with garbage. This may be helpful to identify places
that make assumptions about realloc.
2024-05-13 11:30:25 +01:00
Edward Thomson
c7af393a48 Merge pull request #6815 from libgit2/ethomson/signed_comparedness
tree: avoid mixed signedness comparison
2024-05-13 11:29:34 +01:00
Edward Thomson
f5c6b6ab14 Merge pull request #6814 from libgit2/ethomson/alloc
Update git_array allocator to obey strict aliasing rules
2024-05-13 11:29:25 +01:00
Edward Thomson
9a2afb7785 Merge pull request #6813 from libgit2/ethomson/opt_alloc
cli: include alloca on illumos / solaris / sunos
2024-05-13 11:29:04 +01:00
Edward Thomson
0e9eeec69a Merge pull request #6812 from libgit2/ethomson/unused-warnings
rand: avoid uninitialized loadavg warnings
2024-05-13 11:28:48 +01:00
Edward Thomson
5647f6ea7d Merge pull request #6810 from libgit2/ethomson/xdiff
xdiff: use proper free function
2024-05-13 11:28:35 +01:00
Edward Thomson
54218b5506 array: treat git_array ptrs as void *
Avoid sloppy aliasing in our (re-)allocation, which is undefined
behavior. This has been problematic before and was helped by `volatile`
(see b62a6a13b2) but that is not
technically correct, and some compilers / architectures do not
understand that `ptr` is changing due to its aliasing.

Just make `git_array_alloc` behave like `realloc`, taking a `void *` and
returning a `void *`.
2024-05-13 10:48:56 +01:00
Edward Thomson
bb3c31f327 xdiff: use proper free function 2024-05-13 10:44:06 +01:00
Edward Thomson
2fb07fd0e1 rand: avoid uninitialized loadavg warnings 2024-05-13 10:24:33 +01:00
Edward Thomson
99ba44608f tree: avoid mixed signedness comparison
Promote mode to `uint32_t` before comparing it to an `uint16_t` to avoid
mixed signed comparison warnings.
2024-05-13 10:22:44 +01:00
Edward Thomson
b1d6fd0858 cli: include alloca on illumos / solaris / sunos 2024-05-13 10:21:24 +01:00
Edward Thomson
5f796f881b Merge pull request #6808 from qaqland/fix-demo-for-each-ref
examples: fix memory leak in for-each-ref.c
2024-05-13 09:58:45 +01:00
Edward Thomson
26e0bd4ca3 Merge pull request #6806 from libgit2/ethomson/fetch_opts
remote: drop bitfields in git_remote_fetch_options
2024-05-13 09:55:39 +01:00
Edward Thomson
8791a26716 Merge pull request #6809 from csware/fix-revparse-at-at-end
Revparse: Correctly accept ref with '@' at the end
2024-05-13 09:55:04 +01:00
Sven Strickroth
60f219e80b Revparse: Correctly accept ref with '@' at the end
Signed-off-by: Sven Strickroth <email@cs-ware.de>
2024-05-08 17:36:18 +02:00
qaqland
322ea80231 examples: fix memory leak in for-each-ref.c 2024-05-08 11:08:26 +08:00
Edward Thomson
2d649ccd23 remote: drop bitfields in git_remote_fetch_options
In attempting to make a clever change that added fetch options as flags,
while keeping ABI and API compatibility, we screwed up. Bitfields in
structs are implementation-specific and are not necessarily ABI
compatible across compilers.

Make `update_fetchhead` a flags value which is weirdly named, but
that's a future problem. This removes the `report_unchanged` option from
API.
2024-05-06 15:46:21 +01:00
Edward Thomson
e5e233caed Merge pull request #6803 from libgit2/ethomson/sha256_transport
transport: support sha256 oids
2024-05-01 23:00:33 +01:00
Edward Thomson
2fd37e1bfe transport: support sha256 oids 2024-04-29 22:19:11 +01:00
Edward Thomson
6423ffbcd7 Merge pull request #6802 from libgit2/ethomson/cb_err
transport: provide a useful error message during cancellation
2024-04-29 12:02:08 +01:00
Edward Thomson
ffd881eb4a transport: provide a useful error message during cancellation
Since 3618a2a, `git_error_last` does not return NULL when there was no
error. Adapt to this when testing for a user cancelling a callback but
not setting an error message, testing for `klass` of `GIT_ERROR_NONE`.
2024-04-29 09:44:30 +01:00
Edward Thomson
85d42ea10e Merge pull request #6796 from ConradIrwin/no-oob
Bounds check for pack index read
2024-04-23 08:12:04 +01:00
Edward Thomson
b739acaa50 Merge pull request #6713 from sgallagher/llhttp 2024-04-23 08:05:54 +01:00
Edward Thomson
fb1797de63 Merge remote-tracking branch 'origin/main' into libgit2-httpparser 2024-04-23 00:09:50 +01:00
Edward Thomson
15a8d8763e ci: make fedora a nightly build 2024-04-23 00:09:20 +01:00
Edward Thomson
64808a9a8e ci: fixes for fedora
Use fedora's valgrind instead of trying to build our own; omit false
positive leaks in getaddrinfo;
2024-04-23 00:07:48 +01:00
Edward Thomson
98c4955390 http: remove legacy bundled http-parser
Users can still use the legacy Node.js http-parser library, but now we
bundle llhttp and prefer it.
2024-04-22 22:21:23 +01:00
Edward Thomson
d02b549dab http: make llhttp the default 2024-04-22 22:21:23 +01:00
Edward Thomson
d396819101 http: abstract http parsing out of httpclient
Avoid #ifdef's in httpclient.c, and move http parsing into its own file.
2024-04-22 22:21:23 +01:00
Edward Thomson
3599de9073 http: add llhttp as a bundled dependency
Include llhttp as a bundled dependency with the aim to use it as our
default http parser, removing the now-unmaintained Node.js http-parser.
2024-04-22 22:21:23 +01:00
Edward Thomson
06cafdf9d8 pack: upcast to size_t for bounds checking 2024-04-19 09:58:47 +01:00
Edward Thomson
93c94446cd Merge pull request #6792 from barracuda156/apple
process.c: fix environ for macOS
2024-04-19 09:46:25 +01:00
Edward Thomson
9ddf612a00 Merge pull request #6788 from libgit2/ethomson/user_agent
Allow more control over the user-agent
2024-04-18 21:02:59 +01:00
Edward Thomson
72d36a42b6 Merge pull request #6794 from stinb/windows-arm-build
cmake: remove workaround that isn't compatible with Windows on ARM
2024-04-18 21:01:40 +01:00