Fix uninitialized variable in x509_crt

This patch fixes an issue we encountered with more stringent compiler
warnings.  The signature_is_good variable has a possibility of being
used uninitialized.  This patch moves the use of the variable to a
place where it cannot be used while uninitialized.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
This commit is contained in:
Andy Gross 2019-01-30 10:25:53 -06:00 committed by Paul Sokolovsky
parent 376d0d9e4a
commit 3fc6f9d16d
2 changed files with 7 additions and 6 deletions

View File

@ -23,6 +23,9 @@ Bugfix
* Fix propagation of restart contexts in restartable EC operations. * Fix propagation of restart contexts in restartable EC operations.
This could previously lead to segmentation faults in builds using an This could previously lead to segmentation faults in builds using an
address-sanitizer and enabling but not using MBEDTLS_ECP_RESTARTABLE. address-sanitizer and enabling but not using MBEDTLS_ECP_RESTARTABLE.
* Improve code clarity in x509_crt module, removing false-positive
uninitialized variable warnings on some recent toolchains (GCC8, etc).
Discovered and fixed by Andy Gross (Linaro), #2392.
Changes Changes
* Make it easier to define MBEDTLS_PARAM_FAILED as assert (which config.h * Make it easier to define MBEDTLS_PARAM_FAILED as assert (which config.h

View File

@ -2087,15 +2087,13 @@ check_signature:
continue; continue;
} }
*r_parent = parent;
*r_signature_is_good = signature_is_good;
break; break;
} }
if( parent != NULL ) if( parent == NULL )
{
*r_parent = parent;
*r_signature_is_good = signature_is_good;
}
else
{ {
*r_parent = fallback_parent; *r_parent = fallback_parent;
*r_signature_is_good = fallback_signature_is_good; *r_signature_is_good = fallback_signature_is_good;