Handle empty pointers to complex structs in metadata.Add #221
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.
Goal
When we pass a pointer to complex interface (that in Sanitizer gets caught in type switch-case) we don't check if the pointer is nil.
Type specific switch-case tried to check for interface function
String()
forfmt.Stringer
interface on the nil pointer leading to a panic.Changeset
Moved check for nil pointers and interfaces before any other type matching is done.
In
metadata.AddStruct
used an actual sanitized value to pass intometadata.Add
.Testing
New tests for adding pointers with Stringer interface to metadata - either nil ptr or normal.