external/cairo/pixman/pixman-ubsan.patch |    9 +++++++++
 1 file changed, 9 insertions(+)

New commits:
commit f7371ed8c19be57a9dac02d143151556eaab523a
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Mon Oct 16 10:26:11 2023 +0200
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Mon Oct 16 14:08:05 2023 +0200

    Silence UBSan misaligned-pointer-use
    
    ...as seen during CppunitTest_sd_import_tests2,
    
    > pixman-sse2.c:522:16: runtime error: load of misaligned address 
0x5170000a4f83 for type 'const uint32_t *' (aka 'const unsigned int *'), which 
requires 4 byte alignment
    > 0x5170000a4f83: note: pointer points here
    >  00  b8 ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff 
c0 00  b8 ff ff ff ff ff ff
    >               ^
    >  #0 in combine1 at 
workdir/UnpackedTarball/pixman/pixman/pixman-sse2.c:522:5
    >  #1 in sse2_combine_add_u at 
workdir/UnpackedTarball/pixman/pixman/pixman-sse2.c:1366:6
    >  #2 in sse2_composite_add_8_8 at 
workdir/UnpackedTarball/pixman/pixman/pixman-sse2.c:4490:2
    >  #3 in add_glyphs at 
workdir/UnpackedTarball/pixman/pixman/pixman-glyph.c:615:6
    >  #4 in pixman_composite_glyphs at 
workdir/UnpackedTarball/pixman/pixman/pixman-glyph.c:673:5
    >  #5 in composite_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-image-compositor.c:941:2
    >  #6 in composite_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-traps-compositor.c:2295:12
    >  #7 in clip_and_composite at 
workdir/UnpackedTarball/cairo/src/cairo-traps-compositor.c:1049:15
    >  #8 in _cairo_traps_compositor_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-traps-compositor.c:2331:11
    >  #9 in _cairo_compositor_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-compositor.c:292:11
    >  #10 in _cairo_image_surface_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
    >  #11 in _cairo_surface_show_text_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
    >  #12 in _cairo_gstate_show_text_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
    >  #13 in _cairo_default_context_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
    >  #14 in cairo_show_glyphs at 
workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
    >  #15 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, 
SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:476:9
    >  #16 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at 
vcl/headless/svptext.cxx:72:23
    >  #17 in GenericSalLayout::DrawText(SalGraphics&) const at 
vcl/source/gdi/CommonSalLayout.cxx:171:18
    >  #18 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at 
vcl/source/outdev/text.cxx:331:16
    >  #19 in OutputDevice::ImplDrawText(SalLayout&) at 
vcl/source/outdev/text.cxx:482:9
    >  #20 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, 
KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, 
int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:951:9
    >  #21 in 
drawinglayer::processor2d::VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(drawinglayer::primitive2d::TextSimplePortionPrimitive2D
 const&) at drawinglayer/source/processor2d/vclprocessor2d.cxx:422:33
    >  #22 in 
drawinglayer::processor2d::VclPixelProcessor2D::processTextSimplePortionPrimitive2D(drawinglayer::primitive2d::TextSimplePortionPrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:404:9
    >  #23 in 
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:200:13
    >  #24 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21
    >  #25 in 
drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13
    >  #26 in 
drawinglayer::primitive2d::GroupPrimitive2D::getChildren(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&)
 const at include/drawinglayer/primitive2d/groupprimitive2d.hxx:76:90
    >  #27 in 
drawinglayer::primitive2d::GroupPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&,
 drawinglayer::geometry::ViewInformation2D const&) const at 
drawinglayer/source/primitive2d/groupprimitive2d.cxx:53:13
    >  #28 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
    >  #29 in 
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13
    >  #30 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21
    >  #31 in 
drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13
    >  #32 in 
drawinglayer::primitive2d::GroupPrimitive2D::getChildren(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&)
 const at include/drawinglayer/primitive2d/groupprimitive2d.hxx:76:90
    >  #33 in 
drawinglayer::primitive2d::GroupPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&,
 drawinglayer::geometry::ViewInformation2D const&) const at 
drawinglayer/source/primitive2d/groupprimitive2d.cxx:53:13
    >  #34 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
    >  #35 in 
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13
    >  #36 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21
    >  #37 in 
drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13
    >  #38 in 
drawinglayer::primitive2d::GroupPrimitive2D::getChildren(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&)
 const at include/drawinglayer/primitive2d/groupprimitive2d.hxx:76:90
    >  #39 in 
drawinglayer::primitive2d::GroupPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&,
 drawinglayer::geometry::ViewInformation2D const&) const at 
drawinglayer/source/primitive2d/groupprimitive2d.cxx:53:13
    >  #40 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
    >  #41 in 
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13
    >  #42 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21
    >  #43 in 
drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13
    >  #44 in 
drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&,
 drawinglayer::geometry::ViewInformation2D const&) const at 
drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx:41:14
    >  #45 in 
drawinglayer::primitive2d::SdrTextPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&,
 drawinglayer::geometry::ViewInformation2D const&) const at 
svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx:235:47
    >  #46 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
    >  #47 in 
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13
    >  #48 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21
    >  #49 in 
drawinglayer::processor2d::BaseProcessor2D::visit(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:56:13
    >  #50 in 
drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&,
 drawinglayer::geometry::ViewInformation2D const&) const at 
