Make XRef_indexObjects even more robust against bad PDF files, by checking for the existence of 'trailer' if 'xref' is not found
				
					
				
			Fixes http://www.cyjack.com/cognition/Terence%20McKenna%20-%20Lectures%20on%20Alchemy.pdf.
This commit is contained in:
		
							parent
							
								
									1bdfc47de8
								
							
						
					
					
						commit
						192907e0d2
					
				| @ -1118,6 +1118,10 @@ var XRef = (function XRefClosure() { | ||||
|           } | ||||
| 
 | ||||
|           position += contentLength; | ||||
|         } else if (token.indexOf('trailer') === 0 && | ||||
|                    (token.length === 7 || /\s/.test(token[7]))) { | ||||
|           trailers.push(position); | ||||
|           position += skipUntil(buffer, position, startxrefBytes); | ||||
|         } else { | ||||
|           position += token.length + 1; | ||||
|         } | ||||
|  | ||||
							
								
								
									
										1
									
								
								test/pdfs/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								test/pdfs/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -4,6 +4,7 @@ | ||||
| !tracemonkey.pdf | ||||
| !franz.pdf | ||||
| !franz_2.pdf | ||||
| !xref_command_missing.pdf | ||||
| !issue2391-1.pdf | ||||
| !issue2391-2.pdf | ||||
| !issue5801.pdf | ||||
|  | ||||
							
								
								
									
										66
									
								
								test/pdfs/xref_command_missing.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								test/pdfs/xref_command_missing.pdf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,66 @@ | ||||
| %PDF-1.7 | ||||
| %âãÏÓ | ||||
| 1 0 obj  | ||||
| << | ||||
| /Pages 2 0 R | ||||
| /Type /Catalog | ||||
| >> | ||||
| endobj  | ||||
| 2 0 obj  | ||||
| << | ||||
| /Kids [3 0 R] | ||||
| /Type /Pages | ||||
| /Count 1 | ||||
| >> | ||||
| endobj  | ||||
| 3 0 obj  | ||||
| << | ||||
| /Parent 2 0 R | ||||
| /Resources  | ||||
| << | ||||
| /Font  | ||||
| << | ||||
| /F1 4 0 R | ||||
| >> | ||||
| >> | ||||
| /MediaBox [0 0 200 50] | ||||
| /Type /Page | ||||
| /Contents 5 0 R | ||||
| >> | ||||
| endobj  | ||||
| 4 0 obj  | ||||
| << | ||||
| /BaseFont /Times-Roman | ||||
| /Subtype /Type1 | ||||
| /Type /Font | ||||
| /Encoding /WinAnsiEncoding | ||||
| >> | ||||
| endobj  | ||||
| 5 0 obj  | ||||
| << | ||||
| /Length 48 | ||||
| >> | ||||
| stream | ||||
| BT | ||||
| 10 20 TD | ||||
| /F1 20 Tf | ||||
| (Reduced test-case) Tj | ||||
| ET | ||||
| 
 | ||||
| endstream  | ||||
| endobj  | ||||
| 0000000000 65535 f  | ||||
| 0000000015 00000 n  | ||||
| 0000000066 00000 n  | ||||
| 0000000125 00000 n  | ||||
| 0000000254 00000 n  | ||||
| 0000000355 00000 n  | ||||
| trailer | ||||
| 
 | ||||
| << | ||||
| /Root 1 0 R | ||||
| /Size 6 | ||||
| >> | ||||
| startxref | ||||
| 455 | ||||
| %%EOF | ||||
| @ -572,6 +572,13 @@ | ||||
|        "link": false, | ||||
|        "type": "eq" | ||||
|     }, | ||||
|     {  "id": "xref_command_missing", | ||||
|        "file": "pdfs/xref_command_missing.pdf", | ||||
|        "md5": "06cdb0f13cfeff41d6bfb24b7bbe1268", | ||||
|        "rounds": 1, | ||||
|        "link": false, | ||||
|        "type": "load" | ||||
|     }, | ||||
|     {  "id": "issue5501", | ||||
|        "file": "pdfs/issue5501.pdf", | ||||
|        "md5": "55a60699728fc92f491a2d7d490474e4", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user