Hi, developers of Bento4:
When I tested the latest mp42aac, the following crash occurred. 

## The problem
The optput of mp42aac:
```
terminate called after throwing an instance of 'std::bad_alloc'
     what():  std::bad_alloc

```
The output of mp42aac_asan:
```
==114645==ERROR: AddressSanitizer failed to allocate 0xf262dd000 (65065046016) bytes of LargeMmapAllocator (errno: 12)
==114645==Process memory map follows:
	0x000000400000-0x00000057c000	/home/xxzs/workdir/test/mp42aac/mp42aac_asan
	0x00000077b000-0x00000077c000	/home/xxzs/workdir/test/mp42aac/mp42aac_asan
	0x00000077c000-0x00000078b000	/home/xxzs/workdir/test/mp42aac/mp42aac_asan
	0x00007fff7000-0x00008fff7000	
	0x00008fff7000-0x02008fff7000	
	0x02008fff7000-0x10007fff8000	
	0x600000000000-0x602000000000	
	0x602000000000-0x602000010000	
	0x602000010000-0x603000000000	
	0x603000000000-0x603000010000	
	0x603000010000-0x604000000000	
	0x604000000000-0x604000010000	
	0x604000010000-0x607000000000	
	0x607000000000-0x607000010000	
	0x607000010000-0x616000000000	
	0x616000000000-0x616000020000	
	0x616000020000-0x619000000000	
	0x619000000000-0x619000020000	
	0x619000020000-0x621000000000	
	0x621000000000-0x621000020000	
	0x621000020000-0x624000000000	
	0x624000000000-0x624000020000	
	0x624000020000-0x631000000000	
	0x631000000000-0x631000030000	
	0x631000030000-0x640000000000	
	0x640000000000-0x640000003000	
	0x7f6fa9700000-0x7f6fa9800000	
	0x7f6fa9900000-0x7f6fa9a00000	
	0x7f6fa9a15000-0x7f6fabd67000	
	0x7f6fabd67000-0x7f6fabd6a000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabd6a000-0x7f6fabf69000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabf69000-0x7f6fabf6a000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabf6a000-0x7f6fabf6b000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabf6b000-0x7f6fabf83000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fabf83000-0x7f6fac182000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fac182000-0x7f6fac183000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fac183000-0x7f6fac184000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fac184000-0x7f6fac188000	
	0x7f6fac188000-0x7f6fac348000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac348000-0x7f6fac548000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac548000-0x7f6fac54c000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac54c000-0x7f6fac54e000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac54e000-0x7f6fac552000	
	0x7f6fac552000-0x7f6fac568000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7f6fac568000-0x7f6fac767000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7f6fac767000-0x7f6fac768000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7f6fac768000-0x7f6fac870000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6fac870000-0x7f6faca6f000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6faca6f000-0x7f6faca70000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6faca70000-0x7f6faca71000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6faca71000-0x7f6facbe3000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facbe3000-0x7f6facde3000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facde3000-0x7f6facded000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facded000-0x7f6facdef000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facdef000-0x7f6facdf3000	
	0x7f6facdf3000-0x7f6facee7000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6facee7000-0x7f6fad0e7000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6fad0e7000-0x7f6fad0ea000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6fad0ea000-0x7f6fad0eb000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6fad0eb000-0x7f6fadd60000	
	0x7f6fadd60000-0x7f6fadd86000	/lib/x86_64-linux-gnu/ld-2.23.so
	0x7f6fadf2b000-0x7f6fadf6b000	
	0x7f6fadf6c000-0x7f6fadf85000	
	0x7f6fadf85000-0x7f6fadf86000	/lib/x86_64-linux-gnu/ld-2.23.so
	0x7f6fadf86000-0x7f6fadf87000	/lib/x86_64-linux-gnu/ld-2.23.so
	0x7f6fadf87000-0x7f6fadf88000	
	0x7ffc3100b000-0x7ffc3102c000	[stack]
	0x7ffc310c7000-0x7ffc310ca000	[vvar]
	0x7ffc310ca000-0x7ffc310cc000	[vdso]
	0xffffffffff600000-0xffffffffff601000	[vsyscall]
==114645==End of process memory map.
==114645==AddressSanitizer CHECK failed: ../../../../src/libsanitizer/sanitizer_common/sanitizer_posix.cc:121 "(("unable to mmap" && 0)) != (0)" (0x0, 0x0)
    #0 0x7f6face93631  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xa0631)
    #1 0x7f6face985e3 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xa55e3)
    #2 0x7f6facea0611  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xad611)
    #3 0x7f6face15c0c  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x22c0c)
    #4 0x7f6face8c4fe in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x994fe)
    #5 0x50f523 in AP4_Array<AP4_TfraAtom::Entry>::EnsureCapacity(unsigned int) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4Array.h:172
    #6 0x50f523 in AP4_Array<AP4_TfraAtom::Entry>::SetItemCount(unsigned int) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4Array.h:210
    #7 0x50f523 in AP4_TfraAtom::AP4_TfraAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4TfraAtom.cpp:88
    #8 0x50fae7 in AP4_TfraAtom::Create(unsigned int, AP4_ByteStream&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4TfraAtom.cpp:53
    #9 0x470906 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4AtomFactory.cpp:443
    #10 0x472452 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4AtomFactory.cpp:234
    #11 0x472452 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4AtomFactory.cpp:154
    #12 0x40bd11 in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4File.cpp:104
    #13 0x40bd11 in AP4_File::AP4_File(AP4_ByteStream&, bool) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4File.cpp:78
    #14 0x402a40 in main /home/xxzs/workdir/test/Bento4/Source/C++/Apps/Mp42Aac/Mp42Aac.cpp:250
    #15 0x7f6fac1a883f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f)
    #16 0x4045d8 in _start (/home/xxzs/workdir/test/mp42aac/mp42aac_asan+0x4045d8)
```

