Files
loongoffice/external/graphite/ubsan.patch
Stephan Bergmann 37b67904b2 external/graphite: work around -fsanitize=nonnull-attribute/vptr
Change-Id: Ic0766555dc7a04bbb8c7ad8f9cba3d74d84c59db
2015-06-29 12:26:16 +02:00

52 lines
1.3 KiB
Diff

--- src/Pass.cpp
+++ src/Pass.cpp
@@ -294,7 +294,7 @@
s->rules = begin;
s->rules_end = (end - begin <= FiniteStateMachine::MAX_RULES)? end :
begin + FiniteStateMachine::MAX_RULES;
- qsort(begin, end - begin, sizeof(RuleEntry), &cmpRuleEntry);
+ if (end != begin) qsort(begin, end - begin, sizeof(RuleEntry), &cmpRuleEntry);
}
return true;
--- src/gr_face.cpp
+++ src/gr_face.cpp
@@ -87,7 +87,7 @@
Face *res = new Face(appFaceHandle, *ops);
if (res && load_face(*res, faceOptions))
- return static_cast<gr_face *>(res);
+ return reinterpret_cast<gr_face *>(res);
delete res;
return 0;
@@ -195,7 +195,7 @@
void gr_face_destroy(gr_face *face)
{
- delete face;
+ delete static_cast<Face *>(face);
}
--- src/gr_font.cpp
+++ src/gr_font.cpp
@@ -50,7 +50,7 @@
if (face == 0) return 0;
Font * const res = new Font(ppm, *face, appFontHandle, font_ops);
- return static_cast<gr_font*>(res);
+ return reinterpret_cast<gr_font*>(res);
}
gr_font* gr_make_font_with_advance_fn(float ppm/*pixels per em*/, const void* appFontHandle/*non-NULL*/, gr_advance_fn getAdvance, const gr_face * face/*needed for scaling*/)
@@ -61,7 +61,7 @@
void gr_font_destroy(gr_font *font)
{
- delete font;
+ delete static_cast<Font *>(font);
}