mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
tools/imagetool: Fix segfault when tparams->verify_header is NULL
On some image types like i.MX8 and i.MX8M, the verify_header function is not implemented. Before this commit, no check on tparams->verify_header was done causing a segfault if NULL. Now, a proper error message is printed. Signed-off-by: Nicolas Heemeryck <nicolas.heemeryck@gmail.com>
This commit is contained in:
parent
5d834bfa5f
commit
30705cd892
1 changed files with 21 additions and 15 deletions
|
@ -80,27 +80,33 @@ static int imagetool_verify_print_header_by_type(
|
|||
struct image_type_params *tparams,
|
||||
struct image_tool_params *params)
|
||||
{
|
||||
int retval;
|
||||
int retval = -1;
|
||||
|
||||
retval = tparams->verify_header((unsigned char *)ptr, sbuf->st_size,
|
||||
params);
|
||||
if (tparams->verify_header) {
|
||||
retval = tparams->verify_header((unsigned char *)ptr,
|
||||
sbuf->st_size, params);
|
||||
|
||||
if (retval == 0) {
|
||||
/*
|
||||
* Print the image information if verify is successful
|
||||
*/
|
||||
if (tparams->print_header) {
|
||||
if (!params->quiet)
|
||||
tparams->print_header(ptr);
|
||||
if (retval == 0) {
|
||||
/*
|
||||
* Print the image information if verify is successful
|
||||
*/
|
||||
if (tparams->print_header) {
|
||||
if (!params->quiet)
|
||||
tparams->print_header(ptr);
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"%s: print_header undefined for %s\n",
|
||||
params->cmdname, tparams->name);
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"%s: print_header undefined for %s\n",
|
||||
params->cmdname, tparams->name);
|
||||
"%s: verify_header failed for %s with exit code %d\n",
|
||||
params->cmdname, tparams->name, retval);
|
||||
}
|
||||
|
||||
} else {
|
||||
fprintf(stderr,
|
||||
"%s: verify_header failed for %s with exit code %d\n",
|
||||
params->cmdname, tparams->name, retval);
|
||||
fprintf(stderr, "%s: print_header undefined for %s\n",
|
||||
params->cmdname, tparams->name);
|
||||
}
|
||||
|
||||
return retval;
|
||||
|
|
Loading…
Reference in a new issue