Commit 7bbbc2d3e for imagemagick.org
commit 7bbbc2d3e6a05887158c57971ffe4bcad97b9b44
Author: Cristy <urban-warrior@imagemagick.org>
Date: Fri May 29 19:02:19 2026 -0400
https://github.com/ImageMagick/ImageMagick/issues/8774
diff --git a/MagickCore/statistic-private.h b/MagickCore/statistic-private.h
index 1bf37a15d..f5be43026 100644
--- a/MagickCore/statistic-private.h
+++ b/MagickCore/statistic-private.h
@@ -22,6 +22,8 @@
extern "C" {
#endif
+#define MagickEpsilonHuLog 1.0e-30
+
static inline MagickBooleanType MagickSafeSignificantError(const double error,
const double fuzz)
{
@@ -31,9 +33,9 @@ static inline MagickBooleanType MagickSafeSignificantError(const double error,
static inline double MagickSafeLog10(const double x)
{
- if (x < MagickEpsilon)
- return(log10(MagickEpsilon));
- if (fabs(x-1.0) < MagickEpsilon)
+ if (x < MagickEpsilonHuLog)
+ return(log10(MagickEpsilonHuLog));
+ if (fabs(x-1.0) < MagickEpsilonHuLog)
return(0.0);
return(log10(x));
}
diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c
index 8ed392e12..68ff9161a 100644
--- a/MagickCore/statistic.c
+++ b/MagickCore/statistic.c
@@ -328,7 +328,7 @@ static double ApplyEvaluateOperator(RandomInfo *random_info,const Quantum pixel,
}
case LogEvaluateOperator:
{
- if ((QuantumScale*(double) pixel) >= MagickEpsilon)
+ if ((QuantumScale*(double) pixel) >= MagickHuLogEpsilon)
result=(double) QuantumRange*log(QuantumScale*value*
(double) pixel+1.0)/log((double) (value+1.0));
break;