Pārlūkot izejas kodu

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 5 gadi atpakaļ
vecāks
revīzija
3f7a414a30
1 mainītis faili ar 7 papildinājumiem un 3 dzēšanām
  1. 7 3
      dali/base/dadfs.cpp

+ 7 - 3
dali/base/dadfs.cpp

@@ -3398,9 +3398,13 @@ protected:
             totalPartSz += size;
         }
         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;
     }