Bug 693503: Fix leak/illegal memory write caused by stale pointer
Bug 693503: Fix leak/illegal memory write caused by stale pointer

When running a softmask, we remove the softmask from the gstate,
then run the group contents, then put the softmask back.

If the gstate stack is moved in the meantime (due to it being
realloced for extension), we can end up with it being moved.
We therefore must recalculate gstate before writing again.

Problem found in a test file, pdf_001/2599.pdf.asan.58.1778 supplied
by Mateusz "j00ru" Jurczyk and Gynvael Coldwind of the Google
Security Team using Address Sanitizer. Many thanks!

nqv/mupdf,kobolabs/mupdf,zeniko/mupdf,ccxvii/mupdf,geetakaur/NewApps,clchiou/mupdf,PuzzleFlow/mupdf,ccxvii/mupdf,PuzzleFlow/mupdf,issuestand/mupdf,nqv/mupdf,ccxvii/mupdf,lamemate/mupdf,loungeup/mupdf,nqv/mupdf,isavin/humblepdf,isavin/humblepdf,robamler/mupdf-nacl,PuzzleFlow/mupdf,knielsen/mupdf,wild0/opened_mupdf,FabriceSalvaire/mupdf-v1.3,flipstudio/MuPDF,cgogolin/penandpdf,issuestand/mupdf,clchiou/mupdf,flipstudio/MuPDF,flipstudio/MuPDF,fluks/mupdf-x11-bookmarks,ccxvii/mupdf,knielsen/mupdf,loungeup/mupdf,samturneruk/mupdf_secure_android,wzhsunn/mupdf,TamirEvan/mupdf,MokiMobility/muPDF,cgogolin/penandpdf,isavin/humblepdf,github201407/MuPDF,PuzzleFlow/mupdf,muennich/mupdf,PuzzleFlow/mupdf,andyhan/mupdf,FabriceSalvaire/mupdf-cmake,lustersir/MuPDF,FabriceSalvaire/mupdf-v1.3,andyhan/mupdf,crow-misia/mupdf,hxx0215/MuPDFMirror,poor-grad-student/mupdf,lustersir/MuPDF,xiangxw/mupdf,loungeup/mupdf,ylixir/mupdf,MokiMobility/muPDF,asbloomf/mupdf,kobolabs/mupdf,benoit-pierre/mupdf,wild0/opened_mupdf,ArtifexSoftware/mupdf,michaelcadilhac/pdfannot,issuestand/mupdf,wild0/opened_mupdf,knielsen/mupdf,tribals/mupdf,TamirEvan/mupdf,cgogolin/penandpdf,nqv/mupdf,zeniko/mupdf,fluks/mupdf-x11-bookmarks,hjiayz/forkmupdf,lustersir/MuPDF,tribals/mupdf,ziel/mupdf,ArtifexSoftware/mupdf,lamemate/mupdf,flipstudio/MuPDF,ylixir/mupdf,geetakaur/NewApps,crow-misia/mupdf,ccxvii/mupdf,ziel/mupdf,issuestand/mupdf,asbloomf/mupdf,fluks/mupdf-x11-bookmarks,michaelcadilhac/pdfannot,wzhsunn/mupdf,wild0/opened_mupdf,PuzzleFlow/mupdf,fluks/mupdf-x11-bookmarks,tophyr/mupdf,zeniko/mupdf,Kalp695/mupdf,andyhan/mupdf,michaelcadilhac/pdfannot,knielsen/mupdf,lolo32/mupdf-mirror,tophyr/mupdf,wild0/opened_mupdf,MokiMobility/muPDF,ArtifexSoftware/mupdf,tophyr/mupdf,derek-watson/mupdf,fluks/mupdf-x11-bookmarks,muennich/mupdf,tophyr/mupdf,hackqiang/mupdf,cgogolin/penandpdf,hackqiang/mupdf,lolo32/mupdf-mirror,kobolabs/mupdf,hxx0215/MuPDFMirror,flipstudio/MuPDF,sebras/mupdf,FabriceSalvaire/mupdf-v1.3,derek-watson/mupdf,ylixir/mupdf,tophyr/mupdf,michaelcadilhac/pdfannot,isavin/humblepdf,hackqiang/mupdf,ziel/mupdf,github201407/MuPDF,derek-watson/mupdf,seagullua/MuPDF,github201407/MuPDF,issuestand/mupdf,sebras/mupdf,ziel/mupdf,sebras/mupdf,hackqiang/mupdf,asbloomf/mupdf,Kalp695/mupdf,TamirEvan/mupdf,xiangxw/mupdf,tophyr/mupdf,andyhan/mupdf,zeniko/mupdf,hackqiang/mupdf,xiangxw/mupdf,hxx0215/MuPDFMirror,ArtifexSoftware/mupdf,lamemate/mupdf,MokiMobility/muPDF,crow-misia/mupdf,nqv/mupdf,ArtifexSoftware/mupdf,ylixir/mupdf,hjiayz/forkmupdf,benoit-pierre/mupdf,FabriceSalvaire/mupdf-cmake,lolo32/mupdf-mirror,andyhan/mupdf,wild0/opened_mupdf,ziel/mupdf,robamler/mupdf-nacl,derek-watson/mupdf,loungeup/mupdf,TamirEvan/mupdf,TamirEvan/mupdf,geetakaur/NewApps,geetakaur/NewApps,xiangxw/mupdf,PuzzleFlow/mupdf,lustersir/MuPDF,sebras/mupdf,seagullua/MuPDF,hxx0215/MuPDFMirror,crow-misia/mupdf,hjiayz/forkmupdf,TamirEvan/mupdf,poor-grad-student/mupdf,flipstudio/MuPDF,kobolabs/mupdf,FabriceSalvaire/mupdf-cmake,crow-misia/mupdf,FabriceSalvaire/mupdf-v1.3,cgogolin/penandpdf,samturneruk/mupdf_secure_android,samturneruk/mupdf_secure_android,hjiayz/forkmupdf,Kalp695/mupdf,FabriceSalvaire/mupdf-v1.3,nqv/mupdf,wzhsunn/mupdf,knielsen/mupdf,michaelcadilhac/pdfannot,ArtifexSoftware/mupdf,kobolabs/mupdf,seagullua/MuPDF,zeniko/mupdf,sebras/mupdf,hjiayz/forkmupdf,lolo32/mupdf-mirror,derek-watson/mupdf,robamler/mupdf-nacl,Kalp695/mupdf,benoit-pierre/mupdf,github201407/MuPDF,FabriceSalvaire/mupdf-cmake,andyhan/mupdf,isavin/humblepdf,benoit-pierre/mupdf,tribals/mupdf,lolo32/mupdf-mirror,fluks/mupdf-x11-bookmarks,cgogolin/penandpdf,samturneruk/mupdf_secure_android,lamemate/mupdf,robamler/mupdf-nacl,isavin/humblepdf,hackqiang/mupdf,poor-grad-student/mupdf,poor-grad-student/mupdf,MokiMobility/muPDF,ccxvii/mupdf,loungeup/mupdf,clchiou/mupdf,wzhsunn/mupdf,hxx0215/MuPDFMirror,wild0/opened_mupdf,samturneruk/mupdf_secure_android,fluks/mupdf-x11-bookmarks,muennich/mupdf,poor-grad-student/mupdf,kobolabs/mupdf,ziel/mupdf,lamemate/mupdf,hxx0215/MuPDFMirror,robamler/mupdf-nacl,geetakaur/NewApps,Kalp695/mupdf,asbloomf/mupdf,lolo32/mupdf-mirror,knielsen/mupdf,ArtifexSoftware/mupdf,clchiou/mupdf,ArtifexSoftware/mupdf,benoit-pierre/mupdf,ylixir/mupdf,samturneruk/mupdf_secure_android,TamirEvan/mupdf,isavin/humblepdf,github201407/MuPDF,derek-watson/mupdf,xiangxw/mupdf,lolo32/mupdf-mirror,tribals/mupdf,Kalp695/mupdf,zeniko/mupdf,tribals/mupdf,geetakaur/NewApps,github201407/MuPDF,ylixir/mupdf,FabriceSalvaire/mupdf-cmake,Kalp695/mupdf,crow-misia/mupdf,clchiou/mupdf,poor-grad-student/mupdf,seagullua/MuPDF,FabriceSalvaire/mupdf-cmake,seagullua/MuPDF,clchiou/mupdf,xiangxw/mupdf,asbloomf/mupdf,kobolabs/mupdf,MokiMobility/muPDF,tribals/mupdf,wzhsunn/mupdf,issuestand/mupdf,muennich/mupdf,seagullua/MuPDF,xiangxw/mupdf,loungeup/mupdf,muennich/mupdf,TamirEvan/mupdf,lamemate/mupdf,muennich/mupdf,sebras/mupdf,hjiayz/forkmupdf,lustersir/MuPDF,FabriceSalvaire/mupdf-v1.3,michaelcadilhac/pdfannot,robamler/mupdf-nacl,lustersir/MuPDF,wzhsunn/mupdf,benoit-pierre/mupdf,asbloomf/mupdf,muennich/mupdf