#prog #cpp #article
(Not) detecting bugs
The following code contains a bug. A developer has spent quite some time looking for the source. The intent of this code is to iterate over two vectors simultaneously, from the first up to the one-before-last element. Thus the most interesting tools that will be employed will be
I have simplified the program to the minimum. I am using GCC 5.3. This code compiles fine, but when I run it, it goes on and on. In this post we will see where the bug is, but more importantly, we will look at why this bug has not been detected during the compilation, and wasted a fair deal of the developer’s time.
(Not) detecting bugs
The following code contains a bug. A developer has spent quite some time looking for the source. The intent of this code is to iterate over two vectors simultaneously, from the first up to the one-before-last element. Thus the most interesting tools that will be employed will be
boost::zip_iterator
and std::prev
. <...>I have simplified the program to the minimum. I am using GCC 5.3. This code compiles fine, but when I run it, it goes on and on. In this post we will see where the bug is, but more importantly, we will look at why this bug has not been detected during the compilation, and wasted a fair deal of the developer’s time.
Andrzej's C++ blog
(Not) detecting bugs
The following code contains a bug. A developer has spent quite some time looking for the source. The intent of this code is to iterate over two vectors simultaneously, from the first up to the one-…
🤯3👍1
Forwarded from Архонт щітпосту | #укртґ
Я думал, это Панорама. На канале Пятница будет шоу "Отсидевшая в 16"
🥰3🤯3👎1
Как же хочется...
Anonymous Poll
16%
...Тяночку
7%
...GAT-очку
10%
...Питсу
12%
...Поспать
55%
...Прекращения войны в Украине
#prog #rust
cargo-nono — инструмент для поиска зависимостей (и их фичей), которые не дают собрать проект в
cargo-nono — инструмент для поиска зависимостей (и их фичей), которые не дают собрать проект в
#![no_std]
Lib.rs
cargo-nono — Cargo add-on
Detect (possible) no_std compatibility of your crate and dependencies
👍6
#prog #article
Generate All the Things
In this post, we’ll look at one technique from property-based testing repertoire: full coverage / exhaustive testing. Specifically, we will learn how to conveniently enumerate any kind of combinatorial object without using recursion.
Generate All the Things
In this post, we’ll look at one technique from property-based testing repertoire: full coverage / exhaustive testing. Specifically, we will learn how to conveniently enumerate any kind of combinatorial object without using recursion.
matklad.github.io
Generate All the Things
In this post, we'll look at one technique from property-based testing repertoire: full coverage / exhaustive testing.
Specifically, we will learn how to conveniently enumerate any kind of combinatorial object without using recursion.
Specifically, we will learn how to conveniently enumerate any kind of combinatorial object without using recursion.
❤2
Любишь кататься? Ну вот и хорошо, у тебя нету обязанности любить что-то ещё
👍16👎12🤔1
#prog #cpp #article
Retrofitting Temporal Memory Safety on C++
(thanks @skucherenko)
Статья об опыте использования в Chrome двух механизмов для предотвращения UAF. Первый — карантин, в который помещается удалённая память и из которого она удаляется лишь тогда, когда становится известно, что на неё больше нет указателей. Второй — теггирование указателей на уровне процессора.
Retrofitting Temporal Memory Safety on C++
(thanks @skucherenko)
Статья об опыте использования в Chrome двух механизмов для предотвращения UAF. Первый — карантин, в который помещается удалённая память и из которого она удаляется лишь тогда, когда становится известно, что на неё больше нет указателей. Второй — теггирование указателей на уровне процессора.
Google Online Security Blog
Retrofitting Temporal Memory Safety on C++
Posted by Anton Bikineev, Michael Lippautz and Hannes Payer, Chrome security team Memory safety in Chrome is an ever-ongoing effort to prot...