/explore

Click through on any links that interest you or select the planets on the right to continue exploring the Outer Web.
You are here

words.filippo.io
| | hypothesis.works

The Encode/Decode invariant One of the simplest types of invariant to find once you move past just fuzzing your code is asserting that two different operations should produce the same result, and one of the simplest instances of that is looking for encode/decode pairs. That is, you have some function that takes a value and encodes it as another value, and another that is supposed to reverse the process. This is ripe for testing with Hypothesis because it has a natural completely defined specification: Encoding and then decoding should be exactly the same as doing nothing. Lets look at a concrete example. Test faster, fix more
4.8 parsecs

Travel
| |
| | guidovranken.com

Larry Stefonic of wolfSSL contacted me after he'd noticed my project for fuzzing cryptographic libraries called Cryptofuzz. We agreed that I would write a Cryptofuzz module for wolfSSL. I activated the wolfSSL module for Cryptofuzz on Google's OSS-Fuzz, where it has been running 24/7 since. So far, Cryptofuzz has found a total of 8 bugs...
4.7 parsecs

Travel
| |
| | www.openssl.org

Today we published an advisory about CVE-2022-3786 (X.509 Email Address Variable Length Buffer Overflow) and CVE-2022-3602 (X.509 Email Address 4-
2.4 parsecs

Travel
| |
| | www.integralist.co.uk

I found myself recently trying to recall specific details of how slices work when needing to do something that meant I wanted to not mutate the underlying array data structure of the slice I was working with. Now the reason for why I wanted to do that isn't important. What's motivating this write-up is my want for a good reference document (not saying the official go blog isn't a good reference, but I have my own things I like to focus in on in these situations).
41.0 parsecs

Travel
|