Crash after saving to a git repo
Lubomir I. Ivanov
neolit123 at gmail.com
Mon Mar 31 08:56:28 PDT 2014
On 31 March 2014 15:50, Anton Lundin <glance at acc.umu.se> wrote:
> I managed to run the save step via valgrind and noticed:
>
> Invalid free() / delete / delete[] / realloc()
> at 0x4C2B68C: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> by 0x5E0030D: set_error (in /usr/lib/x86_64-linux-gnu/libgit2.so.0.19.0)
upsteam set_error() has a safety check added in 96869a4ed, which could
be relevant but this is post 0.20.
if (error->message != string)
git__free(error->message);
it only calls free() if the message from the error struct is different
from the argument message.
> by 0x5E0042F: giterr_set (in /usr/lib/x86_64-linux-gnu/libgit2.so.0.19.0)
> by 0x5E1E348: git_futils_find_in_dirlist (in /usr/lib/x86_64-linux-gnu/libgit2.so.0.19.0)
git_futils_find_in_dirlist() is replaced in 83634d38b with
git_sysdir_find_in_dirlist(), and by moving the functions into a new
file.
it has a history of multiple changes, but i think the above
set_error() change, is the actual bugfix.
if that is the case 0.20 might be broken as well.
lubomir
--
More information about the subsurface
mailing list