News for hackers. Stuff that matters.
Re:Essential C (2003) [pdf] by vardump on Sunday December 30, 2018 @09:02PM (#18792568)
> People who have never gotten into the C world find it frightening...

I got into C over 25 years ago. Didn't find it frightening back then, but I sure do now.

Still use it pretty often for firmware and kernel driver development, but I want to replace it with something safer. Then again, I also use assembler for same reasons... sometimes C just doesn't cut it for interrupt handlers when every cycle and/or code byte size counts.

Re:Essential C (2003) [pdf] by freedomben on Monday December 31, 2018 @12:29PM (#18795641)
> Didn't find it frightening back then, but I sure do now.

Why is that? Security related stuff?

Re:Essential C (2003) [pdf] by vardump on Monday December 31, 2018 @04:05PM (#18797024)
Yup. Things are increasingly connected to network. Including legacy codebases.

Also when you have larger teams and more people touching the code, C can really shoot at your feet and elsewhere. From new and surprising angles.

Re:Essential C (2003) [pdf] by freedomben on Monday December 31, 2018 @06:47PM (#18797888)
No doubt. It's amazing too how some code that was never expected to be exposed to untrusted/unsanitized data gets re-factored into a new spot or called from somewhere else, and fails to provide sanitation expecting that the callee will do it, or simply forgetting altogether (easy when under pressure to deliver). I coded a pretty bad security hole myself once by doing something like that, and I am a security specialist that knows what to look for lol!

I love C, but it really is a security nightmare full of footguns.

Re:Essential C (2003) [pdf] by vectorEQ on Monday December 31, 2018 @06:11AM (#18794050)
> Still use it pretty often for firmware and kernel driver development, but I want to replace it with something safer. Then again, I also use assembler for same reasons... sometimes C just doesn't cut it for interrupt handlers when every cycle and/or code byte size counts.

That's what you have ASM for :D j/k