fprintf утечка памяти

Я использую инструменты из XCode 4.2.1, чтобы найти утечки памяти. Я обнаружил очень странную (по крайней мере, для меня) утечку памяти: (Функция values_table_get_value возвращает значение типа double, а output = stdout ) enter image description here

Вот два вопроса: Это настоящая утечка памяти? Как я могу это очистить? (Формат fprintf %. 3f неверен для double ?

) Чтобы показать, что утечка находится внутри fprintf, я изменил возврат из функция 5.0 :

enter image description here

и перемещение возврата во временную переменную:

enter image description here

, а если быть более точным, вот изображение asm-кода, которое показывает, что утечка: enter image description here

Я провел очень простой тест: распечатал с использованием sprintf + fprintf , но у меня обнаружилась утечка на sprintf: enter image description here

Я также пытался использовать printf напрямую, и у меня обнаружилась утечка.

Я действительно думаю, что проблема в формате.

Последняя попытка, чтобы показать, что ничего не связано с моей функцией: enter image description here

Чтобы проверить, я выполнил с valgrind: ( values_table_print - это имя функции) valgrind --leak-check = full --show-reachable = yes ./leastsquares

enter image description here

Мои версии программного обеспечения: valgrind - версия: valgrind-3.7.0 gcc --version i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (на основе сборки 5658 Apple Inc.) (сборка LLVM 2336.1.00)

14
задан Pih 29 January 2012 в 16:00
поделиться