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.
This could previously lead to segmentation faults in builds using an
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
* Make it easier to define MBEDTLS_PARAM_FAILED as assert (which config.h

View File

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