Explorar o código

Merge pull request #13080 from jakesmith/hpcc-22989-skew-div0

HPCC-22989 Protect against div by 0 in skew calc.

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman %!s(int64=5) %!d(string=hai) anos
pai
achega
3f7a414a30
Modificáronse 1 ficheiros con 7 adicións e 3 borrados
  1. 7 3
      dali/base/dadfs.cpp

+ 7 - 3
dali/base/dadfs.cpp

@@ -3398,9 +3398,13 @@ protected:
             totalPartSz += size;
             totalPartSz += size;
         }
         }
         offset_t avgPartSz = totalPartSz / np;
         offset_t avgPartSz = totalPartSz / np;
-
-        maxSkew = (unsigned)(10000.0 * (((double)maxPartSz-avgPartSz)/avgPartSz));
-        minSkew = (unsigned)(10000.0 * ((avgPartSz-(double)minPartSz)/avgPartSz));
+        if (0 == avgPartSz)
+            minSkew = maxSkew = 0;
+        else
+        {
+            maxSkew = (unsigned)(10000.0 * (((double)maxPartSz-avgPartSz)/avgPartSz));
+            minSkew = (unsigned)(10000.0 * ((avgPartSz-(double)minPartSz)/avgPartSz));
+        }
 
 
         return true;
         return true;
     }
     }