Fixes a number of memory issues reported by AddressSanitizer. #26
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.
This PR fixes a number of memory issues reported by AddressSanitizer.
Memory Leaks
ASan detects lots of leaks. They all look similar to the below...
The fixes for these are...
free(context)
to thePOP_CONTEXT(x)
macro. (toml_parse.rl
)%%write_exec
section, loop over the remaining items in the context stack, callingPOP_CONTEXT(...)
on each. (toml_parse.rl
)Invalid Memory Access
The
examples/example.toml
file fails ASan, giving the following error...It appears to be a problem with lists. Ensuring that, if there is no
name
present, settingitem->node.name = NULL
in thestart_list
action appears to fix this. (toml_parse.rl
)NOTE: I've only tested these fixes with the provided example
.toml
files in the project. However, it looks as though these fixes may go some way to addressing issues #18,#19, #20, #22, #23, and #24.