mirror of https://github.com/ipxe/ipxe.git
[crypto] Fix debug name for empty certificate chain validators
An attempt to use a validator for an empty certificate chain will correctly fail the overall validation with the "empty certificate chain" error propagated from x509_auto_append(). In a debug build, the call to validator_name() will attempt to call x509_name() on a non-existent certificate, resulting in garbage in the debug message. Fix by checking for the special case of an empty certificate chain. This issue does not affect non-debug builds, since validator_name() is (as per its description) called only for debug messages. Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/1171/head
parent
97635eb71b
commit
9d9465b140
|
@ -135,9 +135,11 @@ struct validator {
|
|||
* @ret name Validator name
|
||||
*/
|
||||
static const char * validator_name ( struct validator *validator ) {
|
||||
struct x509_certificate *cert;
|
||||
|
||||
/* Use name of first certificate in chain */
|
||||
return x509_name ( x509_first ( validator->chain ) );
|
||||
/* Use name of first certificate in chain, if present */
|
||||
cert = x509_first ( validator->chain );
|
||||
return ( cert ? x509_name ( cert ) : "<empty>" );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue