Fixed segfault when calculating median against empty array

This commit is contained in:
Matt Hill
2014-02-18 22:19:20 -06:00
parent a07991adb6
commit 646c2d6660

View File

@@ -177,6 +177,12 @@ vector<Mat> produceThresholds(const Mat img_gray, Config* config)
double median(int array[], int arraySize) double median(int array[], int arraySize)
{ {
if (arraySize == 0)
{
//std::cerr << "Median calculation requested on empty array" << endl;
return 0;
}
std::sort(&array[0], &array[arraySize]); std::sort(&array[0], &array[arraySize]);
return arraySize % 2 ? array[arraySize / 2] : (array[arraySize / 2 - 1] + array[arraySize / 2]) / 2; return arraySize % 2 ? array[arraySize / 2] : (array[arraySize / 2 - 1] + array[arraySize / 2]) / 2;
} }