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 3ec504738e
commit 1f62714db8
2 changed files with 7 additions and 6 deletions

View file

@ -49,6 +49,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
* Replace multiple uses of MD2 by SHA-256 in X.509 test suite. Fixes #821. * Replace multiple uses of MD2 by SHA-256 in X.509 test suite. Fixes #821.

View file

@ -2611,15 +2611,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;