Read the following source codes (Binary search):
int buggyBinarySearch(int[] a, int array_len,int target) {
int low = 0;
int high = array_len – 1;
while (low <= high) {
int mid = (low + high) / 2;
int midVal = a[mid];
if (midVal < target)
low = mid + 1;
else if (midVal > target)
high = mid – 1;
else
return mid;
}
return -1;
}
Please point out where the bugs are. (9%)