I think you played the hand fine. River is close between call or raise. I'd probably call given he overbet. If he bet normally, I might be tempted to shove.

Given his overbet, I would expect to see nut flush, boat or random air.