Out of memory conditions happen, but what can you do about it? Nothing, abort() your application. What do the so-called memory-safe languages do? They abort(). No, seriously, that pretty much sums it up. I love short blog posts.
I think there is always room for improvement in the C language itself. It needs to be modernized up to the level of some other languages. Most of these revolve around helping developers write better, more readable, and more debuggable code.