<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git, branch ethomson/libssh2_not_libssh</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>cmake: correct comment from libssh to libssh2</title>
<updated>2018-10-17T08:38:30+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@edwardthomson.com</email>
</author>
<published>2018-10-17T08:38:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=b160a64f2b6726c02ba368b817f829fd6805b2a4'/>
<id>b160a64f2b6726c02ba368b817f829fd6805b2a4</id>
<content type='text'>
We use libssh2.  We do not use libssh.  Make sure to disambiguate them
correctly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We use libssh2.  We do not use libssh.  Make sure to disambiguate them
correctly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4845 from pks-t/pks/object-fuzzer</title>
<updated>2018-10-15T16:08:13+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>carlosmn@github.com</email>
</author>
<published>2018-10-15T16:08:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=7615794c125698b50c48698782c6c602044b92a3'/>
<id>7615794c125698b50c48698782c6c602044b92a3</id>
<content type='text'>
Object parsing fuzzer</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Object parsing fuzzer</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'afd10f0' (Follow 308 redirects)</title>
<updated>2018-10-15T15:08:38+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2018-10-15T15:08:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=9b6e408156ac89fcfd832e3acd9b6520e14023d4'/>
<id>9b6e408156ac89fcfd832e3acd9b6520e14023d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Follow 308 redirects (as used by GitLab)</title>
<updated>2018-10-13T08:31:20+00:00</updated>
<author>
<name>Zander Brown</name>
<email>zbrown@gnome.org</email>
</author>
<published>2018-10-13T08:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=afd10f0bb60bcb7d42da31cf674c0009ab9b82af'/>
<id>afd10f0bb60bcb7d42da31cf674c0009ab9b82af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #4842 from nelhage/fuzz-config-memory</title>
<updated>2018-10-12T10:38:06+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-10-12T10:38:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=814e7acbabc2e756f809057b7746e08839c44cde'/>
<id>814e7acbabc2e756f809057b7746e08839c44cde</id>
<content type='text'>
config: Port config_file_fuzzer to the new in-memory backend.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
config: Port config_file_fuzzer to the new in-memory backend.</pre>
</div>
</content>
</entry>
<entry>
<title>Apply code review feedback</title>
<updated>2018-10-11T13:27:06+00:00</updated>
<author>
<name>Nelson Elhage</name>
<email>nelhage@nelhage.com</email>
</author>
<published>2018-10-11T13:27:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=463c21e2c10e82d8e5ba4e3e7e908052f2b739f6'/>
<id>463c21e2c10e82d8e5ba4e3e7e908052f2b739f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fuzzers: add object parsing fuzzer</title>
<updated>2018-10-11T10:46:11+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-10-11T10:46:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=a1d5fd0630c6f7e3ac23bc9e13ba33901dfddba4'/>
<id>a1d5fd0630c6f7e3ac23bc9e13ba33901dfddba4</id>
<content type='text'>
Add a simple fuzzer that exercises our object parser code. The fuzzer
is quite trivial in that it simply passes the input data directly to
`git_object__from_raw` for each of the four object types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a simple fuzzer that exercises our object parser code. The fuzzer
is quite trivial in that it simply passes the input data directly to
`git_object__from_raw` for each of the four object types.
</pre>
</div>
</content>
</entry>
<entry>
<title>object: properly propagate errors on parsing failures</title>
<updated>2018-10-11T10:43:08+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-10-11T10:43:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=6562cdda5073ac96f7f04324fd47c95a196957f2'/>
<id>6562cdda5073ac96f7f04324fd47c95a196957f2</id>
<content type='text'>
When failing to parse a raw object fromits data, we free the
partially parsed object but then fail to propagate the error to the
caller. This may lead callers to operate on objects with invalid memory,
which will sooner or later cause the program to segfault.

Fix the issue by passing up the error code returned by `parse_raw`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When failing to parse a raw object fromits data, we free the
partially parsed object but then fail to propagate the error to the
caller. This may lead callers to operate on objects with invalid memory,
which will sooner or later cause the program to segfault.

Fix the issue by passing up the error code returned by `parse_raw`.
</pre>
</div>
</content>
</entry>
<entry>
<title>fuzzers: initialize libgit2 in standalone driver</title>
<updated>2018-10-11T10:26:44+00:00</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2018-10-11T10:26:44+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=6956a9547702e629915e3818b3fb48704052ac3f'/>
<id>6956a9547702e629915e3818b3fb48704052ac3f</id>
<content type='text'>
The standalone driver for libgit2's fuzzing targets makes use of
functions from libgit2 itself. While this is totally fine to do, we need
to make sure to always have libgit2 initialized via `git_libgit2_init`
before we call out to any of these. While this happens in most cases as
we call `LLVMFuzzerInitialize`, which is provided by our fuzzers and
which right now always calls `git_libgit2_init`, one exception to this
rule is our error path when not enough arguments have been given. In
this case, we will call `git_vector_free_deep` without libgit2 having
been initialized. As we did not set up our allocation functions in that
case, this will lead to a segmentation fault.

Fix the issue by always initializing and shutting down libgit2 in the
standalone driver. Note that we cannot let this replace the
initialization in `LLVMFuzzerInitialize`, as it is required when using
the "real" fuzzers by LLVM without our standalone driver. It's no
problem to call the initialization and deinitialization functions
multiple times, though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The standalone driver for libgit2's fuzzing targets makes use of
functions from libgit2 itself. While this is totally fine to do, we need
to make sure to always have libgit2 initialized via `git_libgit2_init`
before we call out to any of these. While this happens in most cases as
we call `LLVMFuzzerInitialize`, which is provided by our fuzzers and
which right now always calls `git_libgit2_init`, one exception to this
rule is our error path when not enough arguments have been given. In
this case, we will call `git_vector_free_deep` without libgit2 having
been initialized. As we did not set up our allocation functions in that
case, this will lead to a segmentation fault.

Fix the issue by always initializing and shutting down libgit2 in the
standalone driver. Note that we cannot let this replace the
initialization in `LLVMFuzzerInitialize`, as it is required when using
the "real" fuzzers by LLVM without our standalone driver. It's no
problem to call the initialization and deinitialization functions
multiple times, though.
</pre>
</div>
</content>
</entry>
<entry>
<title>fuzzers: Port config_file_fuzzer to the new in-memory backend</title>
<updated>2018-10-09T02:45:22+00:00</updated>
<author>
<name>Nelson Elhage</name>
<email>nelhage@nelhage.com</email>
</author>
<published>2018-10-09T02:33:03+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/libgit2.git/commit/?id=416aafd14cd4e56db3d4ea6067881b29085af4bb'/>
<id>416aafd14cd4e56db3d4ea6067881b29085af4bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
