Bug 693503: Fix SEGV in pdf_function.
Bug 693503: Fix SEGV in pdf_function.

The pdf function code only expects a maximum of FZ_MAX_COLORS
component functions in a sampling function; more functions than
this causes a buffer overflow. Add some checks to avoid this.

Problem found in 1219.pdf.SIGSEGV.fc0.246, a test file supplied by
Mateusz "j00ru" Jurczyk and Gynvael Coldwind of the Google Security
Team using Address Sanitizer. Many thanks!

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