Contrast this level of insanity to a proposed standard of “developers should be liable for the damage caused by their negligent code”.
Just, wow.
It's not really niche - I'd say it's an average popularity library and likely used by a bunch of internal projects.
The libssh server code, on the other hand, is pretty niche.
Just because it has that name dosen't make it some kind of official SSH library that tons of software uses.
To be fair, at this point I would rather see developers not writing code; rather than writing buggy one.
I had a friend on FB who's just completed a security course and wrote a password generator in Go. The random was seeded from a current date in nanoseconds. The issue is that while no one will probably ever reverse his passwords, but the guy open-sourced his script. How many people will be influenced by that piece of code?
Lawyers have that: if you can't be liable - you're not a lawyer. GTFO.
We need to find out who is teaching this stupidity and make them stop.
While the brain cells of the C programmers are busy handling errors, managing memory, and avoiding buffer overflow, they forget about sound software engineering rules and proper design. While the code of libssh looks cleaner than eg. FreeBSD, there are still quite a number of functions that are bigger than a screen height.
"Whoopsies, I forgot to ban some state transitions" won't happen if all you're writing is a state machine spec, and not a state machine spec and its ad-hoc implementation.
Don't roll your own crypto? Extend it to "don't roll your own low-level constructs".
Same bug in python ssh library.
You seem to be a very smart guy; will making my font smaller so my functions are shorter improve my code?