From mboxrd@z Thu Jan 1 00:00:00 1970 From: AKASHI Takahiro Date: Thu, 7 May 2020 16:14:18 +0900 Subject: efi_loader: efi_variable_parse_signature() returns NULL on error In-Reply-To: <20200507001318.GA6451@nox.fritz.box> References: <20200507001318.GA6451@nox.fritz.box> Message-ID: <20200507071418.GD3330@laputa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, May 07, 2020 at 02:13:18AM +0200, Patrick Wildt wrote: > efi_variable_parse_signature() returns NULL on error, so IS_NULL() > is an incorrect check. The goto err leads to pkcs7_free_message(), > which works fine on a NULL ptr. > > Signed-off-by: Patrick Wildt Reviewed-by: AKASHI Takahiro > > diff --git a/lib/efi_loader/efi_variable.c b/lib/efi_loader/efi_variable.c > index 58f8fae358..c5fe896de2 100644 > --- a/lib/efi_loader/efi_variable.c > +++ b/lib/efi_loader/efi_variable.c > @@ -519,9 +519,8 @@ static efi_status_t efi_variable_authenticate(u16 *variable, > var_sig = efi_variable_parse_signature(auth->auth_info.cert_data, > auth->auth_info.hdr.dwLength > - sizeof(auth->auth_info)); > - if (IS_ERR(var_sig)) { > + if (!var_sig) { > debug("Parsing variable's signature failed\n"); > - var_sig = NULL; > goto err; > } >