mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-28 12:13:18 +00:00
array: mark the array to grow as volatile
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.
This commit is contained in:
parent
9746b36cf9
commit
b62a6a13b2
@ -44,7 +44,7 @@ typedef git_array_t(char) git_array_generic_t;
|
||||
/* use a generic array for growth so this can return the new item */
|
||||
GIT_INLINE(void *) git_array_grow(void *_a, size_t item_size)
|
||||
{
|
||||
git_array_generic_t *a = _a;
|
||||
volatile git_array_generic_t *a = _a;
|
||||
uint32_t new_size = (a->size < 8) ? 8 : a->asize * 3 / 2;
|
||||
char *new_array = git__realloc(a->ptr, new_size * item_size);
|
||||
if (!new_array) {
|
||||
|
Loading…
Reference in New Issue
Block a user