#!/usr/bin/env ruby

if(ARGV.length == 0)
	$stderr.puts "usage: #{$0} *.eot"
	exit(1)
end

ARGV.each do |font|
	data = ""
	File.open(font, "rb") do |fd|
		data = fd.read(::File.size(font))
	end

	tag = "cmap"
	base = data.index(tag) + 8
	next if not base

	doff,dlen = data[base,8].unpack('NN')

	if(doff + dlen > 0xffffffff)
		puts "#{font} EXPLOITS CVE-2009-2514"
	end

end


