lib/hexapdf/parser.rb in hexapdf-0.15.5 vs lib/hexapdf/parser.rb in hexapdf-0.15.6
- old
+ new
@@ -123,14 +123,17 @@
object = nil
else
begin
object = @tokenizer.next_object
rescue MalformedPDFError
- # Handle often found invalid indirect object with missing whitespace after number
- maybe_raise("Invalid object value after 'obj'", pos: @tokenizer.pos,
- force: !(tok.kind_of?(Tokenizer::Token) && tok =~ /\A\d+endobj\z/))
- object = tok.to_i
- @tokenizer.pos -= 6
+ if tok.kind_of?(Tokenizer::Token) && tok =~ /\A\d+endobj\z/
+ # Handle often found invalid indirect object with missing whitespace after number
+ maybe_raise("Missing whitespace after number'", pos: @tokenizer.pos)
+ object = tok.to_i
+ @tokenizer.pos -= 6
+ else
+ maybe_raise("Invalid value after '#{oid} #{gen} obj', treating as null", pos: @tokenizer.pos)
+ end
end
end
tok = @tokenizer.next_token