I did not check if you ensure balanced choice of pivot.

But if you don't and you have O(n*n) worst case, you will get stackover flow in that case.