Fail blob creation if length overflows or is too large
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 19 Dec 2014 02:22:21 +0000 (18:22 -0800)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 19 Dec 2014 02:22:21 +0000 (18:22 -0800)
commit7d5e7613ced3dd39d05df83ca7e8952cbecd68f6
tree6c083dc673ed3614d1e9732b64d6b42c8327328d
parentd5a5052098b0aa79ff55c235e61a9db477c4120f
Fail blob creation if length overflows or is too large

Fail if blob start plus length overflows; or if blob length
is greater than 2GB.  It takes a while for fonts to get to that
size.  In the mean time, it protects against bugs like this:

  http://www.icu-project.org/trac/ticket/11450

Also avoids some weird issues with 32bit vs 64bit systems
as we accept length as unsigned int.  As such, a length of
-1 will cause overflow on 32bit machines, but happily
accepted on a 64bit machine.  Avoid that.
src/hb-blob.cc
test/api/test-blob.c