Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfault with fuzzed file #468

tholin opened this issue Dec 21, 2014 · 0 comments

Segfault with fuzzed file #468

tholin opened this issue Dec 21, 2014 · 0 comments


Copy link

@tholin tholin commented Dec 21, 2014

Parsing the following file with the tagreader example results in a segfault

$ gdb --args ~/repository/taglib/build/examples/tagreader taglib_musepack_segfault.mpc 
GNU gdb (Gentoo 7.7.1 p1) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/cocobo/repository/taglib/build/examples/tagreader...done.
(gdb) r
Starting program: /home/cocobo/repository/taglib/build/examples/tagreader taglib_musepack_segfault.mpc
warning: Could not load shared library symbols for
Do you need "set solib-search-path" or "set sysroot"?
******************** "taglib_musepack_segfault.mpc" ********************

Program received signal SIGSEGV, Segmentation fault.
TagLib::MPC::Properties::readSV8 (this=this@entry=0x612210, file=file@entry=0x611d00)
    at /home/cocobo/repository/taglib/taglib/mpc/mpcproperties.cpp:205
205           d->version = data[pos];
(gdb) bt full
#0  TagLib::MPC::Properties::readSV8 (this=this@entry=0x612210, file=file@entry=0x611d00)
    at /home/cocobo/repository/taglib/taglib/mpc/mpcproperties.cpp:205
        data = {_vptr.ByteVector = 0x7ffff7dd4650 , static null = {
            _vptr.ByteVector = 0x7ffff7dd4650 , 
            static null = , d = 0x610b40}, 
          d = 0x611e90}
        pos = 4
        begSilence = 
        packetType = {_vptr.ByteVector = 0x7ffff7dd4650 , 
          static null = {_vptr.ByteVector = 0x7ffff7dd4650 , 
            static null = , d = 0x610b40}, 
          d = 0x611c80}
        packetSizeLength = 1
        packetSize = 
        dataSize = 0
        readSH = true
        readRG = false
#1  0x00007ffff7a4bfe3 in TagLib::MPC::Properties::Properties (this=0x612210, file=0x611d00, 
    streamLength=19, style=TagLib::AudioProperties::Average)
    at /home/cocobo/repository/taglib/taglib/mpc/mpcproperties.cpp:86
        magic = {_vptr.ByteVector = 0x7ffff7dd4650 , 
          static null = {_vptr.ByteVector = 0x7ffff7dd4650 , 
            static null = , d = 0x610b40}, 
          d = 0x611e10}
#2  0x00007ffff7a49197 in TagLib::MPC::File::read (this=this@entry=0x611d00, 
    at /home/cocobo/repository/taglib/taglib/mpc/mpcfile.cpp:320
No locals.
#3  0x00007ffff7a495af in TagLib::MPC::File::File (this=0x611d00, file=, 
    readProperties=, propertiesStyle=TagLib::AudioProperties::Average)
    at /home/cocobo/repository/taglib/taglib/mpc/mpcfile.cpp:98
No locals.
#4  0x00007ffff7b98813 in TagLib::FileRef::create (
    fileName=0x7fffffffde6b "taglib_musepack_segfault.mpc", readAudioProperties=, 
    at /home/cocobo/repository/taglib/taglib/fileref.cpp:255
        it = 
        ext = {_vptr.String = 0x7ffff7dd4510 , static null = {
            _vptr.String = 0x7ffff7dd4510 , 
            static null = , 
            static WCharByteOrder = TagLib::String::UTF16LE, d = 0x610af0}, 
          static WCharByteOrder = TagLib::String::UTF16LE, d = 0x611dc0}
#5  0x00007ffff7b99f72 in TagLib::FileRef::FileRef (this=0x7fffffffd8b0, fileName=, 
    readAudioProperties=, audioPropertiesStyle=)
    at /home/cocobo/repository/taglib/taglib/fileref.cpp:83
No locals.
#6  0x0000000000401d80 in main (argc=, argv=)
    at /home/cocobo/repository/taglib/examples/tagreader.cpp:41
        f = {_vptr.FileRef = 0x7ffff7dd6690 , d = 0x7ffff6d31b60}
        i = 
#7  0x00007ffff6d4adc5 in __libc_start_main () from /lib64/
No symbol table info available.
#8  0x0000000000405341 in _start ()
No symbol table info available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

1 participant
You can’t perform that action at this time.