diff --git a/magick/histogram.c b/magick/histogram.c
index ff62b82..aa16c01 100644
--- a/magick/histogram.c
+++ b/magick/histogram.c
@@ -1161,6 +1161,7 @@
HistogramCompare);
GetMagickPixelPacket(image,&pixel);
p=histogram;
+ status=MagickTrue;
for (i=0; i < (ssize_t) number_colors; i++)
{
SetMagickPixelPacket(image,&p->pixel,&p->index,&pixel);
@@ -1199,6 +1200,8 @@
}
(void) fflush(file);
histogram=(ColorPacket *) RelinquishMagickMemory(histogram);
+ if (status == MagickFalse)
+ return(0);
return(number_colors);
}
@@ -1260,6 +1263,7 @@
register PixelPacket
*restrict q;
+ status=MagickTrue;
p=node_info->list;
for (i=0; i < (ssize_t) node_info->number_unique; i++)
{
@@ -1287,6 +1291,8 @@
status=MagickFalse;
}
cube_info->progress++;
+ if (status == MagickFalse)
+ return;
}
}