Ошибка: переполнение кучи-буфера . Я бегу блок кода, который умножает матрицы. Обеззараживатель адресов выдает ошибку в конкретной строке, пытаясь умножить две матрицы. В моей среде IDE не отображаются ошибки или предупреждения, однако средство очистки адресов выдает ошибку, и я не совсем уверен, почему. В матрице есть отсканированные пользователем записи, ниже приведен фрагмент кода, который не работает. Обработчик адреса фрагмента выдает ошибку, выделенную жирным шрифтом. Спасибо.
фрагмент:
double **productMatrixT;
productMatrixT = (double **)malloc(rowT*sizeof(double));
for(i = 0; i < rowT; i++)
{
productMatrixT[i] = malloc(column*sizeof(double));
}
double sum = 0;
for(i = 0; i < column; i++)
{
for(j = 0; j < row; j++)
{
for(k = 0; k < rowT; k++)
{
**sum = sum + matrixT[i][k] * matrix[k][j];** <---- /*says this line is a cause for a problem*/
}
productMatrixT[i][j] = sum;
sum = 0;
}
}
}
бесплатно:
for(i = 0; i < rowT; i++)
{
free(productMatrixT[i]);
}
free(productMatrixT);