Исправлено несколько случаев некорректного использования функций освобождения памяти -- память выделялась функцией от одного API, а освобождалась функцией от другого API. На практике возможно, что проблемы никогда не возникало, т.к. вероятно все специализированные функции работы с памятью являются обертками для обычных malloc/free.
Затем, убрано динамическое выделение памяти, когда можно обойтись статическим выделением. Удалены ненужные проверки на NULL перед освобождением памяти.
Исправлено 2 проблемы: двойное освобождение памяти при работе с экранными уведомлениями (OSD) -- один раз в запускающем потоке, второй раз в рабочем; и утечки памяти в генераторе proto-файлов
Исправлено несколько случаев некорректного использования функций освобождения памяти -- память выделялась функцией от одного API, а освобождалась функцией от другого API. На практике возможно, что проблемы никогда не возникало, т.к. вероятно все специализированные функции работы с памятью являются обертками для обычных
malloc/free
.Затем, убрано динамическое выделение памяти, когда можно обойтись статическим выделением. Удалены ненужные проверки на
NULL
перед освобождением памяти.Исправлено 2 проблемы: двойное освобождение памяти при работе с экранными уведомлениями (OSD) -- один раз в запускающем потоке, второй раз в рабочем; и утечки памяти в генераторе proto-файлов