diff --git a/modules/core/src/rand.cpp b/modules/core/src/rand.cpp index cc46345ecd..e791fd131b 100644 --- a/modules/core/src/rand.cpp +++ b/modules/core/src/rand.cpp @@ -584,6 +584,11 @@ void RNG::fill( InputOutputArray _mat, int disttype, } ip[j][1] = cvCeil(a); int idiff = ip[j][0] = cvFloor(b) - ip[j][1] - 1; + if (idiff < 0) + { + idiff = 0; + ip[j][0] = 0; + } double diff = b - a; fast_int_mode = fast_int_mode && diff <= 4294967296. && (idiff & (idiff+1)) == 0;