Fix Memory Sanitation Incompatibility #356
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When running the tutorial project while compiling with clang v18.1.8's memory sanitizer, the result is a panic in the ppack() function for writing unitialized memory with fwrite(). Manual inspection tells me that the memory in question is in fact initialized, and valgrind confirms that there is no use of unitialized memory, so this is ultimately an issue with clang's memory sanitizer, but is nonetheless annoying. I have confirmed that setting all the memory allocated in emalloc() to 0xAA (or any other value) fixes this issue, however if memory is allocated in erealloc(), I was able to confirm that the same issue would occur, and making erealloc() capable of initializing all the excess memory required me to change the signature of the function, which might be a breaking change.