]> git.proxmox.com Git - libgit2.git/commit - src/libgit2/tree.c
Fix internal memory management on the library
authorVicent Marti <tanoku@gmail.com>
Wed, 27 Oct 2010 23:07:18 +0000 (02:07 +0300)
committerVicent Marti <tanoku@gmail.com>
Wed, 27 Oct 2010 23:07:18 +0000 (02:07 +0300)
commit585190183b47dc991605abcfbe3afb57220a0f29
treef8a1f2572f667296a5b5121c64c74bb353557c93
parent2d16373cb8d8c22b3ec99a6936b82821e99e64a5
Fix internal memory management on the library

String mememory is now managed in a much more sane manner.

Fixes include:

- git_person email and name is no longer limited to 64 characters
- git_tree_entry filename is no longer limited to 255 characters
- raw objects are properly opened & closed the minimum amount of
times required for parsing
- unit tests no longer leak
- removed 5 other misc memory leaks as reported by Valgrind
- tree writeback no longer segfaults on rare ocassions

The git_person struct is no longer public. It is now managed by the
library, and getter methods are in place to access its internal
attributes.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
17 files changed:
src/commit.c
src/commit.h
src/git/commit.h
src/git/common.h
src/git/tag.h
src/oid.c
src/person.c [new file with mode: 0644]
src/person.h [new file with mode: 0644]
src/repository.c
src/repository.h
src/tag.c
src/tree.c
src/tree.h
tests/t0401-parse.c
tests/t0402-details.c
tests/t0403-write.c
tests/t0902-modify.c