Bug 699695: Remember to end groups/softmasks even upon exception.
Bug 699695: Remember to end groups/softmasks even upon exception.

fz_fill_path() may throw an exception halfway through
pdf_show_path(), which in this case would not attempt to end any
begun groups or softmasks. This led to e.g. leaks of pixmaps held
by a group that was never ended.

Moving the cleanup to the always block is not foolproof because
the cleanup code itself may also throw exceptions, hence
preventing the end of the fz_always block from being executed.
This commit does put pdf_show_path() in the same situation as
pdf_run_xobject() that has the same problem with its cleanup
code.

Thanks to oss-fuzz for reporting.

TamirEvan/mupdf,TamirEvan/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,muennich/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,sebras/mupdf,fluks/mupdf-x11-bookmarks,ccxvii/mupdf,muennich/mupdf,fluks/mupdf-x11-bookmarks,sebras/mupdf,ArtifexSoftware/mupdf,muennich/mupdf,fluks/mupdf-x11-bookmarks,ArtifexSoftware/mupdf,fluks/mupdf-x11-bookmarks,TamirEvan/mupdf,muennich/mupdf,ccxvii/mupdf,fluks/mupdf-x11-bookmarks,sebras/mupdf,ccxvii/mupdf,TamirEvan/mupdf,ccxvii/mupdf,fluks/mupdf-x11-bookmarks,muennich/mupdf,muennich/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,sebras/mupdf,ccxvii/mupdf,muennich/mupdf,ArtifexSoftware/mupdf,TamirEvan/mupdf,fluks/mupdf-x11-bookmarks,ArtifexSoftware/mupdf,ArtifexSoftware/mupdf,ccxvii/mupdf,sebras/mupdf,sebras/mupdf