The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Уязвимость в стандартной библиотеке языка Rust, opennews (??), 20-Янв-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


51. "Уязвимость в стандартной библиотеке языка Rust"  +2 +/
Сообщение от Урри (ok), 20-Янв-22, 23:50 
> Сама ФС должна иметь point-in-time "замораживание" всей файловой системы

Открыл файл, весь сервер сел подождать.

> Проблемы подвержен любой код на любом языке.

Не любой а только тот, который написали аналогичные по квалификации растофанатики.

Ответить | Правка | Наверх | Cообщить модератору

59. "Уязвимость в стандартной библиотеке языка Rust"  +3 +/
Сообщение от Аноним (81), 21-Янв-22, 00:08 
Узнай что такое транзакции, как они работают в БД и как БД вообще работают. Узнаешь много нового.

И узнаешь почему там ничего не "тормозит".

Вот ссылка https://www.youtube.com/playlist?list=PLSE8ODhjZXjZaHA6QcxDf...

Ответить | Правка | Наверх | Cообщить модератору

222. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (173), 21-Янв-22, 11:40 
да да, узнай. Что попытка сделать журналируемые FS аналогично БД и транзакциям закончилась провалом.
В качестве теста - попробуй открыть транзакцию и вдвоем начать модифицировать одну запись и получить "предсказуемый" результат. Узнаешь что вторая транзакция затормозится до тех пор пока первая не закончится.
Ответить | Правка | Наверх | Cообщить модератору

323. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (81), 21-Янв-22, 14:46 
Кстати, вроде бы btrfs это про транзакции и вот эти вот гарантии.

Их снэпшоты это оно и есть, или похоже.

Работает неплохо.

Ответить | Правка | Наверх | Cообщить модератору

335. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноньимъ (ok), 21-Янв-22, 15:15 
Ну а что по вашему ДОЛЖНО происходить?
Запись непредсказуемой билебердой забивать?
Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

248. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от сипипи (?), 21-Янв-22, 12:11 
> Узнай что такое транзакции, как они работают в БД и как БД вообще работают

я уже было сжал свою чёрную дыру а тут... ссылка на ютуб. :'(

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

306. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (81), 21-Янв-22, 13:42 
Так лучше? https://15445.courses.cs.cmu.edu/fall2021

Там все ссылки далее на научные статьи

Ответить | Правка | Наверх | Cообщить модератору

270. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (144), 21-Янв-22, 12:38 
а потом, когда школа закончится, кто-то узнает про блокировки транзакций, которые могут неслабо так сложить половину клиентов
и да, транзакции прекрасно тормозят, даром не бывает ничего кроме ваших упоротых комментов
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

309. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (81), 21-Янв-22, 13:44 
Ты умеешь лучше? Или ты предлагаешь забить и оставить все гонки "как было". Либо максимальная производительность, либо максимальная безопасность.

Выбери что-то одно.

Ответить | Правка | Наверх | Cообщить модератору

284. "Уязвимость в стандартной библиотеке языка Rust"  –1 +/
Сообщение от Michael Shigorinemail (ok), 21-Янв-22, 13:06 
> Узнай что такое транзакции [...]
> youtube

Поколение непуганых :(

А Дейта, скажем, почитать уже немодно, да?

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

304. "Уязвимость в стандартной библиотеке языка Rust"  –1 +/
Сообщение от Аноним (81), 21-Янв-22, 13:34 
Какая ещё Дейта? Это один из лучших в мире курсов по базам данных.
Ответить | Правка | Наверх | Cообщить модератору

490. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (-), 23-Янв-22, 04:14 
Мишель ! Вам бы тут не глазки строить, а очень сильно переживать по поводу сабжа. Если ядро без него не будет собираться - кто даст гарантию что всякие эльбрусы не будут забанены при очередных санкциях ?
Ответить | Правка | К родителю #284 | Наверх | Cообщить модератору

61. "Уязвимость в стандартной библиотеке языка Rust"  +2 +/
Сообщение от Минона (ok), 21-Янв-22, 00:14 
Тебя там выше попросили написать неуязвимый код на С.
Где он?
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

79. "Уязвимость в стандартной библиотеке языка Rust"  –2 +/
Сообщение от Аноним (8), 21-Янв-22, 00:48 
А тебе вообще тут никто ничего не обязан.
Ответить | Правка | Наверх | Cообщить модератору

271. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Урри (ok), 21-Янв-22, 12:39 
А почему не на брейнфаке? Или не на С++? Или не на лиспе?

Почему именно С то? И, кстати, где просили?

Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

443. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Минона (ok), 21-Янв-22, 21:20 
Глазки протри.

В общем кода не будет, все с тобой ясно, балабол.

Ответить | Правка | Наверх | Cообщить модератору

62. "Уязвимость в стандартной библиотеке языка Rust"  –1 +/
Сообщение от Аноним (81), 21-Янв-22, 00:14 
Вместо того чтобы балаболить, покажи код на С, который не подвержен.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

75. "Уязвимость в стандартной библиотеке языка Rust"  +2 +/
Сообщение от Корец (?), 21-Янв-22, 00:44 
#include <stdio.h>
int main(){
retun printf( "hello opennet\n" );
}
Ответить | Правка | Наверх | Cообщить модератору

95. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (81), 21-Янв-22, 01:18 
Ошибка.

У тебя если программа вывела "hello opennet\n", она возвращает код ошибки 14, также как если printf завершится ошибочно (и вернёт -1).

А при успешном выполнении программа должна возвращать ТОЛЬКО 0. Твоя не возвращает его никогда.

Ответить | Правка | Наверх | Cообщить модератору

96. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (-), 21-Янв-22, 01:26 
> Ошибка.
> У тебя если программа вывела "hello opennet\n", она возвращает код ошибки 14,

Ждем корректный хелловорд (ни разу на си еще не видел).

Ответить | Правка | Наверх | Cообщить модератору

141. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (141), 21-Янв-22, 08:23 
#include <stdio.h>
int main(){
   printf("hello opennet\n");
   return 0
}

А это минимальная программа, которую можно скомпилировать(да компилируется с предупреждением).

main;

Ответить | Правка | Наверх | Cообщить модератору

142. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (141), 21-Янв-22, 08:30 
да да,

return 0;

Ответить | Правка | Наверх | Cообщить модератору

288. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Michael Shigorinemail (ok), 21-Янв-22, 13:07 
> да да,
> return 0;

...даже я заметил.  Впрочем, когда лезу поучительствовать, регулярно спотыкаюсь примерно так же.

Ответить | Правка | Наверх | Cообщить модератору

313. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (-), 21-Янв-22, 13:55 
>> Ждем корректный хелловорд (ни разу на си еще не видел).
> #include <stdio.h>
> int main(){
>    printf("hello opennet\n");
>    return 0
> }


$ echo "hello opennet\n" > /dev/full                                            
echo: write error: no space left on device
$ cat hello.rs && rustc hello.rs && ./hello > /dev/full                            
pub fn main() {
  println!("hello opennet");    
}
thread 'main' panicked at 'failed printing to stdout: No space left on device (os error 28)', library/std/src/io/stdio.rs:935:9

$ ./a.out > /dev/full
<пусто>


Ну вот - опять не увидел :(


Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

401. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от kib (ok), 21-Янв-22, 17:47 
5.1.2.2.3 Program termination

1 If the return type of the main function is a type compatible with int, a return from the initial call to the main function is equivalent to calling the exit function with the value returned by the main function as its argument;11) reaching the } that terminates the main function returns a value of 0.

Возвращаемое значение из printf() конечно же никакого влияния на код возврата не имеет, `printf();` это statement, а не expression.

Так что кто-то не знает C.

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

428. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Likern (?), 21-Янв-22, 19:34 
О, у нас тут появился С-теоретик.

Верно, и этот "кто-то" - это ты. А мог бы не полениться и просто скомпилировать
программу и проверить что она возвращает.

Возвращает она 14.

Страшно, истинно страшно за местных экспертов и С-гуру, которые никогда не ошибаются, умеют всё писать правильно и без ошибок. Поэтому Rust им не нужен.

Но не в состоянии написать за пол-дня даже 1 строчку кода на С без ошибок. Даже когда ткнули, даже когда она почитали стандарт, даже Hello World.

Чудовищный уровень деградации и падения профессионализма. И после этого вы называете JavaScript программистов макаками и смузихлёбами? И говорите что Rust не нужен?

Ответить | Правка | Наверх | Cообщить модератору

553. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от keydon (ok), 25-Янв-22, 10:28 
> Ошибка.
> У тебя если программа вывела "hello opennet\n", она возвращает код ошибки 14,
> также как если printf завершится ошибочно (и вернёт -1).
> А при успешном выполнении программа должна возвращать ТОЛЬКО 0. Твоя не возвращает
> его никогда.

Никому она не должна. Это автор программы решает каким стандартам программа следует, можно ли ориентироваться на ее код возврата, а то и вовсе может решить всегда возвращать 0, а ошибки смотрите в логе, например. У меня тут в интепрайзе репозиторий с 300+ программ и я не уверен что хотя бы половина возвращает осмысленный код ответа, а случаев где на него действительно обращают внимание только наверное запуск по кронам с кроником.

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

106. "Уязвимость в стандартной библиотеке языка Rust"  +4 +/
Сообщение от Аноним (81), 21-Янв-22, 02:23 
Ещё одна ошибка (потенциальная)!

Твоя программа может напечатать ЛЮБОЕ количество символов из "hello opennet\n", например "hell" и завершиться с ошибкой.

Это произойдет если я нажму Ctrl-C и тебе придет сигнал SIGINT. А сигналы ты не обрабатываешь. А сигнал может прервать любой системный вызов (!). И твой вывод будет неполным (!). Те напечатать она может любое количество символов.

Читать здесь https://groups.google.com/g/comp.unix.programmer/c/QZmFw1Vyt...

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

114. "Уязвимость в стандартной библиотеке языка Rust"  +3 +/
Сообщение от Аноним (-), 21-Янв-22, 03:03 
Сделай видосик как ты успеваеш это сделать !
Ответить | Правка | Наверх | Cообщить модератору

171. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (81), 21-Янв-22, 10:12 
Если ты не понял - нажимать ничего не обязательно. Прилететь может любой сигнал, и от самой ОС.

Те. как видишь никаких гарантий ничего в Linux нет.

Ответить | Правка | Наверх | Cообщить модератору

120. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от . (?), 21-Янв-22, 03:15 
и что ты предлагаешь? и какая разница, пусть там хоть stdout закрыт - не проблема программы.

в принципе, можно выходить через обработчик и там выводить через write(). только нужно маску поставить, иначе задублируется ещё.

Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

121. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от . (?), 21-Янв-22, 03:17 
а читать не по ссылке нужно, а
man signal
man signal-safety
Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

193. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Корец (?), 21-Янв-22, 10:49 
Ок, тогда так

#include <stdio.h>
int main(){
    return printf( "hello opennet\n" ) == 14 ? 0 : -1;
}

Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

530. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от PnD (??), 24-Янв-22, 09:52 
Бить по рукам за "магические константы".
И, отдельно, за тринарный оператор там где он не впился.

* Да, на любом ЯП можно наговнокодить. Но в чём смысл "однострочников" на C?
Для такого есть bash (+sed+awk), perl, python.

Ответить | Правка | Наверх | Cообщить модератору

532. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Корец (?), 24-Янв-22, 10:11 
Что-то не нравится? Покажи свой вариант - я всегда готов поучиться ;)


Ответить | Правка | Наверх | Cообщить модератору

543. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от PnD (??), 24-Янв-22, 20:25 
> Что-то не нравится? Покажи свой вариант - я всегда готов поучиться ;)

Я на C почти не пишу (больше читаю), но если хочется именно "однострочник" то:

return printf( "hello opennet\n" ) < 1;

Завершаемся с нулём если удалось что-то вывести.
Иначе 1, по крайней мере в последних спецификациях C.

Если таки нужно убедиться что выведено всё, то как-то так:
#include <stdio.h>
int main(int argc, char *argv[])
{
unsigned char *hello = "hello opennet\n\0"; /* Не буду думать что "компилятор умный" */
return printf( hello ) == sizeof(*hello);
}


ИТОГО: код должен делать осмысленные вещи и не "ломаться" от "любого чиха".
В физике для этого есть определение "устойчивости". Более общего математического я не знаю, но в приведённом примере "любой чих" — это изменение выводимой "строки". (Которая, до кучи, в первом аргументе printf задаёт "формат". Поэтому мне /и любому кто такое вытворяет/ — индивидуальные тисочки для выпрямления рук.)

И последнее. В языке C нету "строк". Когда-то это мне рвало шаблон "ну код же похож на другие высокоуровневые".

Ответить | Правка | Наверх | Cообщить модератору

545. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Корец (?), 24-Янв-22, 21:08 
Что-то тут не то. man printf(3) говорит, что на вход принимается const char*, а у тебя unsignerd char*. А за остальное - спасибо, возьму на заметку.
Ответить | Правка | Наверх | Cообщить модератору

558. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от PnD (??), 25-Янв-22, 13:17 
> Что-то тут не то. man printf(3) говорит, что на вход принимается const
> char*, а у тебя unsignerd char*. А за остальное - спасибо,
> возьму на заметку.

Ну ок,
char *hello = "hello opennet\n\0";

"unsigned" — да, ляпнул не подумав.
"const" — подсказка компилятору, но это C и никто руки не выкручивает.
Проверил сейчас специально с "-Wall" — собрал без ругани. "gcc version 7.5.0 (SUSE Linux)"

Ответить | Правка | Наверх | Cообщить модератору

220. "Уязвимость в стандартной библиотеке языка Rust"  +3 +/
Сообщение от Аноним (220), 21-Янв-22, 11:37 
какая ошибка? если получил сигнал на прерывание то будь добр прервись - это уважение программы, всякие там хрени которые обходят поведение SIGINT уже херово-коденье. Ты бы еще про буферизацию вспомнил бы (не выполняет намеренное сбрасывание из буфера в поток)  или докопался что у него нет сброса привилегий а также не проверяет каким компилятором и спецификой версии языка пользуется.  
Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

275. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Урри (ok), 21-Янв-22, 12:47 
> всякие там хрени которые обходят поведение SIGINT уже херово-коденье

Гы.

Python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ^C

KeyboardInterrupt
>>> ^C

KeyboardInterrupt
>>> ^C

KeyboardInterrupt

Ответить | Правка | Наверх | Cообщить модератору

318. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (-), 21-Янв-22, 14:07 

>> если получил сигнал на прерывание то будь добр прервись
> Гы.


> Python 3.8.10 (default, Nov 26 2021, 20:14:08)
> [GCC 9.3.0] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>>>> ^C
> KeyboardInterrupt


Занятный ламеризм.
^C в интерактивном интерпретаторе/режиме (ЧСХ, далеко не только питона, но и ghc, calc, swi) прерывает вычисления.

Type "help", "copyright", "credits" or "license" for more information.
>>> while True: pass

...
^C
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt


Ответить | Правка | Наверх | Cообщить модератору

339. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Урри (ok), 21-Янв-22, 15:21 
То есть делает не то, для чего предназначен.
Занятный ламеризм. (с)

Даже в богомерзком ведроиде с его дикими ограничениями на средства коммуникации с приложениями во множестве апликух двойное нажатие "назад" закрывает приложение.

Ответить | Правка | Наверх | Cообщить модератору

357. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (-), 21-Янв-22, 15:51 
>> прерывает процесс вычисления

https://man7.org/linux/man-pages/man7/signal.7.html
>> SIGINT       P1990      Term    Interrupt from keyboard

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
>> SIGINT receipt of an interactive attention signal

