History log of /frameworks/minikin/libs/minikin/SparseBitSet.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
73abbd59344770601991248cc56846cd199812b8 06-Jan-2016 Raph Levien <raph@google.com> Reject fonts with invalid ranges in cmap

A corrupt or malicious font may have a negative size in its cmap
range, which in turn could lead to memory corruption. This patch
detects the case and rejects the font, and also includes an assertion
in the sparse bit set implementation if we missed any such case.

External issue:
https://code.google.com/p/android/issues/detail?id=192618

Bug: 26413177
Change-Id: Icc0c80e4ef389abba0964495b89aa0fae3e9f4b2
/frameworks/minikin/libs/minikin/SparseBitSet.cpp
1bbe03d215c9452bc9917111e63f19160cc5f56a 12-Dec-2015 Dan Austin <danielaustin@google.com> Refactored unsigned long negations

Replaced two instances of negating an unsigned long, which was
resulting in aborts from unsigned integer sanitization with the
equivalent logical not-add 1.

Bug: 25884483
Change-Id: Ic7498e0af638dcd438ce69803021d3cdc3acd4f6
/frameworks/minikin/libs/minikin/SparseBitSet.cpp
329ae0639e332fa0ca85049f738776083b6dbafc 10-Jul-2014 Behdad Esfahbod <behdad@google.com> Use __builtin_clzl if element is long

Change-Id: I50a112739847fa826088854f6d172a188ff4cfb3
/frameworks/minikin/libs/minikin/SparseBitSet.cpp
9cc9bbe1461f359f0b27c5e7645c17dda001ab1d 24-Apr-2013 Raph Levien <raph@google.com> Initial commit of Minikin library

This is the initial draft of Minikin, a library intended to perform text
layout functions. This version does basic weight selection and font runs
for scripts, and also has a simple renderer for drawing into bitmaps,
but is lacking measurement, line breaking, and a number of other
important features. It also lacks caching and other performance
refinements.

Change-Id: I789a2e47d11d71202dc84b4751b51a5e2cd9c451
/frameworks/minikin/libs/minikin/SparseBitSet.cpp