A memory leak has occurred when running program MP4Box, this can reproduce on the latest commit.
### Version
```
$ ./MP4Box -version                              
MP4Box - GPAC version 2.3-DEV-rev602-ged8424300-master
(c) 2000-2023 Telecom Paris distributed under LGPL v2.1+ - http://gpac.io

Please cite our work in your research:
        GPAC Filters: https://doi.org/10.1145/3339825.3394929
        GPAC: https://doi.org/10.1145/1291233.1291452

GPAC Configuration: --static-build --extra-cflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link --extra-ldflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link
Features: GPAC_CONFIG_LINUX GPAC_64_BITS GPAC_HAS_IPV6 GPAC_HAS_SSL GPAC_HAS_SOCK_UN GPAC_MINIMAL_ODF GPAC_HAS_QJS GPAC_HAS_FREETYPE GPAC_HAS_JPEG GPAC_HAS_PNG GPAC_HAS_LINUX_DVB
```
git log 
```
commit ed8424300fc4a1f5231ecd1d47f502ddd3621d1a (HEAD -> master, origin/master, origin/HEAD)
Author: Aurelien David <aurelien.david@telecom-paristech.fr>
Date:   Tue Oct 17 17:05:49 2023 +0200
```
### Verification steps
```
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++ 
git clone https://github.com/gpac/gpac.git
cd gpac
./configure --static-build '--extra-cflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link' '--extra-ldflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link'
make
cd bin/gcc
./MP4Box -info $poc
```
### POC file
[gpac_direct_leak_xtra_box_read.zip](https://github.com/gpac/gpac/files/13040370/gpac_direct_leak_xtra_box_read.zip)

### AddressSanitizer output
```
[isom] not enough bytes in box Xtra: 125 left, reading -32775 (file isomedia/box_code_base.c, line 13240), skipping box - try specifying -no-check (might crash)
[iso file] Box "Xtra" (start 0) has 125 extra bytes
File has no movie (moov) - static data container

=================================================================
==1286074==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 256 byte(s) in 1 object(s) allocated from:
    #0 0x49ffad in malloc (/home/gpac/bin/gcc/MP4Box+0x49ffad)
    #1 0x590e50 in gf_malloc /home/gpac/src/utils/alloc.c:150:9
    #2 0x14f6466 in xtra_box_read /home/gpac/src/isomedia/box_code_base.c:13227:10
    #3 0x87f34e in gf_isom_box_read /home/gpac/src/isomedia/box_funcs.c:2021:9
    #4 0x87da29 in gf_isom_box_parse_ex /home/gpac/src/isomedia/box_funcs.c:311:14
    #5 0x87c479 in gf_isom_parse_root_box /home/gpac/src/isomedia/box_funcs.c:38:8
    #6 0x896562 in gf_isom_parse_movie_boxes_internal /home/gpac/src/isomedia/isom_intern.c:385:7
    #7 0x895f5e in gf_isom_parse_movie_boxes /home/gpac/src/isomedia/isom_intern.c:897:6
    #8 0x89b0ea in gf_isom_open_file /home/gpac/src/isomedia/isom_intern.c:1023:19
    #9 0x8a36ea in gf_isom_open /home/gpac/src/isomedia/isom_read.c
    #10 0x4e9e78 in mp4box_main /home/gpac/applications/mp4box/mp4box.c:6297:12
    #11 0x4f4f10 in main /home/gpac/applications/mp4box/mp4box.c:6939:1
    #12 0x7ffff6f55082 in __libc_start_main /build/glibc-iA3wr8/glibc-2.31/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 256 byte(s) leaked in 1 allocation(s).
```
Memory leak in xtra_box_read function of box_code_base.c:13227:10
This is a GitHub Issue
repo:gpac
owner:gpac
Title : Memory leak in xtra_box_read function of box_code_base.c:13227:10
Issue date:

--- start body ---
A memory leak has occurred when running program MP4Box, this can reproduce on the latest commit.
### Version
```
$ ./MP4Box -version                              
MP4Box - GPAC version 2.3-DEV-rev602-ged8424300-master
(c) 2000-2023 Telecom Paris distributed under LGPL v2.1+ - http://gpac.io

Please cite our work in your research:
        GPAC Filters: https://doi.org/10.1145/3339825.3394929
        GPAC: https://doi.org/10.1145/1291233.1291452

GPAC Configuration: --static-build --extra-cflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link --extra-ldflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link
Features: GPAC_CONFIG_LINUX GPAC_64_BITS GPAC_HAS_IPV6 GPAC_HAS_SSL GPAC_HAS_SOCK_UN GPAC_MINIMAL_ODF GPAC_HAS_QJS GPAC_HAS_FREETYPE GPAC_HAS_JPEG GPAC_HAS_PNG GPAC_HAS_LINUX_DVB
```
git log 
```
commit ed8424300fc4a1f5231ecd1d47f502ddd3621d1a (HEAD -> master, origin/master, origin/HEAD)
Author: Aurelien David <aurelien.david@telecom-paristech.fr>
Date:   Tue Oct 17 17:05:49 2023 +0200
```
### Verification steps
```
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++ 
git clone https://github.com/gpac/gpac.git
cd gpac
./configure --static-build '--extra-cflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link' '--extra-ldflags=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link'
make
cd bin/gcc
./MP4Box -info $poc
```
### POC file
[gpac_direct_leak_xtra_box_read.zip](https://github.com/gpac/gpac/files/13040370/gpac_direct_leak_xtra_box_read.zip)

### AddressSanitizer output
```
[isom] not enough bytes in box Xtra: 125 left, reading -32775 (file isomedia/box_code_base.c, line 13240), skipping box - try specifying -no-check (might crash)
[iso file] Box "Xtra" (start 0) has 125 extra bytes
File has no movie (moov) - static data container

=================================================================
==1286074==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 256 byte(s) in 1 object(s) allocated from:
    #0 0x49ffad in malloc (/home/gpac/bin/gcc/MP4Box+0x49ffad)
    #1 0x590e50 in gf_malloc /home/gpac/src/utils/alloc.c:150:9
    #2 0x14f6466 in xtra_box_read /home/gpac/src/isomedia/box_code_base.c:13227:10
    #3 0x87f34e in gf_isom_box_read /home/gpac/src/isomedia/box_funcs.c:2021:9
    #4 0x87da29 in gf_isom_box_parse_ex /home/gpac/src/isomedia/box_funcs.c:311:14
    #5 0x87c479 in gf_isom_parse_root_box /home/gpac/src/isomedia/box_funcs.c:38:8
    #6 0x896562 in gf_isom_parse_movie_boxes_internal /home/gpac/src/isomedia/isom_intern.c:385:7
    #7 0x895f5e in gf_isom_parse_movie_boxes /home/gpac/src/isomedia/isom_intern.c:897:6
    #8 0x89b0ea in gf_isom_open_file /home/gpac/src/isomedia/isom_intern.c:1023:19
    #9 0x8a36ea in gf_isom_open /home/gpac/src/isomedia/isom_read.c
    #10 0x4e9e78 in mp4box_main /home/gpac/applications/mp4box/mp4box.c:6297:12
    #11 0x4f4f10 in main /home/gpac/applications/mp4box/mp4box.c:6939:1
    #12 0x7ffff6f55082 in __libc_start_main /build/glibc-iA3wr8/glibc-2.31/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 256 byte(s) leaked in 1 allocation(s).
```
--- end body ---

A memory leak in the xtra_box_read function of GPAC's MP4Box allows for inefficient memory usage, which could lead to performance degradation or application crashes over time. The leak occurs when the function allocates memory without proper deallocation, as indicated by the AddressSanitizer output showing a direct leak of 256 bytes.