From ac28a82d8e75a3eb3ae4a1da2b902714d44fd0a3 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Thu, 29 Jan 2009 17:07:03 +0000 Subject: [PATCH] png: better error checking git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@570 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- loadsave.c | 112 ++++++++++++++++++++++++++++------------------------- 1 file changed, 59 insertions(+), 53 deletions(-) diff --git a/loadsave.c b/loadsave.c index 3d381bac..a3ee7c44 100644 --- a/loadsave.c +++ b/loadsave.c @@ -5409,20 +5409,20 @@ void Load_PNG(void) if (png_ptr) { info_ptr = png_create_info_struct(png_ptr); - if (info_ptr) - { - png_byte color_type; + if (info_ptr) + { + png_byte color_type; png_byte bit_depth; - if (!setjmp(png_jmpbuf(png_ptr))) - { - png_init_io(png_ptr, Fichier); - png_set_sig_bytes(png_ptr, 8); + if (!setjmp(png_jmpbuf(png_ptr))) + { + png_init_io(png_ptr, Fichier); + png_set_sig_bytes(png_ptr, 8); - png_read_info(png_ptr, info_ptr); - color_type = info_ptr->color_type; - bit_depth = info_ptr->bit_depth; - + png_read_info(png_ptr, info_ptr); + color_type = info_ptr->color_type; + bit_depth = info_ptr->bit_depth; + if (bit_depth <= 8 && (color_type == PNG_COLOR_TYPE_PALETTE || PNG_COLOR_TYPE_GRAY)) { Initialiser_preview(info_ptr->width,info_ptr->height,Taille_du_fichier,FORMAT_PNG); @@ -5430,26 +5430,26 @@ void Load_PNG(void) if (Erreur_fichier==0) { int x,y; - png_colorp palette; - int num_palette; - - if (color_type == PNG_COLOR_TYPE_GRAY) - { - if (bit_depth < 8) - png_set_gray_1_2_4_to_8(png_ptr); - // palette de niveaux de gris - for (x=0;xrowbytes); - png_read_image(png_ptr, row_pointers); - - for (y=0; yrowbytes); + png_read_image(png_ptr, row_pointers); + + for (y=0; y