The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"postfix + pam патч"
Отправлено Andrew Baznikin, 25-Апр-03 05:57 
>Я не уверен на все 100 %, что называется, так как, в
>текстах PAM-модулей часто встречается такая работа с данными (strdup()), а детального
>описания интерфейса (API), в котором было бы написано кто, что и
>как выделяет/освобождает, я не нашел. Однако, там же (в текстах) встречается
>и проверка на то, что память действительно выделена, причем, если этого
>не произошло, то выполняется "откат", освобождая все, что успели получить до
>этого. В твоем патче такого нет:
>
>+    for (i = 0; i < n; ++i)
>{
>+        resp[i]->resp_retcode = 0;
>+        resp[i]->resp = strdup(msg[i]->msg); // FIXME
>+    }
>+
>+    return (PAM_SUCCESS);
>
>Если ты брал готовый (чужой) кусок кода, то следовало обратить внимание на
>его готовность к "реальной жизни", ибо он там *специально* отмечен комментарием.

Пример converse я взял из доки к pam (/usr/share/doc/en/articles/pam/pam-sample-conv.html). Вот кусок из оригинала:
    resp[i]->resp = strdup(buf);
    if (resp[i]->resp == NULL)
      goto fail;
Далее по коду примера, resp нигде не освобождается.
А что касается коментария - его я поставил для себя, так я отмечаю места к которым нужно вернуться для возможного улучшения. В этом патче converse служит исключительно заглушкой.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру