Size: a a a

Rust — русскоговорящее сообществo

2020 October 01

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
Классическая ХУ проблема. Человеку надо Х, но спрашивает сначало про У
+
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Mikail Bagishov
Разыменование нулевого указателя != сегфолт
с чего бы это
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
с чего бы это
Первое это UB, а второе это просто некоторый сайд-эффект
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Mikail Bagishov
Первое это UB, а второе это просто некоторый сайд-эффект
счего бы это уб. Хотя может и уб. Но по факту сегфолт будет скорее всего
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Поэтому первое может после компиляции превратиться во второе, а может и во что-то другое
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
ну ладно, соглашусь
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
лень спорить про то что будет в результате уб) Ничего хорошего
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Не будет сегфолта если ты примапил
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Или если ты в эмбедед окружении
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Много вариантов
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
счего бы это уб. Хотя может и уб. Но по факту сегфолт будет скорее всего
https://doc.rust-lang.org/nightly/core/ptr/index.html#safety

A null pointer is never valid, not even for accesses of size zero.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Dollar Føølish
Не будет сегфолта если ты примапил
Хоть ты сто раз примапь, пока ты читаешь не через inline asm будет UB
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Передаешь 0 , Map_Fixed
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
И у тебя нулевая страница доступна для чтения/записи
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Mikail Bagishov
Хоть ты сто раз примапь, пока ты читаешь не через inline asm будет UB
ну ок, "Разыменовать нулл в inline asm" - устроит?:)
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Dollar Føølish
И у тебя нулевая страница доступна для чтения/записи
С точки зрения ОС/процессора - да.
С точки зрения раста/LLVM - нет
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Я про сегфолт
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
В расте нет сегфолта
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Поэтому поведение все еще неопределено
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
В ллвм тем более
источник