• Stephan Bergmann's avatar
    external/libcdr: Avoid UB converting from double to int via unsigned · 4c707b78
    Stephan Bergmann yazdı
    Opening cdr/fdo53278-4.cdr as obtained by
    bin/get-bugzilla-attachments-by-mimetype (i.e., the attachment at
    <https://bugs.documentfoundation.org/show_bug.cgi?id=53278#c14>) under
    -fsanitize=undefined causes
    
    > CDRPath.cpp:821:34: runtime error: -173.908 is outside the range of representable values of type 'unsigned int'
    >  #0 in libcdr::CDRPath::writeOut(librevenge::RVNGString&, librevenge::RVNGString&, double&) const at workdir/UnpackedTarball/libcdr/src/lib/CDRPath.cpp:821:34 (instdir/program/../program/libwpftdrawlo.so +0x2380015)
    >  #1 in libcdr::CDRContentCollector::_lineProperties(librevenge::RVNGPropertyList&) at workdir/UnpackedTarball/libcdr/src/lib/CDRContentCollector.cpp:1118:17 (instdir/program/../program/libwpftdrawlo.so +0x2090b54)
    >  #2 in libcdr::CDRContentCollector::_flushCurrentPath() at workdir/UnpackedTarball/libcdr/src/lib/CDRContentCollector.cpp:240:5 (instdir/program/../program/libwpftdrawlo.so +0x2070a9e)
    >  #3 in libcdr::CDRContentCollector::collectLevel(unsigned int) at workdir/UnpackedTarball/libcdr/src/lib/CDRContentCollector.cpp:563:5 (instdir/program/../program/libwpftdrawlo.so +0x209243d)
    >  #4 in libcdr::CDRParser::parseRecord(librevenge::RVNGInputStream*, std::vector<unsigned int, std::allocator<unsigned int> > const&, unsigned int) at workdir/UnpackedTarball/libcdr/src/lib/CDRParser.cpp:514:18 (instdir/program/../program/libwpftdrawlo.so +0x213bdff)
    >  #5 in libcdr::CDRParser::parseRecords(librevenge::RVNGInputStream*, std::vector<unsigned int, std::allocator<unsigned int> > const&, unsigned int) at workdir/UnpackedTarball/libcdr/src/lib/CDRParser.cpp:500:10 (instdir/program/../program/libwpftdrawlo.so +0x213b93f)
    [...]
    
    Change-Id: Ie73965851102689ebb7895d61edb3d32ff47c60c
    Reviewed-on: https://gerrit.libreoffice.org/73181
    Tested-by: Jenkins
    Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    4c707b78
Adı
Son kayıt (commit)
Son güncelleme
..
0001-Add-missing-include.patch.1 Loading commit data...
ExternalProject_libcdr.mk Loading commit data...
Makefile Loading commit data...
Module_libcdr.mk Loading commit data...
README Loading commit data...
UnpackedTarball_libcdr.mk Loading commit data...
libcdr-visibility-win.patch Loading commit data...
ubsan-visibility.patch Loading commit data...
ubsan.patch Loading commit data...