An out-of-bounds read was discovered in OpenCV before 4.1.1. Specifically, variable coarsest_scale is assumed to be greater than or equal to finest_scale within the calc()/ocl_calc() functions in dis_flow.cpp. However, this is not true when dealing with small images, leading to an out-of-bounds read of the heap-allocated arrays Ux and Uy.
https://github.com/opencv/opencv/issues/14554
https://github.com/opencv/opencv/commit/d1615ba11a93062b1429fce9f0f638d1572d3418