| Summary: | Утечка памяти в обёртке к getaddrinfo | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Evgeny Sinelnikov <sin> |
| Component: | krb5 | Assignee: | Sergey Bolshakov <sbolshakov> |
| Status: | CLOSED WORKSFORME | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | iv, rider, shaba |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Я не отвечаю за krb5, это к Сергею. Ещё актуально? Давно уже не актуально. |
В функции-обёртке krb5int_getaddrinfo() обнаружена утечка памяти. Проблемы такого рода периодически проявляются в рассылках MIT Kerberos... Текущая проблема не единственна, к тому же потенциально известна разработчикам- они и так знают, что там всё криво... у них так в коде и написано: util/support/fake-addrinfo.c: Upgrade host requirements to include working implementations of these functions, and throw all this away. Pleeease? :-) Думаю нужно отключить эту обёртку - без неё всё и так работает. К сожалению, стандартных "ручек", для отключения, нет - оно прибито гвоздями: #if (defined (__linux__) && defined(HAVE_GETADDRINFO)) || defined (_AIX) /* See comments below. */ # define WRAP_GETADDRINFO #endif Ещё более огорчительно то, что это не единственная утечка памяти. Ещё одна имеет место быть при динамическом выделении контекста и, использовании методов для получения аутентификационных данных, в частности ключей из keytab функцией krb5_get_init_creds_keytab() В общем с этим делом лучше, конечно в upstream... но хотелось бы утечку устранить, а не разработкой kerberos заняться... Проверки показывают, что отключение обёрток устраняет часть утечек, а вот чинить как это пока не понятно, да они и сами понимают, что эту часть кода нужно выкинуть...