Никто:
Антон: забывает, что ему теперь переводят зарплату на карту другого банка
Антон: забывает, что ему теперь переводят зарплату на карту другого банка
❤3😁2
#rust
Хорошее дополнение к документации макроса
github.com/rust-lang/rust/pull/106453
Хорошее дополнение к документации макроса
include!
. Это не замена модулям.github.com/rust-lang/rust/pull/106453
GitHub
Improve include macro documentation by coastalwhite · Pull Request #106453 · rust-lang/rust
As outlined in #106118, the include! macro is a SEO problem when it comes to the Rust documentation. Beginners may see it as a replacement to include syntax in other languages. I feel like this doc...
#prog #rust
Esteban Kuber продолжает улучшать диагностики парсера rustc. Теперь парсер ещё и восстанавливается от маркеров конфликта слияния.
github.com/rust-lang/rust/pull/106242
Esteban Kuber продолжает улучшать диагностики парсера rustc. Теперь парсер ещё и восстанавливается от маркеров конфликта слияния.
github.com/rust-lang/rust/pull/106242
GitHub
Detect diff markers in the parser by estebank · Pull Request #106242 · rust-lang/rust
Partly address #32059.
🔥7👍2
#prog #rust
Я просто оставлю это здесь (btw это Вафель сделал)
github.com/rust-lang/rust-analyzer/pull/13857
Я просто оставлю это здесь (btw это Вафель сделал)
github.com/rust-lang/rust-analyzer/pull/13857
GitHub
feat: Implement yeeting by WaffleLapkin · Pull Request #13857 · rust-lang/rust-analyzer
See tracking issue: rust-lang/rust#96373
Before:
After:
Before:
After:
❤2👍1
#prog #rust #itsec
Watch out for DoS when using Rust’s popular Hyper package
TL;DR: функция hyper::body::to_bytes выделяет память под запрос целиком, и попытка выделить большой объём памяти вызывает ошибку аллокации и, как следствие, прерывание работы программы. При этом для эксплуатации такого поведения не обязательно реально генерировать громадное содержимое запроса — достаточно сделать chunked запрос и передать один чанк, который не передаёт содержимое целиком. to_bytes в этом случае выделяет память, ориентируясь на значение
Справедливости ради, про опасность потребления произвольного количества памяти в документации указано. С другой стороны, тот факт, что для эксплуатации этого поведения не обязательно реального генерировать большой запрос — не столь очевиден.
Watch out for DoS when using Rust’s popular Hyper package
TL;DR: функция hyper::body::to_bytes выделяет память под запрос целиком, и попытка выделить большой объём памяти вызывает ошибку аллокации и, как следствие, прерывание работы программы. При этом для эксплуатации такого поведения не обязательно реально генерировать громадное содержимое запроса — достаточно сделать chunked запрос и передать один чанк, который не передаёт содержимое целиком. to_bytes в этом случае выделяет память, ориентируясь на значение
Content-Length
, которое, разумеется, может быть крайне большим.Справедливости ради, про опасность потребления произвольного количества памяти в документации указано. С другой стороны, тот факт, что для эксплуатации этого поведения не обязательно реального генерировать большой запрос — не столь очевиден.
JFrog
Potential DoS Vulnerability in Rust Hyper
⚡ATTENTION⚡ Devs that rely on hyper-rust: your own code should include limitations for HTTP Body size - Hyper library does not restrict by default. Find out more…
👍6