Простите, а разве нельзя? Типа было под него выделено ни сколько памяти, и освободиться ни сколько....
Если это неправильно, то уже есть в структуре размер массива Oerr: Oerr_num. Освобождая проверять его...
Код
for(i = 0; i < num; i++)
{
if ( dat[i]->Oerr_num > 0 )
{
free(dat[i]->Oerr);
}
}
free(dat);
Но это непринципиально, интересно, почему нельзя освобождать память если её не выделяли.