From a2cc89dd3dea92ca05d12f0b8dc415aee47f505a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodolfo=20Garc=C3=ADa=20Pe=C3=B1as=20=28kix=29?= Date: Thu, 20 Jun 2019 00:40:08 +0200 Subject: [PATCH] load_jpeg.c Removed goto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch removes the goto call. I copied the code after the bye: label and I paste it in the goto-calls. Signed-off-by: Rodolfo García Peñas (kix) --- wrlib/load_jpeg.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/wrlib/load_jpeg.c b/wrlib/load_jpeg.c index 64eeb481..696048cf 100644 --- a/wrlib/load_jpeg.c +++ b/wrlib/load_jpeg.c @@ -134,14 +134,24 @@ RImage *RLoadJPEG(const char *file_name) if (cinfo.image_width < 1 || cinfo.image_height < 1) { buffer[0] = NULL; /* Initialize pointer to avoid spurious free in cleanup code */ RErrorCode = RERR_BADIMAGEFILE; - goto bye; + jpeg_destroy_decompress(&cinfo); + fclose(file); + if (buffer[0]) + free(buffer[0]); + + return image; } buffer[0] = (JSAMPROW) malloc(cinfo.image_width * cinfo.num_components); if (!buffer[0]) { RErrorCode = RERR_NOMEMORY; - goto bye; + jpeg_destroy_decompress(&cinfo); + fclose(file); + if (buffer[0]) + free(buffer[0]); + + return image; } if (cinfo.jpeg_color_space == JCS_GRAYSCALE) { @@ -157,7 +167,12 @@ RImage *RLoadJPEG(const char *file_name) if (!image) { RErrorCode = RERR_NOMEMORY; - goto bye; + jpeg_destroy_decompress(&cinfo); + fclose(file); + if (buffer[0]) + free(buffer[0]); + + return image; } jpeg_start_decompress(&cinfo); @@ -183,12 +198,8 @@ RImage *RLoadJPEG(const char *file_name) } jpeg_finish_decompress(&cinfo); - - bye: jpeg_destroy_decompress(&cinfo); - fclose(file); - if (buffer[0]) free(buffer[0]);