Fix double free error when using signed images without a secure boot. (IDFGH-4376) #6210
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.
verify_secure_boot_signature()
already frees thesha_handle
pointer.verify_secure_boot_signature()
does not returnESP_OK
(for example, when new image is not signed) then the code jumps to theerr
label which basically frees thesha_handle
if it's not NULL causing a double-free.sha_handle
to NULL afterverify_secure_boot_signature()
in the non-bootloader mode fixing the double-free. I didn't do this change for bootloader build because all the bootloader functions that usesha_handle
expect it to be non-NULL.sha_handle
by reference and NULL it inside theverify_secure_boot_signature()
if needed but it's a risky change and I don't have all the required hardware to test it.