axiomatic-systems / Bento4

Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools
http://www.bento4.com
2.03k stars 483 forks source link

Memory leaks in Ap4DataBuffer.cpp:210:28 (v1.6.641) #967

Open furtherun opened 5 months ago

furtherun commented 5 months ago

Hi, Developers.

I have detected a memory leak crash at Ap4DataBuffer.cpp:210:28 in the latest tag version v1.6.0-641.

System

I discover this crash with a docker container configured with 1 CPU core of Intel(R) Xeon(R) Gold 5218R CPU @ 2.10GHz and the 64-bit Ubuntu 18.04 LTS.

Version

v1.6.0-641

Program

mp42hls

Build

mkdir cmakebuild
cd cmakebuild
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j $(nproc)

Run

./mp42hls ./bento4-poc1

PoC

One PoC file in this zip.

bento4-poc1.zip

Crash

ERROR: no movie in file

=================================================================
==3062==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 343 byte(s) in 1 object(s) allocated from:
    #0 0x4c84ed in operator new[](unsigned long) (/out/mp42hls+0x4c84ed)
    #1 0x513fb0 in AP4_DataBuffer::ReallocateBuffer(unsigned int) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4DataBuffer.cpp:210:28
    #2 0x513fb0 in AP4_DataBuffer::SetDataSize(unsigned int) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4DataBuffer.cpp:151:33
    #3 0x4e1f53 in AP4_UnknownAtom::AP4_UnknownAtom(unsigned int, unsigned long long, AP4_ByteStream&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4Atom.cpp:346:19
    #4 0x4ee673 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:242:20
    #5 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #6 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #7 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #8 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #9 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 264 byte(s) in 3 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x4ee637 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:242:16
    #2 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #3 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #4 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #5 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #6 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 256 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x51d165 in AP4_Array<unsigned int>::EnsureCapacity(unsigned int) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4Array.h:172:25
    #2 0x51d165 in AP4_Array<unsigned int>::Append(unsigned int const&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4Array.h:252:29
    #3 0x51d165 in AP4_FtypAtom::AP4_FtypAtom(unsigned int, AP4_ByteStream&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4FtypAtom.cpp:57:28
    #4 0x4efd4b in AP4_FtypAtom::Create(unsigned int, AP4_ByteStream&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4FtypAtom.h:66:20
    #5 0x4efd4b in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:630:20
    #6 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #7 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #8 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #9 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #10 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #11 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 152 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x4efe7f in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:319:20
    #2 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #3 0x590c2e in AP4_StsdAtom::AP4_StsdAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:101:13
    #4 0x58fe38 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:16
    #5 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #6 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #7 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #8 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #9 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #10 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #11 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 136 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x520db6 in AP4_HvccAtom::Create(unsigned int, AP4_ByteStream&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4HvccAtom.cpp:90:12
    #2 0x4ef3f1 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:518:20
    #3 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #4 0x5003dc in AP4_ContainerAtom::ReadChildren(AP4_AtomFactory&, AP4_ByteStream&, unsigned long long) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4ContainerAtom.cpp:194:12
    #5 0x58109d in AP4_VisualSampleEntry::AP4_VisualSampleEntry(unsigned int, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:884:5
    #6 0x58109d in AP4_AvcSampleEntry::AP4_AvcSampleEntry(unsigned int, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:1136:5
    #7 0x4efe98 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:319:24
    #8 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #9 0x590c2e in AP4_StsdAtom::AP4_StsdAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:101:13
    #10 0x58fe38 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:16
    #11 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #12 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #13 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #14 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #15 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #16 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #17 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 120 byte(s) in 5 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x4e38aa in AP4_List<AP4_Atom>::Add(AP4_Atom*) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4List.h:160:16
    #2 0x4e38aa in AP4_AtomParent::AddChild(AP4_Atom*, int) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4Atom.cpp:532:29
    #3 0x51bdde in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:105:9
    #4 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #5 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #6 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 104 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x58fe05 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:12
    #2 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #3 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #4 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #5 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #6 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #7 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #8 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 72 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x4cf127 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:28
    #2 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 72 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x4efd39 in AP4_FtypAtom::Create(unsigned int, AP4_ByteStream&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4FtypAtom.h:66:16
    #2 0x4efd39 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:630:20
    #3 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #4 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #5 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #6 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #7 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #8 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x5d393e in AP4_StdcFileByteStream::Create(AP4_FileByteStream*, char const*, AP4_FileByteStream::Mode, AP4_ByteStream*&) /src/targets/bento4_v1.6_641/repo/Source/C++/System/StdC/Ap4StdCFileByteStream.cpp:279:14
    #2 0x4cf115 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1887:14
    #3 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x590ca8 in AP4_List<AP4_Atom>::Add(AP4_Atom*) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4List.h:160:16
    #2 0x590ca8 in AP4_StsdAtom::AP4_StsdAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:105:24
    #3 0x58fe38 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:16
    #4 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #5 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #6 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #7 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #8 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #9 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #10 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x5004ec in AP4_List<AP4_Atom>::Add(AP4_Atom*) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4List.h:160:16
    #2 0x5004ec in AP4_ContainerAtom::ReadChildren(AP4_AtomFactory&, AP4_ByteStream&, unsigned long long) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4ContainerAtom.cpp:197:20
    #3 0x58109d in AP4_VisualSampleEntry::AP4_VisualSampleEntry(unsigned int, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:884:5
    #4 0x58109d in AP4_AvcSampleEntry::AP4_AvcSampleEntry(unsigned int, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:1136:5
    #5 0x4efe98 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:319:24
    #6 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #7 0x590c2e in AP4_StsdAtom::AP4_StsdAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:101:13
    #8 0x58fe38 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:16
    #9 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #10 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #11 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #12 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #13 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #14 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #15 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 11 byte(s) in 1 object(s) allocated from:
    #0 0x4c84ed in operator new[](unsigned long) (/out/mp42hls+0x4c84ed)
    #1 0x58ccfe in AP4_String::Assign(char const*, unsigned int) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4String.cpp:165:15
    #2 0x58ccfe in AP4_String::operator=(char const*) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4String.cpp:123:9
    #3 0x57f23f in AP4_VisualSampleEntry::ReadFields(AP4_ByteStream&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:923:26
    #4 0x579bfd in AP4_SampleEntry::Read(AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:108:5
    #5 0x58109d in AP4_VisualSampleEntry::AP4_VisualSampleEntry(unsigned int, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:884:5
    #6 0x58109d in AP4_AvcSampleEntry::AP4_AvcSampleEntry(unsigned int, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4SampleEntry.cpp:1136:5
    #7 0x4efe98 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:319:24
    #8 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #9 0x590c2e in AP4_StsdAtom::AP4_StsdAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:101:13
    #10 0x58fe38 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:16
    #11 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #12 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #13 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #14 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #15 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #16 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #17 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

Indirect leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x4c83dd in operator new(unsigned long) (/out/mp42hls+0x4c83dd)
    #1 0x590eaa in AP4_Array<AP4_SampleDescription*>::EnsureCapacity(unsigned int) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4Array.h:172:25
    #2 0x590eaa in AP4_StsdAtom::AP4_StsdAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:115:26
    #3 0x58fe38 in AP4_StsdAtom::Create(unsigned int, AP4_ByteStream&, AP4_AtomFactory&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4StsdAtom.cpp:57:16
    #4 0x4f0060 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:458:20
    #5 0x4ee5a4 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:234:14
    #6 0x4eddce in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4AtomFactory.cpp:154:12
    #7 0x51bd8e in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:104:12
    #8 0x51c4bd in AP4_File::AP4_File(AP4_ByteStream&, bool) /src/targets/bento4_v1.6_641/repo/Source/C++/Core/Ap4File.cpp:78:5
    #9 0x4cf155 in main /src/targets/bento4_v1.6_641/repo/Source/C++/Apps/Mp42Hls/Mp42Hls.cpp:1894:32
    #10 0x7ebcef0fcc86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

SUMMARY: AddressSanitizer: 1634 byte(s) leaked in 20 allocation(s).