diff options
Diffstat (limited to 'lib/ecdsa')
| -rw-r--r-- | lib/ecdsa/ecdsa-libcrypto.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/lib/ecdsa/ecdsa-libcrypto.c b/lib/ecdsa/ecdsa-libcrypto.c index 1c5dde60691..f0095e9dbcf 100644 --- a/lib/ecdsa/ecdsa-libcrypto.c +++ b/lib/ecdsa/ecdsa-libcrypto.c @@ -363,8 +363,10 @@ int ecdsa_add_verify_data(struct image_sign_info *info, void *fdt)  	ret = prepare_ctx(&ctx, info);  	if (ret >= 0) {  		ret = do_add(&ctx, fdt, fdt_key_name, info); -		if (ret < 0) -			ret = ret == -FDT_ERR_NOSPACE ? -ENOSPC : -EIO; +		if (ret < 0) { +			free_ctx(&ctx); +			return ret == -FDT_ERR_NOSPACE ? -ENOSPC : -EIO; +		}  	}  	free_ctx(&ctx); | 
