include/vcl/pdfwriter.hxx |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 1b6ecb1dc544b7a462948a1c85d4bfc6f08865b8
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Wed May 18 09:38:24 2022 +0200
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Wed May 18 10:33:55 2022 +0200

    Avoid uninitialized vcl::EditWidget::PrependCurrencySymbol
    
    ...causing UBSan
    
    > /vcl/source/gdi/pdfwriter_impl.cxx:11017:53: runtime error: load of value 
190, which is not a valid value for type 'bool'
    >     #0 0x7efed21c891b in 
vcl::PDFWriterImpl::createControl(vcl::PDFWriter::AnyWidget const&, int) 
/vcl/source/gdi/pdfwriter_impl.cxx:11017:53
    >     #1 0x7efed205c76b in 
vcl::PDFWriter::CreateControl(vcl::PDFWriter::AnyWidget const&) 
/vcl/source/gdi/pdfwriter.cxx:438:29
    >     #2 0x7efed1f5dc60 in 
vcl::PageSyncData::PlaySyncPageAct(vcl::PDFWriter&, unsigned int&, GDIMetaFile 
const&, vcl::PDFExtOutDevData const&) 
/vcl/source/gdi/pdfextoutdevdata.cxx:394:29
    >     #3 0x7efed1f64eac in 
vcl::PDFExtOutDevData::PlaySyncPageAct(vcl::PDFWriter&, unsigned int&, 
GDIMetaFile const&) /vcl/source/gdi/pdfextoutdevdata.cxx:612:28
    >     #4 0x7efed206486e in vcl::PDFWriterImpl::playMetafile(GDIMetaFile 
const&, vcl::PDFExtOutDevData*, vcl::PDFWriter::PlayMetafileContext const&, 
VirtualDevice*) /vcl/source/gdi/pdfwriter_impl2.cxx:288:48
    [...]
    
    during CppunitTest_vcl_pdfexport
    (<https://ci.libreoffice.org/job/lo_ubsan/2402/>)
    
    Change-Id: I95c6e58e1a4204ba828db29e3c1429285bae27ec
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134505
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    Tested-by: Jenkins

diff --git a/include/vcl/pdfwriter.hxx b/include/vcl/pdfwriter.hxx
index 74bf96255ebf..3717a40d8372 100644
--- a/include/vcl/pdfwriter.hxx
+++ b/include/vcl/pdfwriter.hxx
@@ -395,7 +395,8 @@ public:
                   Password( false ),
                   FileSelect( false ),
                   MaxLen( 0 ),
-                  Format( FormatType::Text )
+                  Format( FormatType::Text ),
+                  PrependCurrencySymbol( false )
         {}
 
         virtual std::shared_ptr<AnyWidget> Clone() const override

Reply via email to