- 02 Nov, 2016 1 commit
-
-
When threading is not enabled for libgit2, we keep global state in a simple static variable. When libgit2 is shut down, we clean up the global state by freeing the global state's dynamically allocated memory. When libgit2 is built with threading, we additionally free the thread-local storage and thus completely remove the global state. In a non-threaded build, though, we simply leave the global state as-is, which may result in an error upon reinitializing libgit2. Fix the issue by zeroing out the variable on a shutdown, thus returning it to its initial state.
Patrick Steinhardt committed
-
- 01 Nov, 2016 2 commits
-
-
When trying to initialize and tear down global data structures from different threads at once with `git_libgit2_init` and `git_libgit2_shutdown`, we race around initializing data. While we use `pthread_once` to assert that we only initilize data a single time, we actually reset the `pthread_once_t` on the last call to `git_libgit2_shutdown`. As resetting this variable is not synchronized with other threads trying to access it, this is actually racy when one thread tries to do a complete shutdown of libgit2 while another thread tries to initialize it. Fix the issue by creating a mutex which synchronizes `init_once` and the library shutdown.
Patrick Steinhardt committed -
CI Improvements
Carlos Martín Nieto committed
-
- 31 Oct, 2016 6 commits
-
-
Small documentation improvements
Edward Thomson committed -
Our valgrind jobs haven't been failing for several builds by now. This indicates that our tests are sufficiently stable when running under valgrind. As such, any failures reported by valgrind become interesting to us and shouldn't be ignored when causing a build to fail. Remove the valgrind job from the list of allowed failures.
Patrick Steinhardt committed -
When running a Coverity build, we have to provide an authentication token in order to proof that we are actually allowed to run analysis in the name of a certain project. As this token should be secret, it is only set on the main repository, so when we were requested to run the Coverity script on another repository we do error out. But in fact we do also error out if the Coverity analysis should _not_ be run if there is no authentication token provided. Fix the issue by only checking for the authentication token after determining if analysis is indeed requested.
Patrick Steinhardt committed -
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
- 28 Oct, 2016 3 commits
-
-
We used to only execute Coverity analysis on the 'development' branch before commit 998f0016 (Refine build limitation, 2014-01-15), which refined Coverity build limitations. While we do not really use the 'development' branch anymore, it does still make sense to only analyze a single branch, as otherwise Coverity might get confused. Re-establish the restriction such that we only analyze libgit2's 'master' branch. Also fix the message announcing why we do not actually analyze a certain build.
Patrick Steinhardt committed -
Patrick Steinhardt committed
-
Trivial memory leak fixes in test suite
Patrick Steinhardt committed
-
- 27 Oct, 2016 2 commits
-
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
- 16 Oct, 2016 1 commit
-
-
patch: minor documentation fix.
Carlos Martín Nieto committed
-
- 15 Oct, 2016 1 commit
-
-
Fix @return description of git_patch_num_lines_in_hunk.
Davide Coppola committed
-
- 10 Oct, 2016 16 commits
-
-
Squelch example warnings, enable CI
Patrick Steinhardt committed -
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
Patrick Steinhardt committed
-
- 09 Oct, 2016 6 commits
-
-
Edward Thomson committed
-
Sim Domingo committed
-
docs: GIT_OPT_ENABLE_STRICT_OBJECT_CREATION is enabled
Edward Thomson committed -
Object parsing hardening
Edward Thomson committed -
When parsing a commit, we will treat all bytes left after parsing the headers as the commit message. When no bytes are left, we leave the commit's message uninitialized. While uncommon to have a commit without message, this is the right behavior as Git unfortunately allows for empty commit messages. Given that this scenario is so uncommon, most programs acting on the commit message will never check if the message is actually set, which may lead to errors. To work around the error and not lay the burden of checking for empty commit messages to the developer, initialize the commit message with an empty string when no commit message is given.
Patrick Steinhardt committed -
We changed the defaults on strict object creation - it is enabled by default. Update the documentation to reflect that.
Edward Thomson committed
-
- 07 Oct, 2016 2 commits
-
-
Fix the existence check for `regcomp_l`.
Carlos Martín Nieto committed -
`xlocale.h` only defines `regcomp_l` if `regex.h` was included as well. Also change the test cases to actually test `p_regcomp` works with a multibyte locale.
Arthur Schreiber committed
-