Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Introduce a stricter debugging allocator for testing#6811

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
ethomson merged 5 commits intomainfromethomson/test_allocator
May 16, 2024

Conversation

ethomson
Copy link
Member

Introduce a new debugging allocator that:

  1. internally tracks allocation size — this is helpful both to be able to track internally, but also to ensure that the pointer returned from the custommalloc isnot the same pointer that the underlying systemmalloc used, and is therefore incompatible with the systemfree. This helps catch inconsistent use of system malloc and the libgit2-configured malloc.
  2. forcesrealloc to always reallocate (it will explicitlymalloc,memcpy, andfree the previous pointer)

Also, update some inconsistent use of allocators caught by 1.

Oc199 reacted with heart emoji
Instead of tweaking the `stdalloc` allocator when`GIT_DEBUG_STRICT_ALLOC` is defined, actually create a debuggingallocator. This allows us to ensure that we are strict about things likenot expecting `malloc(0)` to do something useful, but we can alsointroduce an excessively pedantic `realloc` implementation that _always_creates a new buffer, throws away its original `ptr`, and overwrites thedata that's there with garbage. This may be helpful to identify placesthat make assumptions about realloc.
realpath(3) _may_ allocate strings (if the second param is NULL) usingthe system allocator. However, callers need an assurance that they canfree memory using git__free. If we made realpath do an allocation, thenmake sure that we strdup it into our allocator's memory.More importantly, avoid this behavior by always providing a buffer top_realpath invocations.
Instead of setting the allocator to stdalloc, just pass `NULL`, in casewe're running with the debug allocator.
@ethomsonethomsonforce-pushed theethomson/test_allocator branch froma491724 toabedcfeCompareMay 13, 2024 10:30
@ethomsonethomson merged commit6c5520f intomainMay 16, 2024
@ethomsonethomson deleted the ethomson/test_allocator branchMay 16, 2024 10:34
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@ethomson

[8]ページ先頭

©2009-2025 Movatter.jp