Public bug reported:

Certain input causes a segmentation fault in the FlightCrew versions
packaged for bionic and later.

To reproduce, run on both xenial and bionic/cosmic/disco:

sudo apt-get install flightcrew
flightcrew-cli --input-file flightcrew_ubuntu_crash.epub


Output on xenial:

flightcrew_ubuntu_crash.epub/META-INF/container.xml(1): error 900:
unsupported XML version '1..'


Output on bionic:

Unknown exception!
Segmentation fault (core dumped)


Valgrind output for bionic:

valgrind flightcrew-cli compost/flightcrew_ubuntu_crash.epub 
==2087== Memcheck, a memory error detector
==2087== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2087== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==2087== Command: flightcrew-cli compost/flightcrew_ubuntu_crash.epub
==2087== 
Unknown exception!
==2087== Invalid read of size 8
==2087==    at 0x66A5614: xercesc_3_2::DOMException::~DOMException() (in 
/usr/lib/x86_64-linux-gnu/libxerces-c-3.2.so)
==2087==    by 0x5538C6E: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==2087==    by 0x1164E1: main (in /usr/bin/flightcrew-cli)
==2087==  Address 0xe8e4820 is 0 bytes inside a block of size 8 free'd
==2087==    at 0x4C3123B: operator delete(void*) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2087==    by 0x667741F: xercesc_3_2::XMLPlatformUtils::Terminate() (in 
/usr/lib/x86_64-linux-gnu/libxerces-c-3.2.so)
==2087==    by 0x4EC2A10: 
FlightCrew::ValidateEpubRootFolder(boost::filesystem::path const&) (in 
/usr/lib/libFlightCrew.so.0.7.2)
==2087==    by 0x4EC2BE1: FlightCrew::ValidateEpub(boost::filesystem::path 
const&) (in /usr/lib/libFlightCrew.so.0.7.2)
==2087==    by 0x4F3DF0E: 
FlightCrew::ValidateEpub(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) (in 
/usr/lib/libFlightCrew.so.0.7.2)
==2087==    by 0x116989: 
ValidateFiles(std::vector<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > > > const&) (in /usr/bin/flightcrew-cli)
==2087==    by 0x1163E3: main (in /usr/bin/flightcrew-cli)
==2087==  Block was alloc'd at
==2087==    at 0x4C3017F: operator new(unsigned long) (in 
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2087==    by 0x6677FFE: xercesc_3_2::XMLPlatformUtils::Initialize(char 
const*, char const*, xercesc_3_2::PanicHandler*, xercesc_3_2::MemoryManager*) 
(in /usr/lib/x86_64-linux-gnu/libxerces-c-3.2.so)
==2087==    by 0x4EC26F6: 
FlightCrew::ValidateEpubRootFolder(boost::filesystem::path const&) (in 
/usr/lib/libFlightCrew.so.0.7.2)
==2087==    by 0x4EC2BE1: FlightCrew::ValidateEpub(boost::filesystem::path 
const&) (in /usr/lib/libFlightCrew.so.0.7.2)
==2087==    by 0x4F3DF0E: 
FlightCrew::ValidateEpub(std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) (in 
/usr/lib/libFlightCrew.so.0.7.2)
==2087==    by 0x116989: 
ValidateFiles(std::vector<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > > > const&) (in /usr/bin/flightcrew-cli)
==2087==    by 0x1163E3: main (in /usr/bin/flightcrew-cli)
==2087== 
==2087== 
==2087== HEAP SUMMARY:
==2087==     in use at exit: 0 bytes in 0 blocks
==2087==   total heap usage: 7,020 allocs, 7,020 frees, 2,272,769 bytes 
allocated
==2087== 
==2087== All heap blocks were freed -- no leaks are possible
==2087== 
==2087== For counts of detected and suppressed errors, rerun with: -v
==2087== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)


Additional information:

There are minor code differences between bionic and xenial that I would
not expect to cause this bug. To verify, I backported the bionic version
of flightcrew to xenial. There was no segmentation fault when running
the backported flightcrew on xenial.

** Affects: flightcrew (Ubuntu)
     Importance: Low
         Status: New

** Attachment added: "flightcrew_ubuntu_crash.epub"
   
https://bugs.launchpad.net/bugs/1836217/+attachment/5276507/+files/flightcrew_ubuntu_crash.epub

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1836217

Title:
  FlightCrew CLI segfaults for bionic but not xenial

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flightcrew/+bug/1836217/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to