-
> То есть делает не то, для чего предназначен.
> Занятный ламеризм. (с)
> Даже в богомерзком ведроиде с его дикими ограничениями на средства коммуникации с
> приложениями во множестве апликух двойное нажатие "назад" закрывает приложение.

О, сейчас зумерки нам расскажут за "правильные" сигналы в целом и "как должен себя вести SIGINT" в частости, аргументируя поведением ведроидных приложений при нажатии "назад"!

Ответить | Правка | Наверх | Cообщить модератору

381. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Урри (ok), 21-Янв-22, 16:48 
SIGINT (от англ. signal и interrupt — прервать) — сигнал, применяемый в POSIX-системах для остановки процесса пользователем с терминала.
Определён в заголовочном файле signal.h. Посылается программе, выполняемой на терминале, с помощью нажатия специальной комбинации клавиш для прерывания программы (обычно — Ctrl+C).

Учись читать, внучек, пока я жив.

Ответить | Правка | Наверх | Cообщить модератору

394. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (-), 21-Янв-22, 17:20 
Вообще-то, зумерку привели цитату из мана и стандарта, описывающего signal.h

В качестве "опровержения" зумерок сплагиатил что-то из помой^W педивикии (причем, русскоязычной).
И его нисколько не смутил смелый и вольный перевод "interrupt" (прерывание) в виде "остановки".
https://en.wikipedia.org/wiki/SIGINT_(POSIX)
> SIGINT    2    Terminate    Terminal interrupt signal
> The SIGINT signal is sent to a process by its controlling terminal when a user wishes to interrupt the process.

Эпичненько.

Ответить | Правка | Наверх | Cообщить модератору

417. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Урри (ok), 21-Янв-22, 18:59 
> Эпичненько.

Согласен, обсер действительно просто эпичный.

У деточки настолько неразвитые нейрончики (тикточек виноват, не? или джаваскриптик? а может в смузи чуть с горя не утопился, когда в барбершопе неправильно бородку подровняли?), что деточка не может понять пары простых слов. Даже когда сама же их цитирует.

Деточка не в курсе, что такое "process", да? Деточку не учили читать все, а не выдергивать одно слово? А ведь там же, по деточкиной ссылочке все это есть.

--
А потом удивляются за что так презирается сообщество раста. А как относится к людям, которые даже двух слов связно понять не могут, но понтов зато выше небоскреба?

Ответить | Правка | Наверх | Cообщить модератору

436. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (-), 21-Янв-22, 19:58 
> Согласен, обсер действительно просто эпичный.
> У деточки настолько неразвитые нейрончики (тикточек виноват, не? или джаваскриптик? а может
> в смузи чуть с горя не утопился, когда в барбершопе неправильно
> бородку подровняли?), что деточка не может понять пары простых слов. Даже
> когда сама же их цитирует.

Ух, какие аргументативные аргументы!

>> when a user wishes to interrupt the process
> Деточка не в курсе, что такое "process", да? Деточку не учили читать
> все, а не выдергивать одно слово? А ведь там же, по
> деточкиной ссылочке все это есть.

Расскажи, какие буквы тебе не понятны в interrupt. Заодно расскажи, как "неправильно" работает интерактивный режим в (b/z)sh.

> --
> А как относится  к людям, которые даже двух слов связно понять не могут, но понтов зато выше небоскреба?

Ну, тебе лучше знать, как к тебе относятся.

Ответить | Правка | К родителю #417 | Наверх | Cообщить модератору

437. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Анонимemail (437), 21-Янв-22, 20:01 
> ^C
> KeyboardInterrupt
> То есть делает не то, для чего предназначен.
> Занятный ламеризм. (с)
> Даже в богомерзком ведроиде с его дикими ограничениями на средства коммуникации с
> приложениями во множестве апликух двойное нажатие "назад" закрывает приложение.

О Великий Гуру, расскажи побольше о "ламеризме" авторов bash, dash, csh и т.д.

Ответить | Правка | К родителю #339 | Наверх | Cообщить модератору

301. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноним (81), 21-Янв-22, 13:32 
Потенциальная. Мы что, серьезно будем обсуждать 1 строчку кода на С?

Пишет он в файл - сигнал, вылет. Файл corrupted. Но он создан, он есть. Что он испорчен никто уже не знает. Следующая программа в цепочке уже принимает невалидные данные.

Придумать как это превратить в уязвимость - это вопрос времени и желания. Нет этот, так другой случай. Коих тысячи в любой программе.

А сигнал надо перехватывать, обрабатывать, и файл удалять, например. Но кто так делает? 0.0001% программистов на С.

А серьезно обсуждать одну строчку кода...ну такое. Скажем так - с развитием этой программы эти баги полезут косяками.

Ответить | Правка | К родителю #220 | Наверх | Cообщить модератору

531. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от PnD (??), 24-Янв-22, 09:59 
Данная придирка избыточна для однопоточных "портянок".
От них именно такое поведение и ожидается.

* Но да, грамотно обработать (а не просто заигнорить) некий сигнал бывает тем ещё квестом.

Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

554. "Уязвимость в стандартной библиотеке языка Rust"  –1 +/
Сообщение от keydon (ok), 25-Янв-22, 10:30 
> Ещё одна ошибка (потенциальная)!
> Твоя программа может напечатать ЛЮБОЕ количество символов из "hello opennet\n", например
> "hell" и завершиться с ошибкой.
> Это произойдет если я нажму Ctrl-C и тебе придет сигнал SIGINT. А
> сигналы ты не обрабатываешь. А сигнал может прервать любой системный вызов
> (!). И твой вывод будет неполным (!). Те напечатать она может
> любое количество символов.
> Читать здесь https://groups.google.com/g/comp.unix.programmer/c/QZmFw1Vyt...

Скажу больше - любую программу можно прибить во время выполнения и она ничего не сможет с этим сделать. Жду маркетологов от раста которые "исправят этот пласт ошибок".

Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

177. "Уязвимость в стандартной библиотеке языка Rust"  –1 +/
Сообщение от Аноним (177), 21-Янв-22, 10:22 
Столько комментов, а никто так и не сказал про "retun". Если, конечно, я чего-то не знаю про С.
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

192. "Уязвимость в стандартной библиотеке языка Rust"  +1 +/
Сообщение от Аноним (174), 21-Янв-22, 10:49 
Другие комментаторы оказались умнее и не стали придиратся к опечатке?
Ответить | Правка | Наверх | Cообщить модератору

290. "Уязвимость в стандартной библиотеке языка Rust"  –1 +/
Сообщение от Michael Shigorinemail (ok), 21-Янв-22, 13:09 
> Другие комментаторы оказались умнее и не стали придиратся к опечатке?

Опечатка простительна во многих случаях, но только не у учительствующего.
Поймаете у меня -- _обязательно_ ткните носом!

Ответить | Правка | Наверх | Cообщить модератору

331. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноньимъ (ok), 21-Янв-22, 15:09 
>Открыл файл, весь сервер сел подождать.

В линуксе нет эксклюзивного доступа к файлу?

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

386. "Уязвимость в стандартной библиотеке языка Rust"  –3 +/
Сообщение от Урри (ok), 21-Янв-22, 17:01 
К чему этот вопрос?
Напомню контекст:

>> Сама ФС должна иметь point-in-time "замораживание" всей файловой системы
> Открыл файл, весь сервер сел подождать.

Ответить | Правка | Наверх | Cообщить модератору

480. "Уязвимость в стандартной библиотеке языка Rust"  +/
Сообщение от Аноньимъ (ok), 22-Янв-22, 20:57 
Дурацкий контекст. Что тут обсуждать?
Транзакции изобрели не вчера. Есть множество способов сделать это быстро и хорошо.

А серверное приложение на линуксе и так легко подвисает при невозможности доступа к файлам.
Особенно это ярко проявляется с NFS.

И не только приложение, давайте вспомним не так давно потерянный спутник, из за того, что у него логами забился то ли var то ли tmp.

В общем вы видите проблему там где её нет.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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