Fix seg fault(s) in AuthV4Signer, test more combos with checksumming #2806
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.
Issue #, if available:
V1183021468
Description of changes:
I observed a null pointer dereference in the following conditions:
In multiple places, SDK code checks to see if the Content-Body is a nullptr before using it, but in AWSAuthV4Signer::SignRequest it was not doing so.
A second bug was observed when not using payload signatures, only when the scheme is HTTP. In this case the code assumed it was okay to call GetHeaderValue on Content-Length before checking if the header exists (it is not okay to do so). This was identified by the more rigorous testing.
Added a matrix test to verify more code paths in AWSAuthV4Signer and fixed the two seg faults in the area. The assumptions checked during testing should be scrutinized.
Tested this live against s3 and s3express endpoints using a workload that generates zero-length objects.
Check all that applies:
Check which platforms you have built SDK on to verify the correctness of this PR.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.