Size: a a a

2020 August 14

Т8

Т-34 85 in rust_offtopic
red75prime
Они печать ставят и деньги берут
ну вот поставят печать на документе, в котором есть уб
источник

Т8

Т-34 85 in rust_offtopic
Egor Pugin
это же про инструкции
вот ОС кинет такую инструкцию
источник

Т8

Т-34 85 in rust_offtopic
как только заметит интересное разыменование
источник

RP

Roman Proskuryakov in rust_offtopic
Constantine Drozdov
указатели ведут в хипу, которая может нулить всю свободную память и поставить страничные заглушки на границу, поведение будет полностью defined
а еще у тебя могут космические лучи выбивать байты из рамы. что еще придумаешь?
источник

EP

Egor Pugin in rust_offtopic
Т-34 85
вот ОС кинет такую инструкцию
хз, я обычно сигсегв вижу
источник

CD

Constantine Drozdov in rust_offtopic
Roman Proskuryakov
а еще у тебя могут космические лучи выбивать байты из рамы. что еще придумаешь?
так объясни мне, почему нельзя просто реализовать хипу вот ровно как твой двусвязный список?
источник

Т8

Т-34 85 in rust_offtopic
Egor Pugin
хз, я обычно сигсегв вижу
значит, никто 0 не разыменует
источник

r

red75prime in rust_offtopic
Т-34 85
ну вот поставят печать на документе, в котором есть уб
Да хоть и не поставят. Если в документации поведение не определено, то определение и без печати не появится
источник

Т8

Т-34 85 in rust_offtopic
red75prime
Да хоть и не поставят. Если в документации поведение не определено, то определение и без печати не появится
определение появится в компиляторе. И если это норм компилятор, то класть на стандарт вообще. Rust-rustc подтверждают
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
В случае с nullptr в unique не сможет
https://godbolt.org/z/8PWov1
Правда не может?
источник

Ct

Casual tears in rust_offtopic
Egor Pugin
это же про инструкции
что угодно может быть, включая sigill. См код выше.
источник

CD

Constantine Drozdov in rust_offtopic
Roman Proskuryakov
данные живут в vec, который проверяет индексы. поэтому use-after-free невозможнен.
а, наверное можно совершенно случайно сохранить индекс элемента vec в какой-нибудь структурке (указатель), потом элемент удалят из списка с формированием битого индекса, а потом аллокатор снова отдаст этот элемент, и никакие проверки указателей нас больше не спасут?
источник

r

red75prime in rust_offtopic
Т-34 85
определение появится в компиляторе. И если это норм компилятор, то класть на стандарт вообще. Rust-rustc подтверждают
Класть можно и на ISO
источник

Ct

Casual tears in rust_offtopic
Constantine Drozdov
указатели ведут в хипу, которая может нулить всю свободную память и поставить страничные заглушки на границу, поведение будет полностью defined
Теперь организуй по странице на каждую аллокацию и мы посмотрим что у тебя с перформансом станет
источник

Т8

Т-34 85 in rust_offtopic
red75prime
Класть можно и на ISO
так и кладём, это вы ноете "уу, по стандарту убэ..."
источник

CD

Constantine Drozdov in rust_offtopic
Casual tears
Теперь организуй по странице на каждую аллокацию и мы посмотрим что у тебя с перформансом станет
Зачем мне страница на каждую аллокацию? Я просто нулю всю память при деаллокации, поведение полностью определено
источник

EP

Egor Pugin in rust_offtopic
Casual tears
что угодно может быть, включая sigill. См код выше.
да, у шланга пошла мода уд2 вставлять, видел такое
источник

RP

Roman Proskuryakov in rust_offtopic
Constantine Drozdov
а, наверное можно совершенно случайно сохранить индекс элемента vec в какой-нибудь структурке (указатель), потом элемент удалят из списка с формированием битого индекса, а потом аллокатор снова отдаст этот элемент, и никакие проверки указателей нас больше не спасут?
очень похоже
источник

CD

Constantine Drozdov in rust_offtopic
Roman Proskuryakov
очень похоже
ну ты просто запишешь по индексу, когда это никто не ждал
источник

r

red75prime in rust_offtopic
Т-34 85
так и кладём, это вы ноете "уу, по стандарту убэ..."
а кто-то таки читает  документацию, а не завязывается на особенности версии компилятора
источник