[DRE-maint] Bug#696752: segfault in ruby-taglib2, need FTBFS fix

Stefan Bühler lighttpd at stbuehler.de
Wed Dec 26 19:20:15 UTC 2012


Package: ruby-taglib2
Version: 0.1.3-1
Severity: important

Environment: kFreeBSD (9.0.2-amd64)

file_alloc sets
    data->closed=0;
but doesn't set data->file=NULL.
This means that free_tgFileData (the ruby data destructor) can fail, if
init failed (which would set data->file in case of success).

version 0.1.5-1 fixes it by setting data->closed (in _alloc and
_init), although it still doesn't clear data->file in _alloc (not
required, but should be done anyway imho).

I triggered the segfault by running
  https://github.com/stbuehler/media-player-indexer
  (the update script)

on about 6000 files; not all were media files (.m3u files for
example).

The backtrace didn't contain anything useful apart from what i
described above - data->closed was 0, and data->file was an invalid C++
object (the virtual-table pointer was 0).


Other issues:
  * fix the clean rules. debian/clean doesn't delete
    directories, use override_dh_clean: dh_clean; rm -rf tests/tmp
    instead.
  * somehow the write for f.save gets delayed partially (ktrace).
    calling f.save twice in tests/file.rb fixes the checks,
    don't ask me why (sleep doesn't work, so not a timing issue).



More information about the Pkg-ruby-extras-maintainers mailing list