<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git/src/array.h, branch cmn/error-buffer</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/'/>
<entry>
<title>Make our overflow check look more like gcc/clang's</title>
<updated>2015-02-13T14:27:33+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-12T17:19:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=f1453c59b2afb9dab43281bfe9f1ba34cf6e0d02'/>
<id>f1453c59b2afb9dab43281bfe9f1ba34cf6e0d02</id>
<content type='text'>
Make our overflow checking look more like gcc and clang's, so that
we can substitute it out with the compiler instrinsics on platforms
that support it.  This means dropping the ability to pass `NULL` as
an out parameter.

As a result, the macros also get updated to reflect this as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make our overflow checking look more like gcc and clang's, so that
we can substitute it out with the compiler instrinsics on platforms
that support it.  This means dropping the ability to pass `NULL` as
an out parameter.

As a result, the macros also get updated to reflect this as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use `size_t` to hold size of arrays</title>
<updated>2015-02-13T03:54:47+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-11T16:20:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=ec3b4d35f636c26d3c9b5703c3b7f87683800af8'/>
<id>ec3b4d35f636c26d3c9b5703c3b7f87683800af8</id>
<content type='text'>
Use `size_t` to hold the size of arrays to ease overflow checking,
lest we check for overflow of a `size_t` then promptly truncate
by packing the length into a smaller type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use `size_t` to hold the size of arrays to ease overflow checking,
lest we check for overflow of a `size_t` then promptly truncate
by packing the length into a smaller type.
</pre>
</div>
</content>
</entry>
<entry>
<title>git__*allocarray: safer realloc and malloc</title>
<updated>2015-02-13T03:54:47+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-11T04:13:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=3603cb0978b7ef21ff9cd63693ebd6d27bc2bc53'/>
<id>3603cb0978b7ef21ff9cd63693ebd6d27bc2bc53</id>
<content type='text'>
Introduce git__reallocarray that checks the product of the number
of elements and element size for overflow before allocation.  Also
introduce git__mallocarray that behaves like calloc, but without the
`c`.  (It does not zero memory, for those truly worried about every
cycle.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce git__reallocarray that checks the product of the number
of elements and element size for overflow before allocation.  Also
introduce git__mallocarray that behaves like calloc, but without the
`c`.  (It does not zero memory, for those truly worried about every
cycle.)
</pre>
</div>
</content>
</entry>
<entry>
<title>allocations: test for overflow of requested size</title>
<updated>2015-02-13T03:54:46+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@microsoft.com</email>
</author>
<published>2015-02-10T04:41:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=392702ee2c88d7d8aaff25f7a84acb73606f9094'/>
<id>392702ee2c88d7d8aaff25f7a84acb73606f9094</id>
<content type='text'>
Introduce some helper macros to test integer overflow from arithmetic
and set error message appropriately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce some helper macros to test integer overflow from arithmetic
and set error message appropriately.
</pre>
</div>
</content>
</entry>
<entry>
<title>array: mark the array to grow as volatile</title>
<updated>2014-07-25T06:25:41+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2014-07-25T06:25:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=b62a6a13b2f9a40e6ea4bf7bc2a9255429fb0bd6'/>
<id>b62a6a13b2f9a40e6ea4bf7bc2a9255429fb0bd6</id>
<content type='text'>
This works around strict aliasing rules letting some versions of
GCC (particularly on RHEL 6) thinking that they can skip updating the
size of the array when calculating the next element's offset.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This works around strict aliasing rules letting some versions of
GCC (particularly on RHEL 6) thinking that they can skip updating the
size of the array when calculating the next element's offset.
</pre>
</div>
</content>
</entry>
<entry>
<title>Address PR comments</title>
<updated>2014-02-20T22:27:10+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2014-02-20T22:27:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=72556cc63ba93a187589921c6008caf92686ea9c'/>
<id>72556cc63ba93a187589921c6008caf92686ea9c</id>
<content type='text'>
* Make GIT_INLINE an internal definition so it cannot be used in
  public headers
* Fix language in CONTRIBUTING
* Make index caps API use signed instead of unsigned values
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make GIT_INLINE an internal definition so it cannot be used in
  public headers
* Fix language in CONTRIBUTING
* Make index caps API use signed instead of unsigned values
</pre>
</div>
</content>
</entry>
<entry>
<title>array: Wrap `array_alloc` as a single statement</title>
<updated>2013-11-01T16:36:09+00:00</updated>
<author>
<name>Vicent Marti</name>
<email>tanoku@gmail.com</email>
</author>
<published>2013-11-01T15:55:01+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=73342386965db3ece91116005320c9b873af3bf2'/>
<id>73342386965db3ece91116005320c9b873af3bf2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bug fixes and cleanups</title>
<updated>2013-09-17T16:31:46+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2013-09-16T19:54:40+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=eefc32d54944ead5a5e3041c1b1f6c8c946cc014'/>
<id>eefc32d54944ead5a5e3041c1b1f6c8c946cc014</id>
<content type='text'>
This contains a few bug fixes and some header and API cleanups.

The main API change is that filters should now use GIT_PASSTHROUGH
to indicate that they wish to skip processing a file instead of
GIT_ENOTFOUND.

The bug fixes include a possible out-of-range buffer access in
the ident filter, a filter ordering problem I introduced into the
custom filter tests on Windows, and a filter buf NUL termination
issue that was coming up on Linux.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This contains a few bug fixes and some header and API cleanups.

The main API change is that filters should now use GIT_PASSTHROUGH
to indicate that they wish to skip processing a file instead of
GIT_ENOTFOUND.

The bug fixes include a possible out-of-range buffer access in
the ident filter, a filter ordering problem I introduced into the
custom filter tests on Windows, and a filter buf NUL termination
issue that was coming up on Linux.
</pre>
</div>
</content>
</entry>
<entry>
<title>revwalk: make mark_unintersting use a loop</title>
<updated>2013-09-06T17:56:51+00:00</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2013-08-17T05:58:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=fb23d05f0bc3084cdb5a9737b1c678817c5bc9e8'/>
<id>fb23d05f0bc3084cdb5a9737b1c678817c5bc9e8</id>
<content type='text'>
Using a recursive function can blow the stack when dealing with long
histories. Use a loop instead to limit the call chain depth.

This fixes #1223.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using a recursive function can blow the stack when dealing with long
histories. Use a loop instead to limit the call chain depth.

This fixes #1223.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some warnings</title>
<updated>2013-07-26T17:28:57+00:00</updated>
<author>
<name>Russell Belfer</name>
<email>rb@github.com</email>
</author>
<published>2013-07-26T17:28:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/libgit2.git/commit/?id=8dd8aa480ba46863e9c7df40bb9695e88a0286ee'/>
<id>8dd8aa480ba46863e9c7df40bb9695e88a0286ee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
