From df451265125a0ed8eb0c58690f8bb537a4694a27 Mon Sep 17 00:00:00 2001 From: Denis West Date: Thu, 13 Feb 2020 11:06:55 -0500 Subject: [PATCH] canon_dr: Report early error Exits get_pixelsize function when error is detected on previous operation, avoiding unnecessary retries and reporting the correct error code. --- backend/canon_dr.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/canon_dr.c b/backend/canon_dr.c index f6cd5d476..17ee7b617 100644 --- a/backend/canon_dr.c +++ b/backend/canon_dr.c @@ -3951,10 +3951,12 @@ get_pixelsize(struct scanner *s) in, &inLen ); - if(ret == SANE_STATUS_GOOD && - get_R_PSIZE_width(in) > 0 && - get_R_PSIZE_length(in) > 0){ + if(ret != SANE_STATUS_GOOD){ + DBG (10, "get_pixelsize: error reading, status = %d\n", ret); + break; + } + if(get_R_PSIZE_width(in) > 0 && get_R_PSIZE_length(in) > 0){ DBG (15, "get_pixelsize: w:%d h:%d\n", get_R_PSIZE_width(in) * s->u.dpi_x / 1200, get_R_PSIZE_length(in) * s->u.dpi_y / 1200);