[U-Boot,1/3] tools: dumpimage: Provide more feedback on internal errors
diff mbox series

Message ID 20190917210935.3666-1-afd@ti.com
State New
Delegated to: Tom Rini
Headers show
Series
  • [U-Boot,1/3] tools: dumpimage: Provide more feedback on internal errors
Related show

Commit Message

Andrew F. Davis Sept. 17, 2019, 9:09 p.m. UTC
The dumpimage utility errors out in a number of places without providing
sufficient feedback to allow the user to easily determine what has gone
wrong. Add additional error messages to make the cause of the failure
more obvious.

Signed-off-by: Andrew F. Davis <afd@ti.com>
---
 tools/dumpimage.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Andrew F. Davis Nov. 13, 2019, 4:14 p.m. UTC | #1
On 9/17/19 5:09 PM, Andrew F. Davis wrote:
> The dumpimage utility errors out in a number of places without providing
> sufficient feedback to allow the user to easily determine what has gone
> wrong. Add additional error messages to make the cause of the failure
> more obvious.
> 
> Signed-off-by: Andrew F. Davis <afd@ti.com>
> ---


ping


>  tools/dumpimage.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/dumpimage.c b/tools/dumpimage.c
> index ee3d41dda4..d5f893daf1 100644
> --- a/tools/dumpimage.c
> +++ b/tools/dumpimage.c
> @@ -35,14 +35,23 @@ static int dumpimage_extract_subimage(struct image_type_params *tparams,
>  	if (tparams->verify_header) {
>  		retval = tparams->verify_header((unsigned char *)ptr,
>  				sbuf->st_size, &params);
> -		if (retval != 0)
> +		if (retval != 0) {
> +			fprintf(stderr, "%s: failed to verify header of %s\n",
> +				params.cmdname, tparams->name);
>  			return -1;
> +		}
> +
>  		/*
>  		 * Extract the file from the image
>  		 * if verify is successful
>  		 */
>  		if (tparams->extract_subimage) {
>  			retval = tparams->extract_subimage(ptr, &params);
> +			if (retval != 0) {
> +				fprintf(stderr, "%s: extract_subimage failed for %s\n",
> +					params.cmdname, tparams->name);
> +				return -3;
> +			}
>  		} else {
>  			fprintf(stderr,
>  				"%s: extract_subimage undefined for %s\n",
> @@ -175,6 +184,9 @@ int main(int argc, char **argv)
>  		 * image type. Returns the error code if not matched
>  		 */
>  		retval = dumpimage_extract_subimage(tparams, ptr, &sbuf);
> +		if (retval)
> +			fprintf(stderr, "%s: Can't extract subimage from %s\n",
> +				params.cmdname, params.imagefile);
>  	} else {
>  		/*
>  		 * Print the image information for matched image type
>
Lokesh Vutla Nov. 14, 2019, 11:46 a.m. UTC | #2
On 18/09/19 2:39 AM, Andrew F. Davis wrote:
> The dumpimage utility errors out in a number of places without providing
> sufficient feedback to allow the user to easily determine what has gone
> wrong. Add additional error messages to make the cause of the failure
> more obvious.
> 
> Signed-off-by: Andrew F. Davis <afd@ti.com>

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>

Thanks and regards,
Lokesh

> ---
>  tools/dumpimage.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/dumpimage.c b/tools/dumpimage.c
> index ee3d41dda4..d5f893daf1 100644
> --- a/tools/dumpimage.c
> +++ b/tools/dumpimage.c
> @@ -35,14 +35,23 @@ static int dumpimage_extract_subimage(struct image_type_params *tparams,
>  	if (tparams->verify_header) {
>  		retval = tparams->verify_header((unsigned char *)ptr,
>  				sbuf->st_size, &params);
> -		if (retval != 0)
> +		if (retval != 0) {
> +			fprintf(stderr, "%s: failed to verify header of %s\n",
> +				params.cmdname, tparams->name);
>  			return -1;
> +		}
> +
>  		/*
>  		 * Extract the file from the image
>  		 * if verify is successful
>  		 */
>  		if (tparams->extract_subimage) {
>  			retval = tparams->extract_subimage(ptr, &params);
> +			if (retval != 0) {
> +				fprintf(stderr, "%s: extract_subimage failed for %s\n",
> +					params.cmdname, tparams->name);
> +				return -3;
> +			}
>  		} else {
>  			fprintf(stderr,
>  				"%s: extract_subimage undefined for %s\n",
> @@ -175,6 +184,9 @@ int main(int argc, char **argv)
>  		 * image type. Returns the error code if not matched
>  		 */
>  		retval = dumpimage_extract_subimage(tparams, ptr, &sbuf);
> +		if (retval)
> +			fprintf(stderr, "%s: Can't extract subimage from %s\n",
> +				params.cmdname, params.imagefile);
>  	} else {
>  		/*
>  		 * Print the image information for matched image type
>

Patch
diff mbox series

diff --git a/tools/dumpimage.c b/tools/dumpimage.c
index ee3d41dda4..d5f893daf1 100644
--- a/tools/dumpimage.c
+++ b/tools/dumpimage.c
@@ -35,14 +35,23 @@  static int dumpimage_extract_subimage(struct image_type_params *tparams,
 	if (tparams->verify_header) {
 		retval = tparams->verify_header((unsigned char *)ptr,
 				sbuf->st_size, &params);
-		if (retval != 0)
+		if (retval != 0) {
+			fprintf(stderr, "%s: failed to verify header of %s\n",
+				params.cmdname, tparams->name);
 			return -1;
+		}
+
 		/*
 		 * Extract the file from the image
 		 * if verify is successful
 		 */
 		if (tparams->extract_subimage) {
 			retval = tparams->extract_subimage(ptr, &params);
+			if (retval != 0) {
+				fprintf(stderr, "%s: extract_subimage failed for %s\n",
+					params.cmdname, tparams->name);
+				return -3;
+			}
 		} else {
 			fprintf(stderr,
 				"%s: extract_subimage undefined for %s\n",
@@ -175,6 +184,9 @@  int main(int argc, char **argv)
 		 * image type. Returns the error code if not matched
 		 */
 		retval = dumpimage_extract_subimage(tparams, ptr, &sbuf);
+		if (retval)
+			fprintf(stderr, "%s: Can't extract subimage from %s\n",
+				params.cmdname, params.imagefile);
 	} else {
 		/*
 		 * Print the image information for matched image type