Как справиться с утечкой памяти из-за чужого драйвера

Я запускаю программу ac на компьютере CentOS 5.5. Программа запускает цикл, который выполняет тесты снова и снова, пока внешний источник не скажет остановиться.

По необходимости я использую старый драйвер для карты PCI, которая взаимодействует с моей тестовой системой. После обновления CentOS 4.5 до версии 5. 5 Я заметил, что могу выполнить цикл только 175 раз. В это время программа останавливается с ошибкой выделения памяти кучи. Я могу наблюдать, как память используется кусками от 10 до 20 МБ каждый раз, когда программа зацикливается, а системе просто не хватает памяти. Когда я выхожу из программы с помощью Cntrl-C, память немедленно освобождается.

Я использовал Valgrind, который указывает, что утечки памяти находятся в старом драйвере. Компания, написавшая драйвер, теперь поддерживает только Windows, и они не обновляли драйвер более 5 лет.

Можно ли без исходного кода освободить память, используемую драйвером каждый раз, когда я выполняю цикл программы?

Спасибо.

6
задан Gmandude 15 November 2010 в 18:40
поделиться