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

Два вопроса:
Это настоящая утечка памяти?
Как я могу его очистить? (Формат fprintf %.3f неверен для double?
Чтобы показать, что утечка находится внутри fprintf, я изменил возврат из функции на 5.0:

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

и, если быть более точным, вот картина кода asm, которая показывает, что утечка:

Я сделал очень простой тест: печать с использованием sprintf + fprintf, но я получаю утечку в sprintf:

Я также попытался напрямую использовать printf, и я получил утечку на нем.
Я действительно думаю, что проблема в формате.
Последняя попытка, чтобы показать, что ничего не связано с моей функцией:

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

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