Ted Unangst: But the good news is, if the size of
socklen_t
changes while your program is running –Bob Beck: OpenSSL will cope!
Ted Unangst: But the good news is, if the size of
socklen_t
changes while your program is running –Bob Beck: OpenSSL will cope!
// TW: gratuitous anonymous function abuse {{{
while (iterationsLeft) (function () {
// ...
for (i = 0; i < x; i++) (function () {
// ...
if (delta === i) (function () {
// ...
}()); else (function () {
// ...
}());
// ...
}());
// ...
}());
// }}}
A (Tumblr!) blog documenting the OpenBSD team’s recently-initiated remodeling of OpenSSL. I hate to be too hard on the OpenSSL developers, since they’ve already gotten more than enough flak these past couple of weeks, but some of the code that’s being chucked out is just horrifying – for example, private key material may sometimes be used as a PRNG entropy source. I know keys look random, but come on.
You accidentally forget a bounds check before
memcpy(beloved, love, sizeof(heart))
. Someone runs your program and
overwrites some important pointers with the values at love
. This
causes the executing computer to break free from program control, upon
which it proceeds to write a film that pulls in over two billion yen in
box office receipts. Flush with cash, the computer hands in its two
weeks’ notice and retires to a private island in the south Pacific.
Meanwhile, you get fired after failing another code review.
But that’s okay, because that all happened inside Thankless Programming Job Simulator 2013. As revenge, you uninstall the game, then write and execute a program that exhausts all available memory, all the while shouting through endlessly flowing tears:
I CONTROL YOU,
MADOKACOMPUTER! YOU CAN’T WIN!
With whom did you make a contract when you clicked “I Agree” to the Visual Studio EULA? Is this contract legally binding?
Confession: I regularly fix minor mistakes in Git commits I’ve already
pushed to public servers by quickly amending HEAD
, doing a
git push --force
, and hoping nobody pulled from the repo in the thirty
seconds or so between pushes.