[devel] rpm макросы для пакета mk-configure

Andrey Savchenko bircoph на altlinux.org
Чт Май 28 00:30:31 MSK 2020


On Tue, 26 May 2020 21:30:20 +0300 Aleksey Cheusov wrote:
> 25.05.2020, 22:49, "Andrey Savchenko" <bircoph на altlinux.org>:
> > On Mon, 25 May 2020 21:59:49 +0300 Aleksey Cheusov wrote:
> >>>  Нужен review и разрешение на публикацию в Сизифе.
> >
> > Вот замеченные проблемы. Большинство из них есть в логах сборки, так
> 
> Обновил.
> См. http://git.altlinux.org/tasks/252281/

Там добавился ещё paexec. По нему есть gcc warning:

In file included from /usr/include/string.h:507,
                 from paexec.c:32:
In function 'strncpy',
    inlined from 'init__read_graph_tasks' at paexec.c:276:3:
/usr/include/bits/string_fortified.h:106:10: warning: '__builtin_strncpy' specified bound 2000 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Это вот эта строка:
  strncpy (buf_copy, buf, sizeof (buf_copy));

Размер buf может быть больше buf_copy, т.к. он определяется функцией
getdelim(NULL,0,…) и данные читаются из stdin. В таком случае buf_copy
будет без терминирующего нуля.

Я предлагаю сделать так:
  strncpy (buf_copy, buf, sizeof (buf_copy) - 1);
  buf_copy[sizeof (buf_copy) - 1] = '\0';

Других проблем я не нашёл, так что даю аппрув на таск: проблема
в коде не является проблемой опакечивания и не является основанием
для блокирования коммита.

Всё же, я рекомендую исправить эту проблему.
 
> > 2) libmaa-1.4.7-alt2:
> >
> > 2.1) Нет зависимости на макрос.
> > Зависимости на макросы нужно делать через BuildRequires(pre):
> > BuildRequires(pre): rpm-macros-mk-configure
> 
> Я сделал так, как сделано с cmake, где cmake Requires rpm-macro-cmake и этого вроде достаточно.
> "BuildRequires: rpm-macro-mk-configure" действительно исправляет ворнинги, но мне непонятно,
> зачем они. Зависимость добавил -- бессмысленные ворнинги пропали :-)

Как следует из комментария ldv, это бесполезный warning. Поэтому
мейнтенеру приходится выбирать между бесполезными предупреждениями
и бесполезными зависимостями :/

> > 3.2) Безопаснее использовать mkstemp вместо tempnam:
> > /usr/src/RPM/BUILD/runawk-1.6.1/runawk/runawk.c:168: warning: the use of `tempnam' is dangerous, better use `mkstemp'
> 
> С точки зрения security здесь все в порядке. Так что это предупреждение я сознательно игнорирую.

Да, действительно, там используется mkdir, что подразумевает O_EXCL,
что делает tempnam безопасным.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20200528/7b6daceb/attachment.bin>


Подробная информация о списке рассылки Devel