## Crash input
[POC1.zip](https://github.com/axiomatic-systems/Bento4/files/10090406/POC1.zip)

## Validation steps

1. build the latest mp42aac
2. ./mp42aac ./POC1 /dev/null

## Environment
* Host Operating System and version: Ubuntu 16.04 LTS
* Host CPU architecture: 11th Gen Intel® Core™ i5-11500 @ 2.70GHz × 8 
* gcc version: 5.4.0

std::bad_alloc in mp42aac
This is a GitHub Issue
repo:Bento4
owner:axiomatic-systems
Title : std::bad_alloc in mp42aac
Issue date:

--- start body ---
Hi, developers of Bento4:
When I tested the latest mp42aac, the following crash occurred. 

## The problem
The optput of mp42aac:
```
terminate called after throwing an instance of 'std::bad_alloc'
     what():  std::bad_alloc

```
The output of mp42aac_asan:
```
==114645==ERROR: AddressSanitizer failed to allocate 0xf262dd000 (65065046016) bytes of LargeMmapAllocator (errno: 12)
==114645==Process memory map follows:
	0x000000400000-0x00000057c000	/home/xxzs/workdir/test/mp42aac/mp42aac_asan
	0x00000077b000-0x00000077c000	/home/xxzs/workdir/test/mp42aac/mp42aac_asan
	0x00000077c000-0x00000078b000	/home/xxzs/workdir/test/mp42aac/mp42aac_asan
	0x00007fff7000-0x00008fff7000	
	0x00008fff7000-0x02008fff7000	
	0x02008fff7000-0x10007fff8000	
	0x600000000000-0x602000000000	
	0x602000000000-0x602000010000	
	0x602000010000-0x603000000000	
	0x603000000000-0x603000010000	
	0x603000010000-0x604000000000	
	0x604000000000-0x604000010000	
	0x604000010000-0x607000000000	
	0x607000000000-0x607000010000	
	0x607000010000-0x616000000000	
	0x616000000000-0x616000020000	
	0x616000020000-0x619000000000	
	0x619000000000-0x619000020000	
	0x619000020000-0x621000000000	
	0x621000000000-0x621000020000	
	0x621000020000-0x624000000000	
	0x624000000000-0x624000020000	
	0x624000020000-0x631000000000	
	0x631000000000-0x631000030000	
	0x631000030000-0x640000000000	
	0x640000000000-0x640000003000	
	0x7f6fa9700000-0x7f6fa9800000	
	0x7f6fa9900000-0x7f6fa9a00000	
	0x7f6fa9a15000-0x7f6fabd67000	
	0x7f6fabd67000-0x7f6fabd6a000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabd6a000-0x7f6fabf69000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabf69000-0x7f6fabf6a000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabf6a000-0x7f6fabf6b000	/lib/x86_64-linux-gnu/libdl-2.23.so
	0x7f6fabf6b000-0x7f6fabf83000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fabf83000-0x7f6fac182000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fac182000-0x7f6fac183000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fac183000-0x7f6fac184000	/lib/x86_64-linux-gnu/libpthread-2.23.so
	0x7f6fac184000-0x7f6fac188000	
	0x7f6fac188000-0x7f6fac348000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac348000-0x7f6fac548000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac548000-0x7f6fac54c000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac54c000-0x7f6fac54e000	/lib/x86_64-linux-gnu/libc-2.23.so
	0x7f6fac54e000-0x7f6fac552000	
	0x7f6fac552000-0x7f6fac568000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7f6fac568000-0x7f6fac767000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7f6fac767000-0x7f6fac768000	/lib/x86_64-linux-gnu/libgcc_s.so.1
	0x7f6fac768000-0x7f6fac870000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6fac870000-0x7f6faca6f000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6faca6f000-0x7f6faca70000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6faca70000-0x7f6faca71000	/lib/x86_64-linux-gnu/libm-2.23.so
	0x7f6faca71000-0x7f6facbe3000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facbe3000-0x7f6facde3000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facde3000-0x7f6facded000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facded000-0x7f6facdef000	/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
	0x7f6facdef000-0x7f6facdf3000	
	0x7f6facdf3000-0x7f6facee7000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6facee7000-0x7f6fad0e7000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6fad0e7000-0x7f6fad0ea000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6fad0ea000-0x7f6fad0eb000	/usr/lib/x86_64-linux-gnu/libasan.so.2.0.0
	0x7f6fad0eb000-0x7f6fadd60000	
	0x7f6fadd60000-0x7f6fadd86000	/lib/x86_64-linux-gnu/ld-2.23.so
	0x7f6fadf2b000-0x7f6fadf6b000	
	0x7f6fadf6c000-0x7f6fadf85000	
	0x7f6fadf85000-0x7f6fadf86000	/lib/x86_64-linux-gnu/ld-2.23.so
	0x7f6fadf86000-0x7f6fadf87000	/lib/x86_64-linux-gnu/ld-2.23.so
	0x7f6fadf87000-0x7f6fadf88000	
	0x7ffc3100b000-0x7ffc3102c000	[stack]
	0x7ffc310c7000-0x7ffc310ca000	[vvar]
	0x7ffc310ca000-0x7ffc310cc000	[vdso]
	0xffffffffff600000-0xffffffffff601000	[vsyscall]
==114645==End of process memory map.
==114645==AddressSanitizer CHECK failed: ../../../../src/libsanitizer/sanitizer_common/sanitizer_posix.cc:121 "(("unable to mmap" && 0)) != (0)" (0x0, 0x0)
    #0 0x7f6face93631  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xa0631)
    #1 0x7f6face985e3 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xa55e3)
    #2 0x7f6facea0611  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0xad611)
    #3 0x7f6face15c0c  (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x22c0c)
    #4 0x7f6face8c4fe in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x994fe)
    #5 0x50f523 in AP4_Array<AP4_TfraAtom::Entry>::EnsureCapacity(unsigned int) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4Array.h:172
    #6 0x50f523 in AP4_Array<AP4_TfraAtom::Entry>::SetItemCount(unsigned int) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4Array.h:210
    #7 0x50f523 in AP4_TfraAtom::AP4_TfraAtom(unsigned int, unsigned char, unsigned int, AP4_ByteStream&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4TfraAtom.cpp:88
    #8 0x50fae7 in AP4_TfraAtom::Create(unsigned int, AP4_ByteStream&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4TfraAtom.cpp:53
    #9 0x470906 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned int, unsigned int, unsigned long long, AP4_Atom*&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4AtomFactory.cpp:443
    #10 0x472452 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, unsigned long long&, AP4_Atom*&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4AtomFactory.cpp:234
    #11 0x472452 in AP4_AtomFactory::CreateAtomFromStream(AP4_ByteStream&, AP4_Atom*&) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4AtomFactory.cpp:154
    #12 0x40bd11 in AP4_File::ParseStream(AP4_ByteStream&, AP4_AtomFactory&, bool) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4File.cpp:104
    #13 0x40bd11 in AP4_File::AP4_File(AP4_ByteStream&, bool) /home/xxzs/workdir/test/Bento4/Source/C++/Core/Ap4File.cpp:78
    #14 0x402a40 in main /home/xxzs/workdir/test/Bento4/Source/C++/Apps/Mp42Aac/Mp42Aac.cpp:250
    #15 0x7f6fac1a883f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2083f)
    #16 0x4045d8 in _start (/home/xxzs/workdir/test/mp42aac/mp42aac_asan+0x4045d8)
```

## Crash input
[POC1.zip](https://github.com/axiomatic-systems/Bento4/files/10090406/POC1.zip)

## Validation steps

1. build the latest mp42aac
2. ./mp42aac ./POC1 /dev/null

## Environment
* Host Operating System and version: Ubuntu 16.04 LTS
* Host CPU architecture: 11th Gen Intel® Core™ i5-11500 @ 2.70GHz × 8 
* gcc version: 5.4.0

--- end body ---
