Yes, assuming you reuse existing points, each clip can only increase the polygon count by one, which occurs when only one point lies on the other side of the plane.
Make sure you clip points in an order where opposite planes are done consecutively. E.g. near, far, left, right, top, bottom
I actually use a technique for clipping that I can't recall where I read about it, as it was many years ago. Basically it uses an array but appends a new copy of the resulting verticies each time it clips to a plane. It's in the same buffer, just after the previous point sequence. Crossing either way over the plane appends a new point, while inside each point is copied, and while outside each point is not copied to the new sequence. This buffer is only local to the clipping code. The original buffer need only hold 3 points, and the output buffer need only hold up to 9 points. It avoids the O(n*n) insertion of points and avoids slow linked lists too. Thus my internal clipping buffer holds up to about 80 points, but that's just cause I use it for clipping quads too.