drawinglayer/source/primitive2d/BufferedDecompositionPrimitive2D.cxx:41:14
    >  #51 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
    >  #52 in 
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D
 const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:378:13
    >  #53 in 
drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer
 const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:68:21
    >  #54 in 
sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&)
 at svx/source/sdr/contact/objectcontactofpageview.cxx:279:31
    >  #55 in 
sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&)
 at svx/source/sdr/contact/objectcontactofpageview.cxx:117:21
    >  #56 in 
SdrPageWindow::RedrawAll(sdr::contact::ViewObjectContactRedirector*) at 
svx/source/svdraw/sdrpagewindow.cxx:354:28
    >  #57 in SdrPageView::CompleteRedraw(SdrPaintWindow&, vcl::Region const&, 
sdr::contact::ViewObjectContactRedirector*) at 
svx/source/svdraw/svdpagv.cxx:239:18
    >  #58 in SdrPaintView::DoCompleteRedraw(SdrPaintWindow&, vcl::Region 
const&, sdr::contact::ViewObjectContactRedirector*) at 
svx/source/svdraw/svdpntv.cxx:610:21
    >  #59 in SdrPaintView::CompleteRedraw(OutputDevice*, vcl::Region const&, 
sdr::contact::ViewObjectContactRedirector*) at 
svx/source/svdraw/svdpntv.cxx:523:5
    >  #60 in sd::View::CompleteRedraw(OutputDevice*, vcl::Region const&, 
sdr::contact::ViewObjectContactRedirector*) at 
sd/source/ui/view/sdview.cxx:498:17
    >  #61 in sd::DrawView::CompleteRedraw(OutputDevice*, vcl::Region const&, 
sdr::contact::ViewObjectContactRedirector*) at 
sd/source/ui/view/drawview.cxx:517:17
    >  #62 in sd::DrawDocShell::Draw(OutputDevice*, JobSetup const&, unsigned 
short, bool) at sd/source/ui/docshell/docshel2.cxx:112:12
    >  #63 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction 
const&, Fraction const&, JobSetup const&, unsigned short, bool) at 
sfx2/source/doc/objembed.cxx:204:5
    >  #64 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, 
JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
    >  #65 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, 
GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:197:40
    >  #66 in SfxObjectShell::GetPreviewBitmap() const at 
sfx2/source/doc/objcont.cxx:109:9
    >  #67 in SfxObjectShell::WriteThumbnail(bool, 
com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at 
sfx2/source/doc/objstor.cxx:3738:31
    >  #68 in SfxObjectShell::GenerateAndStoreThumbnail(bool, 
com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at 
sfx2/source/doc/objstor.cxx:3696:33
    >  #69 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at 
sfx2/source/doc/objstor.cxx:1469:19
    >  #70 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, 
rtl::OUString const&, SfxItemSet const&, 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at 
sfx2/source/doc/objstor.cxx:2992:39
    >  #71 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, 
rtl::OUString const&, SfxItemSet&, 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at 
sfx2/source/doc/objstor.cxx:2782:9
    >  #72 in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, 
std::char_traits<char16_t>>, SfxItemSet&, 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at 
sfx2/source/doc/objserv.cxx:319:19
    >  #73 in SfxBaseModel::impl_store(rtl::OUString const&, 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, 
bool) at sfx2/source/doc/sfxbasemodel.cxx:3191:42
    >  #74 in SfxBaseModel::storeToURL(rtl::OUString const&, 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at 
sfx2/source/doc/sfxbasemodel.cxx:1801:13
    >  #75 in 
UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>
 const&) at test/source/unoapi_test.cxx:213:16
    >  #76 in UnoApiTest::save(rtl::OUString const&, char const*) at 
test/source/unoapi_test.cxx:178:5
    >  #77 in UnoApiTest::saveAndReload(rtl::OUString const&, char const*) at 
test/source/unoapi_test.cxx:218:5
    >  #78 in testOverflowBehaviorClip::TestBody() at 
sd/qa/unit/import-tests2.cxx:1899:5
    
    Change-Id: Iea3e107608137c4dec9103ee0b04e801284b5fa9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158018
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/external/cairo/pixman/pixman-ubsan.patch 
b/external/cairo/pixman/pixman-ubsan.patch
index 64e5778ee4d4..b4b1d43adb18 100644
--- a/external/cairo/pixman/pixman-ubsan.patch
+++ b/external/cairo/pixman/pixman-ubsan.patch
@@ -53,6 +53,15 @@ diff -ru pixman-0.42.2.orig/pixman/pixman-fast-path.c 
pixman-0.42.2/pixman/pixma
 diff -ru pixman-0.42.2.orig/pixman/pixman-sse2.c 
pixman-0.42.2/pixman/pixman-sse2.c
 --- misc/pixman-0.42.2/pixman/pixman-sse2.c    2022-02-02 05:51:25.000000000 
+0900
 +++ misc/build/pixman-0.42.2/pixman/pixman-sse2.c   2022-11-28 
22:11:19.276969466 +0900
+@@ -516,7 +516,7 @@
+ }
+ 
+ static force_inline uint32_t
+-combine1 (const uint32_t *ps, const uint32_t *pm)
++combine1 (const void *ps, const uint32_t *pm)
+ {
+     uint32_t s;
+     memcpy(&s, ps, sizeof(uint32_t));
 @@ -3345,7 +3345,7 @@
  
        b = filler & 0xff;

Reply via email to