It’s mostly because C is notorious for not holding your hand and not telling you when you mess up. Write one past the array’s length? Might do nothing, might crash, might mess up some other data, might crash later in somewhere completely different.
Or in some cases might crash 8.5 million computers worldwide.
Yes the Crowdstrike crash was caused by going 1 past an array length, caused by a magic number index and a regex mistake, and wasn’t caught because the tests didn’t work.
The whole thing was a compound series of amateur mistakes, but with kernel access at boot time.
It’s mostly because C is notorious for not holding your hand and not telling you when you mess up. Write one past the array’s length? Might do nothing, might crash, might mess up some other data, might crash later in somewhere completely different.
Or in some cases might crash 8.5 million computers worldwide.
Yes the Crowdstrike crash was caused by going 1 past an array length, caused by a magic number index and a regex mistake, and wasn’t caught because the tests didn’t work.
The whole thing was a compound series of amateur mistakes, but with kernel access at boot time.
I spent 30 minutes looking over my code because I forgot a semicolon after defining an integer :(