• Stephan Bergmann's avatar
    external/graphite: Avoid -fsanitize=pointer-overflow · 681b4a49
    Stephan Bergmann yazdı
    ...that was recently introduced into Clang trunk with
    <https://reviews.llvm.org/D33305> "[ubsan] Add a check for pointer overflow UB".
    
    Here, _code is of type instr*, dist is of type ptrdiff_t, and sizeof(instr) is
    something like 8.  My first impulse was to cast the result of the division (done
    with arguments promoted to size_t) back to ptrdiff_t, but that wouldn't help:
    When dist is a relatively small negative number (like
    -3293184), the division expression will promote it to a large unsigned (size_t)
    value (like 0xFFFF'FFFF'FFCD'C000), but the result (in our case,
    0x1FFF'FFFF'FFF9'B800) would be small enough to fit into ptrdiff_t as a positive
    value.  So assume that sizeof(instr) fits into int and ensure the division is
    done on signed values.
    
    (At least CppunitTest_sc_subsequent_filters_test started to fail with
    "workdir/UnpackedTarball/graphite/src/inc/Code.h:165:15: runtime error: pointer
    index expression with base 0x7fb90a3b4df0 overflowed to 0x7fb90a0a0df0".)
    
    Change-Id: Ie6698e38d6abec80f2fa817c42ebf20618496109
    681b4a49
Adı
Son kayıt (commit)
Son güncelleme
..
apache-commons Loading commit data...
apr Loading commit data...
beanshell Loading commit data...
bluez_bluetooth Loading commit data...
boost Loading commit data...
breakpad Loading commit data...
bzip2 Loading commit data...
cairo Loading commit data...
clew Loading commit data...
clucene Loading commit data...
coinmp Loading commit data...
collada2gltf Loading commit data...
cppunit Loading commit data...
ct2n Loading commit data...
curl Loading commit data...
epm Loading commit data...
epoxy Loading commit data...
expat Loading commit data...
firebird Loading commit data...
fontconfig Loading commit data...
freetype Loading commit data...
glm Loading commit data...
gpgme Loading commit data...
graphite Loading commit data...
harfbuzz Loading commit data...
hsqldb Loading commit data...
hunspell Loading commit data...
hyphen Loading commit data...
icu Loading commit data...
jfreereport Loading commit data...
jpeg-turbo Loading commit data...
languagetool Loading commit data...
lcms2 Loading commit data...
libabw Loading commit data...
libassuan Loading commit data...
libatomic_ops Loading commit data...
libcdr Loading commit data...
libcmis Loading commit data...
libebook Loading commit data...
libeot Loading commit data...
libetonyek Loading commit data...
libexttextcat Loading commit data...
libfreehand Loading commit data...
libgltf Loading commit data...
libgpg-error Loading commit data...
liblangtag Loading commit data...
libmariadb Loading commit data...
libmspub Loading commit data...
libmwaw Loading commit data...
libodfgen Loading commit data...
liborcus Loading commit data...
libpagemaker Loading commit data...
libpng Loading commit data...
librevenge Loading commit data...
libstaroffice Loading commit data...
libtommath Loading commit data...
libvisio Loading commit data...
libwpd Loading commit data...
libwpg Loading commit data...
libwps Loading commit data...
libxml2 Loading commit data...
libxmlsec Loading commit data...
libxslt Loading commit data...
libzmf Loading commit data...
lpsolve Loading commit data...
mdds Loading commit data...
mdnsresponder Loading commit data...
misc_extensions Loading commit data...
more_fonts Loading commit data...
msc-externals Loading commit data...
mysqlcppconn Loading commit data...
mythes Loading commit data...
neon Loading commit data...
nss Loading commit data...
opencollada Loading commit data...
openldap Loading commit data...
openssl Loading commit data...
owncloud-android-lib Loading commit data...
pdfium Loading commit data...
poppler Loading commit data...
postgresql Loading commit data...
python3 Loading commit data...
redland Loading commit data...
rhino Loading commit data...
sane Loading commit data...
serf Loading commit data...
twain Loading commit data...
ucpp Loading commit data...
unixODBC Loading commit data...
xsltml Loading commit data...
zlib Loading commit data...
Makefile Loading commit data...
Module_external.mk Loading commit data...
README Loading commit data...