You are absolutely right, but it appears that you didn't read to the end, stopping at the broken implementation that the author says is broken.
But you're right, and it does put the entire article in question. I'm tempted to use this as an interview question:
There's a bug in this code - can you find it? Talk to me about why this is a bad thing to do? How can we fix it? What's the most important thing to be thinking about?
I was also interested to read the follow-up linked to from the bottom of the article, but that's a 404.