diff --git a/ChangeLog b/ChangeLog index e3d4b12890..412657d8d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-07-12 Sven Neumann + + * plug-ins/common/psd-load.c: don't divide by zero when loading a + layer or mask with zero width or height. Fixes bug #456042. + 2007-07-11 Sven Neumann * plug-ins/common/lcms.c: clarify which procedures work with RGB diff --git a/plug-ins/common/psd-load.c b/plug-ins/common/psd-load.c index e32de91964..7d539551b2 100644 --- a/plug-ins/common/psd-load.c +++ b/plug-ins/common/psd-load.c @@ -1053,7 +1053,7 @@ do_layer_record (FILE *fd, g_error ("Input file has a larger layer size than GIMP can handle."); } - if (layer->width > (G_MAXUINT / layer->height)) + if (layer->height && layer->width > (G_MAXUINT / layer->height)) { g_error ("Input file has a larger layer size than GIMP can handle."); } @@ -1184,7 +1184,7 @@ do_layer_record (FILE *fd, g_error ("Input file has a larger layer mask size than GIMP can handle."); } - if (layer->lm_width > (G_MAXUINT / layer->lm_height)) + if (layer->lm_height && layer->lm_width > (G_MAXUINT / layer->lm_height)) { g_error ("Input file has a larger layer mask size than GIMP can handle."); } @@ -3235,7 +3235,7 @@ read_whole_file (FILE *fd, const gchar *filename) gimp_filename_to_utf8 (filename)); } - if (PSDheader.columns > (G_MAXUINT / PSDheader.rows)) + if (PSDheader.rows && PSDheader.columns > (G_MAXUINT / PSDheader.rows)) { g_error ("'%s' has a larger image size than GIMP can handle.", gimp_filename_to_utf8 (filename));