Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
-BUMBLEBEEVERSION=1.4.31
+BUMBLEBEEVERSION=1.4.32
@@ -348,7 +348,7 @@ case "$DISTRO" in
ln -s /usr/lib/mesa/ld.so.conf /etc/alternatives/gl_conf
rm -rf /etc/alternatives/xorg_extra_modules
rm -rf /etc/alternatives/xorg_extra_modules-bumblebee
- rm -rf /usr /lib/nvidia-current/xorg/xorg
__attribute__((__unused__))?int x = bar();
#ifdef EXT_LOG
ext_log(x);
#endif
#ifndef EXT_LOG __attribute__((__unused__) #endif int x = bar();

Люди, привыкшие к консоли линт не юзают в принципе
javac *"? Мсье знает толк в несвежих извращениях.любая IDE для Java гоняет линт автоматом
Don't add uninitialised data." if (getuid() != 0 && geteuid() == 0) get_uid()/get_euid(), getUid()/getEuid() в зависимости от принятых стандартов, и ещё масса вариантов. -configure сервер запишет новый конфиг-файл. Проверка почему-то предполагает, что не-root-пользователь этого сделать не должен, но, что если именно этот пользователь является владельцем конфиг-файла, и, соответственно, по-логике вещей, должен был бы суметь воспользоваться этой опцией. Типичный случай, когда assumption is the mother of all f*ckups.if (getuid() != 0 && geteuid() == 0) {A new file has been created in /etc/X11/ called xorg.conf
Суть моего коммента в том, что пользователи могут что-то вполне административно-легально (права-членства в группах, или собственность) делать вещи, которые обычно может делать root. Данная проверка этой возможности его лишает. Именно поэтому нужно «… не проверять на рутовость, а просто обламываться там, где не хватает прав, желательно с адекватной диагностикой. …».-configure
When this option is specified, the Xorg server loads all video driver modules, probes for available hardware, and writes out an initial xorg.conf(5) file based on what was detected. This option currently has some problems on some platforms, but in most cases it is a good way to bootstrap the configuration process. This option is only available when the server is run as root (i.e, with real-uid 0).
-configure даёт возможность получить текстовое представление рабочего конфига сервера. Автоматически. root-пользователь просто запускает с этим ключом сервер, тот сохраняет рабочий конфиг.-configure делать запрещаетErrorF("The '-configure' option can only be used by root.\n");cp /path/to/Xorg ./Xorg
chmod +x ./Xorg
./Xorg -configure
Потому что для этого нужна более сложная проверка. Зачем тратить силы на те юзкейсы, которыми никто не пользуется?
если у него есть права грузить драйвера — то и куда исполнимый файл записать найдется):
Во-1-х, потому что идеологически правильнее проверять должна операционная система. Например, из-за появления тех же capabilites в Linux, кучу таких проверок пришлось найти, и выбросить…Скажите мне, КАК должна операционная система проверять права Васи Пупкина, если программа работает под euid 0? Проблема именно в том, что setuid root выключает все проверки со стороны операционной системы — и прикладная программа должна проводить их самостоятельно.
if (getuid() != 0 && geteuid() == 0)
setuid(getuid());
Если SETUID на данной платформе был реально необходим для штатной работы X-сервера, то после копирования, файл X превратится в тыкву.
$a = true;$b = false;$c = $a and $b;var_dump($c); // bool (true)
История однострочных багов