Holy crap you're right.
This is like in Java, where you mean to override a method in a superclass but mis-spell the name of the method and therefore instead end up simply adding a new method with the mis-spelled name.
I guess either Solidity doesn't have something like Java 1.5+'s @Override, or else it just wasn't used.
In any case it's hard to believe this was accidental. Of all the places you could make this mistake, most of the others wouldn't result in a massive exploit like this.