Depending on how many squares you counted it as it might not matter. If you had two squares left and went from
*snip*
Then it would be okay, because you could have moved the B(badguy) around the F(fighter) diagonally. If there was no where to go but through the fighter(like in a one square wide hallway), then yes you have to stop. Also, if you only had one more square of push (thus putting him next to or on the fighter) he has to stop in a legal square, not get bounced to a farther away legal square.
Edit: Technically you can't move people vertically, but if it comes to the same end (no extra conditions or extra movement) I'd be fine with it being described that way.