This happened at least once to me. I'm working on some part of the code base and find a small bug in a different part, and the bug stops me from completing what I'm currently trying to do. Fixing the bug could be as simple as changing a single statement.
What do you do in that situation?
- Fix the bug and commit it together with your current work
- Save your current work elsewhere, fix the bug in a separate commit, then continue your work 
- Continue what you're supposed to do, commit the code (even if it
breaks the buildfails some tests), then fix the bug (and the buildmake tests pass) in a separate commit
 In practice, this would mean: clone the original repository elsewhere, fix the bug, commit/push the changes, pull the commit to the repository you're working on, merge the changes, and continue your work.
Edit: I changed number three to reflect what I really meant.