1. 14 Agu, 2018 40 kayıt (commit)
    • Mark Hung's avatar
      tdf#118825 use exportToSvgD for motion path in pptx filter. · daa131c4
      Mark Hung yazdı
      Change-Id: Ie3c023b0efc4a6c5a92ffc8ba43259ff2bb7da8f
      Reviewed-on: https://gerrit.libreoffice.org/58849
      Tested-by: Jenkins
      Reviewed-by: 's avatarMark Hung <marklh9@gmail.com>
      daa131c4
    • Mark Hung's avatar
      tdf#118825 Implement OOXMLMotionPath in exportToSvgD of basegfx. · 071d8aff
      Mark Hung yazdı
      Powerpoint only allows M,L,C,Z,E,m,l,c,z,e , i.e. V,H,S ( and
      their corresponding relative command ) must not be used and
      ending E is mandatory. Command and space delimiters also can not
      be skipped.
      
      Change-Id: Icad38ec2eed3e49143eb9a03aa56cc178baae99d
      Reviewed-on: https://gerrit.libreoffice.org/58848
      Tested-by: Jenkins
      Reviewed-by: 's avatarMark Hung <marklh9@gmail.com>
      071d8aff
    • Caolán McNamara's avatar
      crashtesting: IsSctFrame assert · 65245437
      Caolán McNamara yazdı
      we have two asserting cases...
      
      soffice.bin --headless --convert-to pdf odt/tdf109532-2.odt
      soffice.bin --headless --convert-to odt odt/fdo45450-1.odt
      
      both pass after this
      
      Change-Id: I24a9bdc5ab19f678dc611f78ed84347789915cc5
      Reviewed-on: https://gerrit.libreoffice.org/58939
      Tested-by: Jenkins
      Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      65245437
    • Jan Holesovsky's avatar
      Update git submodules · 2757c313
      Jan Holesovsky yazdı
      * Update helpcontent2 from branch 'master'
        - Let's make the help urls more standard, and use ?Target=...&... form.
          
          Change-Id: Ic2568c769ab11e3622f71b92a46fb124012a3c90
          Reviewed-on: https://gerrit.libreoffice.org/58865
          Tested-by: Jenkins
      Reviewed-by: 's avatarOlivier Hallot <olivier.hallot@libreoffice.org>
          
      2757c313
    • Noel Grandin's avatar
      tdf#119234 OOXML Shapes from Word fail to render · df71ea1b
      Noel Grandin yazdı
      regression from
      	commit 65e4a776
      	simplify some OUString::copy calls
      I got the params switched around
      
      Change-Id: I68da0ae681f2b886e35f74bd72de0c482c843ae9
      Reviewed-on: https://gerrit.libreoffice.org/58986
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      df71ea1b
    • Caolán McNamara's avatar
      Resolves: tdf#119251 parse non-default units in user inputted values · ba209b98
      Caolán McNamara yazdı
      Change-Id: I28f8338f5c318f2228b742e2e171d53820cb0cc8
      Reviewed-on: https://gerrit.libreoffice.org/58984
      Tested-by: Jenkins
      Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      ba209b98
    • Xisco Fauli's avatar
      tdf#119231: Add missing help response id · abe48a44
      Xisco Fauli yazdı
      Change-Id: I2c89e44e5d78377666bacb2393b26323f1e0a904
      Reviewed-on: https://gerrit.libreoffice.org/58919
      Tested-by: Jenkins
      Reviewed-by: 's avatarAdolfo Jayme Barrientos <fitojb@ubuntu.com>
      abe48a44
    • Xisco Fauli's avatar
      tdf#116856 Update screenshot images · fa81dd8e
      Xisco Fauli yazdı
      Taken from https://www.libreoffice.org/discover/screenshots/
      
      Thanks to guilhem for creating the hub redirection
      
      Change-Id: I57a8fb928e9353d9b305c2e1b09b4f0dd13624f6
      Reviewed-on: https://gerrit.libreoffice.org/52767
      Tested-by: Jenkins
      Reviewed-by: 's avatarAdolfo Jayme Barrientos <fitojb@ubuntu.com>
      fa81dd8e
    • Jan Holesovsky's avatar
      Update git submodules · 177d19d5
      Jan Holesovsky yazdı
      * Update helpcontent2 from branch 'master'
        - Rename 'map' to 'hid2fileMap'.
          
          Also update dependency, so that the file gets rebuilt when the 'echo'
          part of the makefile changes.
          
          Change-Id: I0412f882dd12e265d8261a259ed83c469e261cdf
          Reviewed-on: https://gerrit.libreoffice.org/58993
          Tested-by: Jenkins
      Reviewed-by: 's avatarJan Holesovsky <kendy@collabora.com>
          
      177d19d5
    • Mark Hung's avatar
      tdf#118825 move basegfx::internal::putNumberCharWithSpace · a8556565
      Mark Hung yazdı
      to anonymous namespace.
      
      While basegfx::internal::putNumberCharWithSpace is only used in
      exportToSvgD, move it into the anonymous in the same file for
      later enhancement.
      
      Change-Id: I6534ac39b2095ed2ba12acc114c75737ad8dacb6
      Reviewed-on: https://gerrit.libreoffice.org/58847
      Tested-by: Jenkins
      Reviewed-by: 's avatarMark Hung <marklh9@gmail.com>
      a8556565
    • Noel Grandin's avatar
      loplugin:returnconstant in SwSpellDialogChildWindow · 99e545dd
      Noel Grandin yazdı
      Change-Id: If02664294bc9503ac8a373793edfdb8231582e76
      Reviewed-on: https://gerrit.libreoffice.org/58961
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      99e545dd
    • Mark Hung's avatar
      tdf#118825 refactor basegfx::utils::exportToSvgD with putCommandChar. · 576b5346
      Mark Hung yazdı
      Move similar code fragments to a new function called putCommandChar.
      
      Change-Id: I7cd0beaab29110d89c3a206d6929e5154c755c4c
      Reviewed-on: https://gerrit.libreoffice.org/58846
      Tested-by: Jenkins
      Reviewed-by: 's avatarMark Hung <marklh9@gmail.com>
      576b5346
    • Jan Holesovsky's avatar
      Update git submodules · a4bd06c2
      Jan Holesovsky yazdı
      * Update helpcontent2 from branch 'master'
        - Rename get_url.xsl to generate_hid2file.xsl, because that's what it's doing.
          
          Change-Id: I565ca442281fa8a80a59d1038d29b34d7f9d9f41
          Reviewed-on: https://gerrit.libreoffice.org/58989
          Tested-by: Jenkins
      Reviewed-by: 's avatarJan Holesovsky <kendy@collabora.com>
          
      a4bd06c2
    • Stephan Bergmann's avatar
      cclass_Unicode::StrChr needs to support non-BMP chars · 9b4013ef
      Stephan Bergmann yazdı
      ...as seen with Clang's new -fsanitize=implicit-cast during
      CppunitTest_starmath_qa_cppunit:
      
      > i18npool/source/characterclassification/cclass_unicode_parser.cxx:565:46: runtime error: implicit conversion from type 'sal_uInt32' (aka 'unsigned int') of value 119886 (32-bit, unsigned) to type 'sal_Unicode' (aka 'char16_t') changed the value to 54350 (16-bit, unsigned)
      >  #0 in i18npool::cclass_Unicode::getFlags(unsigned int) at i18npool/source/characterclassification/cclass_unicode_parser.cxx:565:46 (instdir/program/libi18npoollo.so +0x3ae807)
      >  #1 in i18npool::cclass_Unicode::parseText(com::sun::star::i18n::ParseResult&, rtl::OUString const&, int, int) at i18npool/source/characterclassification/cclass_unicode_parser.cxx:712:29 (instdir/program/libi18npoollo.so +0x3b04c3)
      >  #2 in i18npool::cclass_Unicode::parsePredefinedToken(int, rtl::OUString const&, int, com::sun::star::lang::Locale const&, int, rtl::OUString const&, int, rtl::OUString const&) at i18npool/source/characterclassification/cclass_unicode.cxx:275:5 (instdir/program/libi18npoollo.so +0x3a17ea)
      >  #3 in non-virtual thunk to i18npool::cclass_Unicode::parsePredefinedToken(int, rtl::OUString const&, int, com::sun::star::lang::Locale const&, int, rtl::OUString const&, int, rtl::OUString const&) at i18npool/source/characterclassification/cclass_unicode.cxx (instdir/program/libi18npoollo.so +0x3a18dc)
      >  #4 in i18npool::CharacterClassificationImpl::parsePredefinedToken(int, rtl::OUString const&, int, com::sun::star::lang::Locale const&, int, rtl::OUString const&, int, rtl::OUString const&) at i18npool/source/characterclassification/characterclassificationImpl.cxx:118:63 (instdir/program/libi18npoollo.so +0x3c48ba)
      >  #5 in non-virtual thunk to i18npool::CharacterClassificationImpl::parsePredefinedToken(int, rtl::OUString const&, int, com::sun::star::lang::Locale const&, int, rtl::OUString const&, int, rtl::OUString const&) at i18npool/source/characterclassification/characterclassificationImpl.cxx (instdir/program/libi18npoollo.so +0x3c497c)
      >  #6 in CharClass::parsePredefinedToken(int, rtl::OUString const&, int, int, rtl::OUString const&, int, rtl::OUString const&) const at unotools/source/i18n/charclass.cxx:443:25 (instdir/program/libutllo.so +0x904d17)
      >  #7 in SmParser::NextToken() at starmath/source/parse.cxx:391:25 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa4a3e7)
      >  #8 in SmParser::DoTerm(bool) at starmath/source/parse.cxx:1337:13 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa5951b)
      >  #9 in SmParser::DoPower() at starmath/source/parse.cxx:1285:35 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa57d46)
      >  #10 in SmParser::DoProduct() at starmath/source/parse.cxx:1105:19 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa5685a)
      >  #11 in SmParser::DoSum() at starmath/source/parse.cxx:1087:19 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa55ebc)
      >  #12 in SmParser::DoRelation() at starmath/source/parse.cxx:1069:19 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa558dc)
      >  #13 in SmParser::DoExpression(bool) at starmath/source/parse.cxx:1043:29 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa54ff5)
      >  #14 in SmParser::ParseExpression(rtl::OUString const&) at starmath/source/parse.cxx:2366:12 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0xa671dc)
      >  #15 in (anonymous namespace)::Test::ParseAndCompare(char const*, char const*, char const*) at starmath/qa/cppunit/test_nodetotextvisitors.cxx:485:30 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0x5f7ea6)
      >  #16 in (anonymous namespace)::Test::testMiscEquivalent() at starmath/qa/cppunit/test_nodetotextvisitors.cxx:637:5 (workdir/LinkTarget/CppunitTest/libtest_starmath_qa_cppunit.so +0x5f2dc8)
      
      Change-Id: Iaf62efd60bd6132e005ab69ce385bbf5c2db5d19
      Reviewed-on: https://gerrit.libreoffice.org/58979
      Tested-by: Jenkins
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      9b4013ef
    • Caolán McNamara's avatar
      tdf#117127 crash on inspecting value describing a table · a6ca38e6
      Caolán McNamara yazdı
      since...
      
      commit f86d0413
      Date:   Mon Mar 30 01:26:21 2015 +0200
      
          SwXCellRange:: and SwXTextTable::getDataArray() do the same
      
      which used to have more checks than its replacement
      
      Change-Id: Id931882ef7c749ffa18ef3474e3e661ba8614ab0
      Reviewed-on: https://gerrit.libreoffice.org/58976
      Tested-by: Jenkins
      Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      a6ca38e6
    • Caolán McNamara's avatar
      abandon import on bad entry · 87b26787
      Caolán McNamara yazdı
      Change-Id: I86a48eec43505966bca03aca947ab4d67de41e60
      Reviewed-on: https://gerrit.libreoffice.org/58967Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      Tested-by: Jenkins
      87b26787
    • Stephan Bergmann's avatar
      Adapt new code to getLocStart rename · d206ddf6
      Stephan Bergmann yazdı
      Change-Id: I96cabd351e06de6b3e728c456bd05156572822c9
      d206ddf6
    • Noel Grandin's avatar
      loplugin:returnconstant in ScXMLChartExportWrapper · 013c278d
      Noel Grandin yazdı
      Change-Id: Ibf448058d5c67455a747a276717ba659559017bc
      Reviewed-on: https://gerrit.libreoffice.org/58957
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      013c278d
    • Noel Grandin's avatar
      loplugin:returnconstant in SwEditShell · c5155f59
      Noel Grandin yazdı
      Change-Id: I0daa8938e81017f8c6db4da55aed297f767799b7
      Reviewed-on: https://gerrit.libreoffice.org/58959
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      c5155f59
    • Caolán McNamara's avatar
      ofz#7790 InsertMatrixFormula timeout · e3368559
      Caolán McNamara yazdı
      Change-Id: Ic99e4db85495f7581ff09cbfcc7bf1f57b016709
      Reviewed-on: https://gerrit.libreoffice.org/58972
      Tested-by: Jenkins
      Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      e3368559
    • Caolán McNamara's avatar
      mv rather than cp fuzzer · a6c1eab1
      Caolán McNamara yazdı
      Change-Id: I8166bef1c7786c17f531be807029ba8d609931b3
      Reviewed-on: https://gerrit.libreoffice.org/58971
      Tested-by: Jenkins
      Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      a6c1eab1
    • Caolán McNamara's avatar
      use std::unique_ptr · 6d5a82f0
      Caolán McNamara yazdı
      Change-Id: Ib76d6a82037e36a41cebdf86af9754a51aab213c
      Reviewed-on: https://gerrit.libreoffice.org/58968Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      6d5a82f0
    • Vincas Dargis's avatar
      apparmor: update program.soffice.bin for KDE · c86e4ad5
      Vincas Dargis yazdı
      Add rules to fix file dialog and other issues with 6.2 alpha1 on Debian
      Buster with KDE desktop.
      
      Change-Id: Ib1b20c5809ac9bdea1bf2623eff4345fa42fd4f3
      Reviewed-on: https://gerrit.libreoffice.org/58702
      Tested-by: Jenkins
      Reviewed-by: 's avatarJan-Marek Glogowski <glogow@fbihome.de>
      Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
      c86e4ad5
    • Noel Grandin's avatar
      filter out some of the AST in the plugins · 9f4d23c1
      Noel Grandin yazdı
      by checking if the current namespace decl is in our code, so we have to
      scan less stuff, which results in a 10% perf improvement for me
      
      Change-Id: Idf0e30d57b6d0dcd13daa9ed679c28b9d233d387
      Reviewed-on: https://gerrit.libreoffice.org/58942
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      9f4d23c1
    • Samuel Thibault's avatar
      tdf#116542 a11y: introduce STATIC role · 4917430c
      Samuel Thibault yazdı
      This should be used for brief non-editable text which is not meant to have a
      relation with another object (as opposed to text or label).
      
      Change-Id: I46bfa56042a51295e9fa0d332babdbb40668ff0b
      Reviewed-on: https://gerrit.libreoffice.org/58734
      Tested-by: Jenkins
      Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
      4917430c
    • Noel Grandin's avatar
      loplugin:returnconstant in SwChartDataProvider · ed77565f
      Noel Grandin yazdı
      Change-Id: Ia9dc1f9c5a02162359c1fe6e65f21ae5dede7702
      Reviewed-on: https://gerrit.libreoffice.org/58965
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      ed77565f
    • Noel Grandin's avatar
      loplugin:returnconstant in reportdesign · c50cd967
      Noel Grandin yazdı
      Change-Id: I3a198faad8f4dff607b1a7e1a06afda0225b4f9a
      Reviewed-on: https://gerrit.libreoffice.org/58964
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      c50cd967
    • Noel Grandin's avatar
      loplugin:returnconstant in ScInterpreter · 22c7ae97
      Noel Grandin yazdı
      Change-Id: I2ba3fde098b082659656e6a21771495ec97775d1
      Reviewed-on: https://gerrit.libreoffice.org/58956
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      22c7ae97
    • Noel Grandin's avatar
      loplugin:returnconstant in SwTextCursor · fef16d0e
      Noel Grandin yazdı
      Change-Id: If695e6f1564ca37e9bb9870c6fee20d639fb721c
      Reviewed-on: https://gerrit.libreoffice.org/58962
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      fef16d0e
    • Noel Grandin's avatar
      loplugin:returnconstant in SvxCSS1Parser · 73fafa6a
      Noel Grandin yazdı
      Change-Id: I890fe1c116c487a6065f4b47d3f9cebe4803ef77
      Reviewed-on: https://gerrit.libreoffice.org/58963
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      73fafa6a
    • Noel Grandin's avatar
      loplugin:returnconstant in SwTabFrame · 7a9453a0
      Noel Grandin yazdı
      Change-Id: I9a8ecd32516315df25e7bd3c9c6672743c567035
      Reviewed-on: https://gerrit.libreoffice.org/58960
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      7a9453a0
    • Noel Grandin's avatar
      loplugin:returnconstant in ScColumn · 761a9694
      Noel Grandin yazdı
      Change-Id: I105d07da6e1a9259a7b833a1259c0e992e35a03d
      Reviewed-on: https://gerrit.libreoffice.org/58954
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      761a9694
    • Noel Grandin's avatar
      loplugin:returnconstant in SwGrfNode · 9456d6cd
      Noel Grandin yazdı
      Change-Id: If6e7c7750db8cdc45a2c487f1aebcf504a0e1edb
      Reviewed-on: https://gerrit.libreoffice.org/58958
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      9456d6cd
    • Maxim Monastirsky's avatar
      tdf#119245 Set a parent for OParameterDialog · ea77c319
      Maxim Monastirsky yazdı
      Change-Id: I5a7f4b43027a72f049e12c06cd583c6545b028f5
      Reviewed-on: https://gerrit.libreoffice.org/58952
      Tested-by: Jenkins
      Reviewed-by: 's avatarMaxim Monastirsky <momonasmon@gmail.com>
      ea77c319
    • Caolán McNamara's avatar
      mml needs pdffilter too · 775dfaee
      Caolán McNamara yazdı
      Change-Id: If5faadee3504d88df8584850905d3b3de46c0328
      775dfaee
    • Stephan Bergmann's avatar
      LwpObjectID::GetLow returns sal_uInt32 · 926a1128
      Stephan Bergmann yazdı
      ...and b7af008a "remove first chunk of
      lotuswordpro warnings" probably changed that in error:
      
       void LwpGraphicObject::GetBentoNamebyID(LwpObjectID* pMyID, std::string& rName)
       {
           sal_uInt16 nHigh = pMyID->GetHigh();
      -    sal_uInt32 nLow = pMyID->GetLow();
      +    sal_uInt16 nLow = pMyID->GetLow();
           char pTempStr[32];
           rName = std::string("Gr");
      -    sprintf(pTempStr, "%X,%lX", nHigh, nLow);
      +    sprintf(pTempStr, "%X,%X", nHigh, nLow);
           rName.append(pTempStr);
       }
      
      Found with new Clang -fsanitize=implicit-conversion during
      CppunitTest_lotuswordpro_test_lotuswordpro:
      
      > Testing file:///home/sbergman/lo/core/lotuswordpro/qa/cppunit/data/pass/IntPres11-2004.lwp:
      > lotuswordpro/source/filter/lwpgrfobj.cxx:321:23: runtime error: implicit conversion from type 'sal_uInt32' (aka 'unsigned int') of value 1085767199 (32-bit, unsigned) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 32287 (16-bit, unsigned)
      >  #0 in LwpGraphicObject::GetBentoNamebyID(LwpObjectID const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) at lotuswordpro/source/filter/lwpgrfobj.cxx:321:23 (instdir/program/liblwpftlo.so +0x948b85)
      >  #1 in LwpGraphicObject::GetRawGrafData() at lotuswordpro/source/filter/lwpgrfobj.cxx:352:5 (instdir/program/liblwpftlo.so +0x940cae)
      >  #2 in LwpGraphicObject::XFConvert(XFContentContainer*) at lotuswordpro/source/filter/lwpgrfobj.cxx:228:48 (instdir/program/liblwpftlo.so +0x93e1af)
      >  #3 in LwpObject::DoXFConvert(XFContentContainer*) at lotuswordpro/inc/lwpobj.hxx:129:9 (instdir/program/liblwpftlo.so +0x84a472)
      >  #4 in LwpFrameLayout::XFConvertFrame(XFContentContainer*, int, int, bool) at lotuswordpro/source/filter/lwpframelayout.cxx:836:26 (instdir/program/liblwpftlo.so +0x87ba7b)
      >  #5 in LwpFrameLayout::XFConvert(XFContentContainer*) at lotuswordpro/source/filter/lwpframelayout.cxx:800:13 (instdir/program/liblwpftlo.so +0x87b1b0)
      >  #6 in LwpObject::DoXFConvert(XFContentContainer*) at lotuswordpro/inc/lwpobj.hxx:129:9 (instdir/program/liblwpftlo.so +0x84a472)
      >  #7 in LwpFribFrame::XFConvert(XFContentContainer*) at lotuswordpro/source/filter/lwpfribframe.cxx:183:14 (instdir/program/liblwpftlo.so +0x8a6382)
      >  #8 in LwpFribPtr::XFConvert() at lotuswordpro/source/filter/lwpfribptr.cxx:280:24 (instdir/program/liblwpftlo.so +0x8f187d)
      >  #9 in LwpPara::XFConvert(XFContentContainer*) at lotuswordpro/source/filter/lwppara.cxx:258:13 (instdir/program/liblwpftlo.so +0xa608a1)
      >  #10 in LwpStory::XFConvert(XFContentContainer*) at lotuswordpro/source/filter/lwpstory.cxx:110:16 (instdir/program/liblwpftlo.so +0xae1e1a)
      >  #11 in LwpStory::Parse(IXFStream*) at lotuswordpro/source/filter/lwpstory.cxx:156:5 (instdir/program/liblwpftlo.so +0xae6aa7)
      >  #12 in LwpObject::DoParse(IXFStream*) at lotuswordpro/inc/lwpobj.hxx:119:9 (instdir/program/liblwpftlo.so +0x7a4802)
      >  #13 in LwpPageLayout::Parse(IXFStream*) at lotuswordpro/source/filter/lwppagelayout.cxx:120:17 (instdir/program/liblwpftlo.so +0xa1885d)
      >  #14 in LwpObject::DoParse(IXFStream*) at lotuswordpro/inc/lwpobj.hxx:119:9 (instdir/program/liblwpftlo.so +0x7a4802)
      >  #15 in LwpDocument::ParseDocContent(IXFStream*) at lotuswordpro/source/filter/lwpdoc.cxx:428:17 (instdir/program/liblwpftlo.so +0x794de5)
      >  #16 in LwpDocument::Parse(IXFStream*) at lotuswordpro/source/filter/lwpdoc.cxx:158:9 (instdir/program/liblwpftlo.so +0x792f6a)
      >  #17 in LwpObject::DoParse(IXFStream*) at lotuswordpro/inc/lwpobj.hxx:119:9 (instdir/program/liblwpftlo.so +0x7a4802)
      >  #18 in LwpDocSock::Parse(IXFStream*) at lotuswordpro/source/filter/lwpdoc.cxx:816:15 (instdir/program/liblwpftlo.so +0x7a3a4f)
      >  #19 in LwpObject::DoParse(IXFStream*) at lotuswordpro/inc/lwpobj.hxx:119:9 (instdir/program/liblwpftlo.so +0x7a4802)
      >  #20 in LwpDocument::Parse(IXFStream*) at lotuswordpro/source/filter/lwpdoc.cxx:164:19 (instdir/program/liblwpftlo.so +0x793148)
      >  #21 in Lwp9Reader::ParseDocument() at lotuswordpro/source/filter/lwp9reader.cxx:167:10 (instdir/program/liblwpftlo.so +0x6f52a1)
      >  #22 in Lwp9Reader::Read() at lotuswordpro/source/filter/lwp9reader.cxx:90:20 (instdir/program/liblwpftlo.so +0x6f3fbc)
      >  #23 in ReadWordproFile(SvStream&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XDocumentHandler> const&) at lotuswordpro/source/filter/lwpfilter.cxx:215:33 (instdir/program/liblwpftlo.so +0x82442d)
      >  #24 in LotusWordProImportFilter::importImpl(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:75:14 (instdir/program/liblwpftlo.so +0x6e4aca)
      >  #25 in LotusWordProImportFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:87:12 (instdir/program/liblwpftlo.so +0x6e4d8a)
      >  #26 in (anonymous namespace)::LotusWordProTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:59:27 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x14a52)
      >  #27 in test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:130:20 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x5724c)
      >  #28 in test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:155:5 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x57ec9)
      >  #29 in (anonymous namespace)::LotusWordProTest::test() at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:64:9 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x153d4)
      >  #30 in void std::__invoke_impl<void, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:73:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17fcd)
      >  #31 in std::__invoke_result<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>::type std::__invoke<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:95:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17c6b)
      >  #32 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:400:11 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17b28)
      >  #33 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::operator()<void>() at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:482:17 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x178e5)
      >  #34 in std::_Function_handler<void (), std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()> >::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x16bc6)
      >  #35 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x23276)
      >  #36 in CppUnit::TestCaller<(anonymous namespace)::LotusWordProTest>::runTest() at workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x160c6)
      >  #37 in CppUnit::TestCaseMethodFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22c1f1)
      >  #38 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at test/source/vclbootstrapprotector.cxx:49:14 (workdir/LinkTarget/Library/libvclbootstrapprotector.so +0x159a)
      >  #39 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #40 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:88:12 (workdir/LinkTarget/Library/unobootstrapprotector.so +0x987a)
      >  #41 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #42 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (workdir/LinkTarget/Library/unoexceptionprotector.so +0x5000)
      >  #43 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #44 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x1c6c51)
      >  #45 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #46 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x2096b8)
      >  #47 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26c3e4)
      >  #48 in CppUnit::TestCase::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22b1fb)
      >  #49 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #50 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #51 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #52 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #53 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28b6c2)
      >  #54 in CppUnit::TestResult::runTest(CppUnit::Test*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26b715)
      >  #55 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28c103)
      >  #56 in (anonymous namespace)::ProtectedFixtureFunctor::run() const at sal/cppunittester/cppunittester.cxx:316:20 (workdir/LinkTarget/Executable/cppunittester +0x440697)
      >  #57 in sal_main() at sal/cppunittester/cppunittester.cxx:466:20 (workdir/LinkTarget/Executable/cppunittester +0x43e2fc)
      >  #58 in main at sal/cppunittester/cppunittester.cxx:373:1 (workdir/LinkTarget/Executable/cppunittester +0x43d90e)
      >  #59 in __libc_start_main at /usr/src/debug/glibc-2.27-74-g68c1bf8097/csu/../csu/libc-start.c:308:16 (/lib64/libc.so.6 +0x2324a)
      >  #60 in _start at <null> (workdir/LinkTarget/Executable/cppunittester +0x4172a9)
      
      Change-Id: I90f3ed9efa56359005e84732139452acacbaa0ad
      Reviewed-on: https://gerrit.libreoffice.org/58937Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
      Tested-by: Jenkins
      926a1128
    • Stephan Bergmann's avatar
      Don't call LwpTools::QuickReadUnicode with negative, wrapped-around strlen · d9ca7ddc
      Stephan Bergmann yazdı
      ...as happens during CppunitTest_lotuswordpro_test_lotuswordpro (as found with
      new Clang -fsanitize=implicit-conversion, see below).  (The code was like that
      ever since its introduction with cc316b39 "Port
      of Lotus Word Pro filter, by Fong Lin and Noel Power".)
      
      > lotuswordpro/source/filter/lwpatomholder.cxx:83:49: runtime error: implicit conversion from type 'unsigned long' of value 18446744073709551615 (64-bit, unsigned) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 65535 (16-bit, unsigned)
      >  #0 in LwpAtomHolder::Read(LwpObjectStream*) at lotuswordpro/source/filter/lwpatomholder.cxx:83:49 (instdir/program/liblwpftlo.so +0x705fd2)
      >  #1 in LwpFontTableEntry::Read(LwpObjectStream*) at lotuswordpro/source/filter/lwpfont.cxx:218:23 (instdir/program/liblwpftlo.so +0x834958)
      >  #2 in LwpFontTable::Read(LwpObjectStream*) at lotuswordpro/source/filter/lwpfont.cxx:260:31 (instdir/program/liblwpftlo.so +0x8351ce)
      >  #3 in LwpFontNameManager::Read(LwpObjectStream*) at lotuswordpro/source/filter/lwpfont.cxx:379:15 (instdir/program/liblwpftlo.so +0x836587)
      >  #4 in LwpFontManager::Read(LwpObjectStream*) at lotuswordpro/source/filter/lwpfont.cxx:433:13 (instdir/program/liblwpftlo.so +0x83767a)
      >  #5 in LwpFoundry::Read(LwpObjectStream*) at lotuswordpro/source/filter/lwpfoundry.cxx:123:15 (instdir/program/liblwpftlo.so +0x850f23)
      >  #6 in LwpFoundry::LwpFoundry(LwpObjectStream*, LwpDocument*) at lotuswordpro/source/filter/lwpfoundry.cxx:81:5 (instdir/program/liblwpftlo.so +0x850519)
      >  #7 in LwpDocument::Read() at lotuswordpro/source/filter/lwpdoc.cxx:116:31 (instdir/program/liblwpftlo.so +0x791ae6)
      >  #8 in LwpObject::QuickRead() at lotuswordpro/source/filter/lwpobj.cxx:81:5 (instdir/program/liblwpftlo.so +0x9d4989)
      >  #9 in LwpObjectFactory::CreateObject(unsigned int, LwpObjectHeader&) at lotuswordpro/source/filter/lwpobjfactory.cxx:661:17 (instdir/program/liblwpftlo.so +0x9df914)
      >  #10 in LwpObjectFactory::QueryObject(LwpObjectID const&) at lotuswordpro/source/filter/lwpobjfactory.cxx:704:15 (instdir/program/liblwpftlo.so +0x9e058f)
      >  #11 in LwpObjectID::obj(VO_TYPE) const at lotuswordpro/source/filter/lwpobjid.cxx:190:47 (instdir/program/liblwpftlo.so +0xa00b99)
      >  #12 in LwpDocument::GetFirstDivision() at lotuswordpro/source/filter/lwpdoc.cxx:621:68 (instdir/program/liblwpftlo.so +0x7a0e21)
      >  #13 in LwpDocument::ImplGetFirstDivisionWithContentsThatIsNotOLE() at lotuswordpro/source/filter/lwpdoc.cxx:653:30 (instdir/program/liblwpftlo.so +0x7a1532)
      >  #14 in LwpDocument::GetFirstDivisionWithContentsThatIsNotOLE() at lotuswordpro/source/filter/lwpdoc.hxx:159:29 (instdir/program/liblwpftlo.so +0x7a8bcc)
      >  #15 in LwpDocument::RegisterDefaultParaStyles() at lotuswordpro/source/filter/lwpdoc.cxx:398:34 (instdir/program/liblwpftlo.so +0x795aae)
      >  #16 in LwpDocument::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:207:5 (instdir/program/liblwpftlo.so +0x795376)
      >  #17 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x70070a)
      >  #18 in Lwp9Reader::ParseDocument() at lotuswordpro/source/filter/lwp9reader.cxx:154:10 (instdir/program/liblwpftlo.so +0x6f5197)
      >  #19 in Lwp9Reader::Read() at lotuswordpro/source/filter/lwp9reader.cxx:90:20 (instdir/program/liblwpftlo.so +0x6f444c)
      >  #20 in ReadWordproFile(SvStream&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XDocumentHandler> const&) at lotuswordpro/source/filter/lwpfilter.cxx:215:33 (instdir/program/liblwpftlo.so +0x82488d)
      >  #21 in LotusWordProImportFilter::importImpl(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:75:14 (instdir/program/liblwpftlo.so +0x6e4f5a)
      >  #22 in LotusWordProImportFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:87:12 (instdir/program/liblwpftlo.so +0x6e521a)
      >  #23 in (anonymous namespace)::LotusWordProTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:59:27 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x14a52)
      >  #24 in test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:130:20 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x5724c)
      >  #25 in test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:158:5 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x580e7)
      >  #26 in (anonymous namespace)::LotusWordProTest::test() at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:64:9 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x153d4)
      >  #27 in void std::__invoke_impl<void, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:73:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17fcd)
      >  #28 in std::__invoke_result<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>::type std::__invoke<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:95:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17c6b)
      >  #29 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:400:11 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17b28)
      >  #30 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::operator()<void>() at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:482:17 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x178e5)
      >  #31 in std::_Function_handler<void (), std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()> >::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x16bc6)
      >  #32 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x23276)
      >  #33 in CppUnit::TestCaller<(anonymous namespace)::LotusWordProTest>::runTest() at workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x160c6)
      >  #34 in CppUnit::TestCaseMethodFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22c1f1)
      >  #35 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at test/source/vclbootstrapprotector.cxx:49:14 (workdir/LinkTarget/Library/libvclbootstrapprotector.so +0x159a)
      >  #36 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #37 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:88:12 (workdir/LinkTarget/Library/unobootstrapprotector.so +0x987a)
      >  #38 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #39 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (workdir/LinkTarget/Library/unoexceptionprotector.so +0x5000)
      >  #40 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #41 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x1c6c51)
      >  #42 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #43 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x2096b8)
      >  #44 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26c3e4)
      >  #45 in CppUnit::TestCase::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22b1fb)
      >  #46 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #47 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #48 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #49 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #50 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28b6c2)
      >  #51 in CppUnit::TestResult::runTest(CppUnit::Test*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26b715)
      >  #52 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28c103)
      >  #53 in (anonymous namespace)::ProtectedFixtureFunctor::run() const at sal/cppunittester/cppunittester.cxx:316:20 (workdir/LinkTarget/Executable/cppunittester +0x440697)
      >  #54 in sal_main() at sal/cppunittester/cppunittester.cxx:466:20 (workdir/LinkTarget/Executable/cppunittester +0x43e2fc)
      >  #55 in main at sal/cppunittester/cppunittester.cxx:373:1 (workdir/LinkTarget/Executable/cppunittester +0x43d90e)
      >  #56 in __libc_start_main at /usr/src/debug/glibc-2.27-74-g68c1bf8097/csu/../csu/libc-start.c:308:16 (/lib64/libc.so.6 +0x2324a)
      >  #57 in _start at <null> (workdir/LinkTarget/Executable/cppunittester +0x4172a9)
      
      Change-Id: If8fe6fac5fcd0853334f465bee0b6eedc8529e11
      Reviewed-on: https://gerrit.libreoffice.org/58934
      Tested-by: Jenkins
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      d9ca7ddc
    • Stephan Bergmann's avatar
      Don't call LwpTools::QuickReadUnicode with negative, wrapped-around strlen · 9ce9872a
      Stephan Bergmann yazdı
      ...as happens during CppunitTest_lotuswordpro_test_lotuswordpro (as found with
      new Clang -fsanitize=implicit-conversion, see below).  (The code was like that
      ever since its introduction with cc316b39 "Port
      of Lotus Word Pro filter, by Fong Lin and Noel Power".)
      
      Not sure how to report errors there, so just issue a SAL_WARN and return an
      empty string for now.
      
      > lotuswordpro/source/filter/lwpobjstrm.cxx:374:43: runtime error: implicit conversion from type 'unsigned long' of value 18446744073709551614 (64-bit, unsigned) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 65534 (16-bit, unsigned)
      >  #0 in LwpObjectStream::QuickReadStringPtr() at lotuswordpro/source/filter/lwpobjstrm.cxx:374:43 (instdir/program/liblwpftlo.so +0xa035d8)
      >  #1 in LwpOleObject::Read() at lotuswordpro/source/filter/lwpoleobject.cxx:214:21 (instdir/program/liblwpftlo.so +0xa06630)
      >  #2 in LwpObject::QuickRead() at lotuswordpro/source/filter/lwpobj.cxx:81:5 (instdir/program/liblwpftlo.so +0x9d4469)
      >  #3 in LwpObjectFactory::CreateObject(unsigned int, LwpObjectHeader&) at lotuswordpro/source/filter/lwpobjfactory.cxx:661:17 (instdir/program/liblwpftlo.so +0x9df3f4)
      >  #4 in LwpObjectFactory::QueryObject(LwpObjectID const&) at lotuswordpro/source/filter/lwpobjfactory.cxx:704:15 (instdir/program/liblwpftlo.so +0x9e006f)
      >  #5 in LwpObjectID::obj(VO_TYPE) const at lotuswordpro/source/filter/lwpobjid.cxx:190:47 (instdir/program/liblwpftlo.so +0xa00679)
      >  #6 in LwpParaStyle::Apply(XFParaStyle*) at lotuswordpro/source/filter/lwpparastyle.cxx:151:62 (instdir/program/liblwpftlo.so +0xa92be0)
      >  #7 in LwpParaStyle::RegisterStyle() at lotuswordpro/source/filter/lwpparastyle.cxx:673:5 (instdir/program/liblwpftlo.so +0xa9e649)
      >  #8 in LwpDocument::RegisterTextStyles() at lotuswordpro/source/filter/lwpdoc.cxx:242:25 (instdir/program/liblwpftlo.so +0x797af6)
      >  #9 in LwpDocument::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:211:5 (instdir/program/liblwpftlo.so +0x794fd6)
      >  #10 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #11 in LwpDocSock::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:807:15 (instdir/program/liblwpftlo.so +0x7a36cf)
      >  #12 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #13 in LwpDocument::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:222:19 (instdir/program/liblwpftlo.so +0x7953d4)
      >  #14 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #15 in Lwp9Reader::ParseDocument() at lotuswordpro/source/filter/lwp9reader.cxx:154:10 (instdir/program/liblwpftlo.so +0x6f4c77)
      >  #16 in Lwp9Reader::Read() at lotuswordpro/source/filter/lwp9reader.cxx:90:20 (instdir/program/liblwpftlo.so +0x6f3f2c)
      >  #17 in ReadWordproFile(SvStream&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XDocumentHandler> const&) at lotuswordpro/source/filter/lwpfilter.cxx:215:33 (instdir/program/liblwpftlo.so +0x82436d)
      >  #18 in LotusWordProImportFilter::importImpl(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:75:14 (instdir/program/liblwpftlo.so +0x6e4a3a)
      >  #19 in LotusWordProImportFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:87:12 (instdir/program/liblwpftlo.so +0x6e4cfa)
      >  #20 in (anonymous namespace)::LotusWordProTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:59:27 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x14a52)
      >  #21 in test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:130:20 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x5724c)
      >  #22 in test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:158:5 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x580e7)
      >  #23 in (anonymous namespace)::LotusWordProTest::test() at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:64:9 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x153d4)
      >  #24 in void std::__invoke_impl<void, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:73:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17fcd)
      >  #25 in std::__invoke_result<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>::type std::__invoke<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:95:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17c6b)
      >  #26 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:400:11 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17b28)
      >  #27 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::operator()<void>() at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:482:17 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x178e5)
      >  #28 in std::_Function_handler<void (), std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()> >::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x16bc6)
      >  #29 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x23276)
      >  #30 in CppUnit::TestCaller<(anonymous namespace)::LotusWordProTest>::runTest() at workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x160c6)
      >  #31 in CppUnit::TestCaseMethodFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22c1f1)
      >  #32 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at test/source/vclbootstrapprotector.cxx:49:14 (workdir/LinkTarget/Library/libvclbootstrapprotector.so +0x159a)
      >  #33 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #34 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:88:12 (workdir/LinkTarget/Library/unobootstrapprotector.so +0x987a)
      >  #35 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #36 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (workdir/LinkTarget/Library/unoexceptionprotector.so +0x5000)
      >  #37 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #38 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x1c6c51)
      >  #39 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #40 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x2096b8)
      >  #41 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26c3e4)
      >  #42 in CppUnit::TestCase::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22b1fb)
      >  #43 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #44 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #45 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #46 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #47 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28b6c2)
      >  #48 in CppUnit::TestResult::runTest(CppUnit::Test*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26b715)
      >  #49 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28c103)
      >  #50 in (anonymous namespace)::ProtectedFixtureFunctor::run() const at sal/cppunittester/cppunittester.cxx:316:20 (workdir/LinkTarget/Executable/cppunittester +0x440697)
      >  #51 in sal_main() at sal/cppunittester/cppunittester.cxx:466:20 (workdir/LinkTarget/Executable/cppunittester +0x43e2fc)
      >  #52 in main at sal/cppunittester/cppunittester.cxx:373:1 (workdir/LinkTarget/Executable/cppunittester +0x43d90e)
      >  #53 in __libc_start_main at /usr/src/debug/glibc-2.27-74-g68c1bf8097/csu/../csu/libc-start.c:308:16 (/lib64/libc.so.6 +0x2324a)
      >  #54 in _start at <null> (workdir/LinkTarget/Executable/cppunittester +0x4172a9)
      
      Change-Id: Idabb149df922432b48330d3914d1467b6ab01580
      Reviewed-on: https://gerrit.libreoffice.org/58932
      Tested-by: Jenkins
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      9ce9872a
    • Stephan Bergmann's avatar
      LwpPageLayout::GetPageNumber returns sal_Int32 · 8a34b8cb
      Stephan Bergmann yazdı
      ...so assume this code (esp. the following nPageNumber>0 check) wants to
      actually use sal_Int32 rather than wrap-around (cf. the subtraction of 1)
      sal_uInt16.  (The code was like that ever since its introduction with
      cc316b39 "Port of Lotus Word Pro filter, by Fong
      Lin and Noel Power".)
      
      Found with new Clang -fsanitize=implicit-conversion during
      CppunitTest_lotuswordpro_test_lotuswordpro:
      
      > lotuswordpro/source/filter/lwppagelayout.cxx:447:23: runtime error: implicit conversion from type 'int' of value -2 (32-bit, signed) to type 'sal_uInt16' (aka 'unsigned short') changed the value to 65534 (16-bit, unsigned)
      >  #0 in LwpPageLayout::HasFillerPageText(LwpFoundry const*) at lotuswordpro/source/filter/lwppagelayout.cxx:447:23 (instdir/program/liblwpftlo.so +0xa23859)
      >  #1 in LwpMasterPage::RegisterFillerPageStyle() at lotuswordpro/source/filter/lwpfribsection.cxx:434:23 (instdir/program/liblwpftlo.so +0x9051e4)
      >  #2 in LwpMasterPage::RegisterMasterPage(LwpFrib*) at lotuswordpro/source/filter/lwpfribsection.cxx:288:17 (instdir/program/liblwpftlo.so +0x8fd614)
      >  #3 in LwpFribPageBreak::RegisterBreakStyle(LwpPara*) at lotuswordpro/source/filter/lwpfribbreaks.cxx:125:24 (instdir/program/liblwpftlo.so +0x890392)
      >  #4 in LwpFribPtr::RegisterStyle() at lotuswordpro/source/filter/lwpfribptr.cxx:440:24 (instdir/program/liblwpftlo.so +0x8f4ef9)
      >  #5 in LwpPara::RegisterStyle() at lotuswordpro/source/filter/lwppara.cxx:684:13 (instdir/program/liblwpftlo.so +0xa7267f)
      >  #6 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #7 in LwpStory::RegisterStyle() at lotuswordpro/source/filter/lwpstory.cxx:146:16 (instdir/program/liblwpftlo.so +0xae61cf)
      >  #8 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #9 in LwpFooterLayout::RegisterStyle(XFMasterPage*) at lotuswordpro/source/filter/lwppagelayout.cxx:1042:17 (instdir/program/liblwpftlo.so +0xa1f491)
      >  #10 in LwpPageLayout::RegisterStyle() at lotuswordpro/source/filter/lwppagelayout.cxx:354:24 (instdir/program/liblwpftlo.so +0xa1d717)
      >  #11 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #12 in LwpHeadLayout::RegisterStyle() at lotuswordpro/source/filter/lwplayout.cxx:520:22 (instdir/program/liblwpftlo.so +0x96e987)
      >  #13 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #14 in LwpHeadLayout::RegisterStyle() at lotuswordpro/source/filter/lwplayout.cxx:520:22 (instdir/program/liblwpftlo.so +0x96e987)
      >  #15 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #16 in LwpFoundry::RegisterAllLayouts() at lotuswordpro/source/filter/lwpfoundry.cxx:182:17 (instdir/program/liblwpftlo.so +0x852894)
      >  #17 in LwpDocument::RegisterLayoutStyles() at lotuswordpro/source/filter/lwpdoc.cxx:257:26 (instdir/program/liblwpftlo.so +0x7980b9)
      >  #18 in LwpDocument::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:212:5 (instdir/program/liblwpftlo.so +0x795056)
      >  #19 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #20 in LwpDocSock::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:807:15 (instdir/program/liblwpftlo.so +0x7a36cf)
      >  #21 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #22 in LwpDocument::RegisterStyle() at lotuswordpro/source/filter/lwpdoc.cxx:222:19 (instdir/program/liblwpftlo.so +0x7953d4)
      >  #23 in LwpObject::DoRegisterStyle() at lotuswordpro/inc/lwpobj.hxx:109:9 (instdir/program/liblwpftlo.so +0x7001ea)
      >  #24 in Lwp9Reader::ParseDocument() at lotuswordpro/source/filter/lwp9reader.cxx:154:10 (instdir/program/liblwpftlo.so +0x6f4c77)
      >  #25 in Lwp9Reader::Read() at lotuswordpro/source/filter/lwp9reader.cxx:90:20 (instdir/program/liblwpftlo.so +0x6f3f2c)
      >  #26 in ReadWordproFile(SvStream&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XDocumentHandler> const&) at lotuswordpro/source/filter/lwpfilter.cxx:215:33 (instdir/program/liblwpftlo.so +0x82436d)
      >  #27 in LotusWordProImportFilter::importImpl(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:75:14 (instdir/program/liblwpftlo.so +0x6e4a3a)
      >  #28 in LotusWordProImportFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at lotuswordpro/source/filter/LotusWordProImportFilter.cxx:87:12 (instdir/program/liblwpftlo.so +0x6e4cfa)
      >  #29 in (anonymous namespace)::LotusWordProTest::load(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int) at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:59:27 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x14a52)
      >  #30 in test::FiltersTest::recursiveScan(test::filterStatus, rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:130:20 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x5724c)
      >  #31 in test::FiltersTest::testDir(rtl::OUString const&, rtl::OUString const&, rtl::OUString const&, SfxFilterFlags, SotClipboardFormatId, unsigned int, bool) at unotest/source/cpp/filters-test.cxx:158:5 (workdir/LinkTarget/CppunitTest/../Library/libunotest.so +0x580e7)
      >  #32 in (anonymous namespace)::LotusWordProTest::test() at lotuswordpro/qa/cppunit/test_lotuswordpro.cxx:64:9 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x153d4)
      >  #33 in void std::__invoke_impl<void, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(std::__invoke_memfun_deref, void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:73:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17fcd)
      >  #34 in std::__invoke_result<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>::type std::__invoke<void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&>(void ((anonymous namespace)::LotusWordProTest::*&)(), (anonymous namespace)::LotusWordProTest*&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/invoke.h:95:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17c6b)
      >  #35 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::__call<void, 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:400:11 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x17b28)
      >  #36 in void std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()>::operator()<void>() at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/functional:482:17 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x178e5)
      >  #37 in std::_Function_handler<void (), std::_Bind<void ((anonymous namespace)::LotusWordProTest::* ((anonymous namespace)::LotusWordProTest*))()> >::_M_invoke(std::_Any_data const&) at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:297:2 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x16bc6)
      >  #38 in std::function<void ()>::operator()() const at /usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/std_function.h:687:14 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x23276)
      >  #39 in CppUnit::TestCaller<(anonymous namespace)::LotusWordProTest>::runTest() at workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:175:7 (workdir/LinkTarget/CppunitTest/libtest_lotuswordpro_test_lotuswordpro.so +0x160c6)
      >  #40 in CppUnit::TestCaseMethodFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22c1f1)
      >  #41 in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at test/source/vclbootstrapprotector.cxx:49:14 (workdir/LinkTarget/Library/libvclbootstrapprotector.so +0x159a)
      >  #42 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #43 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:88:12 (workdir/LinkTarget/Library/unobootstrapprotector.so +0x987a)
      >  #44 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #45 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16 (workdir/LinkTarget/Library/unoexceptionprotector.so +0x5000)
      >  #46 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #47 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x1c6c51)
      >  #48 in CppUnit::ProtectorChain::ProtectFunctor::operator()() const at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x20e64d)
      >  #49 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) at workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:86:18 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x2096b8)
      >  #50 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:182:28 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26c3e4)
      >  #51 in CppUnit::TestCase::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22b1fb)
      >  #52 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #53 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #54 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22db43)
      >  #55 in CppUnit::TestComposite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x22d119)
      >  #56 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28b6c2)
      >  #57 in CppUnit::TestResult::runTest(CppUnit::Test*) at workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:149:9 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x26b715)
      >  #58 in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14 (workdir/UnpackedTarball/cppunit/src/cppunit/.libs/libcppunit-1.14.so.0 +0x28c103)
      >  #59 in (anonymous namespace)::ProtectedFixtureFunctor::run() const at sal/cppunittester/cppunittester.cxx:316:20 (workdir/LinkTarget/Executable/cppunittester +0x440697)
      >  #60 in sal_main() at sal/cppunittester/cppunittester.cxx:466:20 (workdir/LinkTarget/Executable/cppunittester +0x43e2fc)
      >  #61 in main at sal/cppunittester/cppunittester.cxx:373:1 (workdir/LinkTarget/Executable/cppunittester +0x43d90e)
      >  #62 in __libc_start_main at /usr/src/debug/glibc-2.27-74-g68c1bf8097/csu/../csu/libc-start.c:308:16 (/lib64/libc.so.6 +0x2324a)
      >  #63 in _start at <null> (workdir/LinkTarget/Executable/cppunittester +0x4172a9)
      
      Change-Id: I1e7458f831619ddf78d654656cdd9edcaf341aaa
      Reviewed-on: https://gerrit.libreoffice.org/58928
      Tested-by: Jenkins
      Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
      8a34b8cb
    • Noel Grandin's avatar
      SvxCharSetColorItem can be removed · 43c1a3a9
      Noel Grandin yazdı
      and just use SvxColorItem in its stead, all of it's special
      functionality has been removed over time
      
      Change-Id: I61a4d1fb92d9dccbdfc5bbb6d1a41692b83eb320
      Reviewed-on: https://gerrit.libreoffice.org/58938
      Tested-by: Jenkins
      Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
      43c1a3a9