Fix to ensure the custom deallocator for zint_symbol is used for std::shared_ptr's too #808
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.
Fixes to address issue: #807
std::unique_ptr<zint_symbol>
usage is replaced with:using unique_zint_symbol = std::unique_ptr<zint_symbol, zint_symbol_deleter>;
This permits the std::move cast used in
void Result::zint(unique_zint_symbol&& z)
to move the customer deleter usage into the shared pointer too, std::default_delete usage only works for unique_ptr's which is why this change is needed. This prevents ASAN errors that report alloc/dealloc mismatch due to the shared_ptr usage:

(The image is from our internal test pipeline and is of the test that was failing when ASAN is enabled.)