Thanks for reporting your issue. Please make sure these boxes are checked before submitting your issue - thank you!

- [x] I looked for a similar issue and couldn't find any.
- [x] I tried with the latest version of GPAC. Installers available at http://gpac.io/downloads/gpac-nightly-builds/
- [x] I give enough information for contributors to reproduce my issue (meaningful title, github labels, platform and compiler, command-line ...). I can share files anonymously with this dropbox: https://www.mediafire.com/filedrop/filedrop_hosted.php?drop=eec9e058a9486fe4e99c33021481d9e1826ca9dbc242a6cfaab0fe95da5e5d95

Detailed guidelines: http://gpac.io/bug-reporting/

1.get latest commit code (gpac - GPAC command line filter engine - version 2.3-DEV-rev621-g3edb48d2b-master)
2.compile with --enable-sanitizer
3.run MP4Box -bt poc.swf
Env:
Ubunut 20.04 , clang 16.0.1

`

>==88804==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61b000000630 at pc 0x7f8354a0bc5a bp 0x7ffc283dee40 sp 0x7ffc283de5e8
READ of size 1457 at 0x61b000000630 thread T0
    #0 0x7f8354a0bc59 in __interceptor_strlen ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:387
    #1 0x7f8353dd7d6a in swf_get_string scene_manager/swf_parse.c:332
    #2 0x7f8353de0624 in swf_actions scene_manager/swf_parse.c:1152
    #3 0x7f8353de929b in swf_process_tag scene_manager/swf_parse.c:2363
    #4 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #5 0x7f8353de97e7 in swf_parse_sprite scene_manager/swf_parse.c:2435
    #6 0x7f8353df3a3f in swf_bifs_define_sprite scene_manager/swf_bifs.c:1319
    #7 0x7f8353de561d in swf_def_sprite scene_manager/swf_parse.c:1756
    #8 0x7f8353de9210 in swf_process_tag scene_manager/swf_parse.c:2345
    #9 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #10 0x7f8353debb1f in gf_sm_load_init_swf scene_manager/swf_parse.c:2703
    #11 0x7f8353d84a7f in gf_sm_load_init scene_manager/scene_manager.c:692
    #12 0x56164633c424 in dump_isom_scene /home/lly/pro/gpac/applications/mp4box/filedump.c:208
    #13 0x561646328f1d in mp4box_main /home/lly/pro/gpac/applications/mp4box/mp4box.c:6467
    #14 0x7f8353238082 in __libc_start_main ../csu/libc-start.c:308
    #15 0x56164630cdbd in _start (/home/lly/pro/gpac/bin/gcc/MP4Box+0x4edbd)

0x61b000000630 is located 0 bytes to the right of 1456-byte region [0x61b000000080,0x61b000000630)
allocated by thread T0 here:
    #0 0x7f8354a7e157 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f8353dd7ba5 in swf_get_string scene_manager/swf_parse.c:318
    #2 0x7f8353de0624 in swf_actions scene_manager/swf_parse.c:1152
    #3 0x7f8353de929b in swf_process_tag scene_manager/swf_parse.c:2363
    #4 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #5 0x7f8353de97e7 in swf_parse_sprite scene_manager/swf_parse.c:2435
    #6 0x7f8353df3a3f in swf_bifs_define_sprite scene_manager/swf_bifs.c:1319
    #7 0x7f8353de561d in swf_def_sprite scene_manager/swf_parse.c:1756
    #8 0x7f8353de9210 in swf_process_tag scene_manager/swf_parse.c:2345
    #9 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #10 0x7f8353debb1f in gf_sm_load_init_swf scene_manager/swf_parse.c:2703
    #11 0x7f8353d84a7f in gf_sm_load_init scene_manager/scene_manager.c:692
    #12 0x56164633c424 in dump_isom_scene /home/lly/pro/gpac/applications/mp4box/filedump.c:208
    #13 0x561646328f1d in mp4box_main /home/lly/pro/gpac/applications/mp4box/mp4box.c:6467
    #14 0x7f8353238082 in __libc_start_main ../csu/libc-start.c:308

SUMMARY: AddressSanitizer: heap-buffer-overflow ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:387 in __interceptor_strlen
Shadow bytes around the buggy address:
  0x0c367fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff80a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c367fff80c0: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa
  0x0c367fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==88804==ABORTING
`

Did not end str with '\00' ,which makes strlen visit the extra memory.
[poc.swf.zip](https://github.com/gpac/gpac/files/13362282/poc.swf.zip)

heap-buffer-overflow on swf_get_string scene_manager/swf_parse.c:332
This is a GitHub Issue
repo:gpac
owner:gpac
Title : heap-buffer-overflow on swf_get_string scene_manager/swf_parse.c:332
Issue date:

--- start body ---
Thanks for reporting your issue. Please make sure these boxes are checked before submitting your issue - thank you!

- [x] I looked for a similar issue and couldn't find any.
- [x] I tried with the latest version of GPAC. Installers available at http://gpac.io/downloads/gpac-nightly-builds/
- [x] I give enough information for contributors to reproduce my issue (meaningful title, github labels, platform and compiler, command-line ...). I can share files anonymously with this dropbox: https://www.mediafire.com/filedrop/filedrop_hosted.php?drop=eec9e058a9486fe4e99c33021481d9e1826ca9dbc242a6cfaab0fe95da5e5d95

Detailed guidelines: http://gpac.io/bug-reporting/

1.get latest commit code (gpac - GPAC command line filter engine - version 2.3-DEV-rev621-g3edb48d2b-master)
2.compile with --enable-sanitizer
3.run MP4Box -bt poc.swf
Env:
Ubunut 20.04 , clang 16.0.1

`

>==88804==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61b000000630 at pc 0x7f8354a0bc5a bp 0x7ffc283dee40 sp 0x7ffc283de5e8
READ of size 1457 at 0x61b000000630 thread T0
    #0 0x7f8354a0bc59 in __interceptor_strlen ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:387
    #1 0x7f8353dd7d6a in swf_get_string scene_manager/swf_parse.c:332
    #2 0x7f8353de0624 in swf_actions scene_manager/swf_parse.c:1152
    #3 0x7f8353de929b in swf_process_tag scene_manager/swf_parse.c:2363
    #4 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #5 0x7f8353de97e7 in swf_parse_sprite scene_manager/swf_parse.c:2435
    #6 0x7f8353df3a3f in swf_bifs_define_sprite scene_manager/swf_bifs.c:1319
    #7 0x7f8353de561d in swf_def_sprite scene_manager/swf_parse.c:1756
    #8 0x7f8353de9210 in swf_process_tag scene_manager/swf_parse.c:2345
    #9 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #10 0x7f8353debb1f in gf_sm_load_init_swf scene_manager/swf_parse.c:2703
    #11 0x7f8353d84a7f in gf_sm_load_init scene_manager/scene_manager.c:692
    #12 0x56164633c424 in dump_isom_scene /home/lly/pro/gpac/applications/mp4box/filedump.c:208
    #13 0x561646328f1d in mp4box_main /home/lly/pro/gpac/applications/mp4box/mp4box.c:6467
    #14 0x7f8353238082 in __libc_start_main ../csu/libc-start.c:308
    #15 0x56164630cdbd in _start (/home/lly/pro/gpac/bin/gcc/MP4Box+0x4edbd)

0x61b000000630 is located 0 bytes to the right of 1456-byte region [0x61b000000080,0x61b000000630)
allocated by thread T0 here:
    #0 0x7f8354a7e157 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x7f8353dd7ba5 in swf_get_string scene_manager/swf_parse.c:318
    #2 0x7f8353de0624 in swf_actions scene_manager/swf_parse.c:1152
    #3 0x7f8353de929b in swf_process_tag scene_manager/swf_parse.c:2363
    #4 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #5 0x7f8353de97e7 in swf_parse_sprite scene_manager/swf_parse.c:2435
    #6 0x7f8353df3a3f in swf_bifs_define_sprite scene_manager/swf_bifs.c:1319
    #7 0x7f8353de561d in swf_def_sprite scene_manager/swf_parse.c:1756
    #8 0x7f8353de9210 in swf_process_tag scene_manager/swf_parse.c:2345
    #9 0x7f8353de9524 in swf_parse_tag scene_manager/swf_parse.c:2405
    #10 0x7f8353debb1f in gf_sm_load_init_swf scene_manager/swf_parse.c:2703
    #11 0x7f8353d84a7f in gf_sm_load_init scene_manager/scene_manager.c:692
    #12 0x56164633c424 in dump_isom_scene /home/lly/pro/gpac/applications/mp4box/filedump.c:208
    #13 0x561646328f1d in mp4box_main /home/lly/pro/gpac/applications/mp4box/mp4box.c:6467
    #14 0x7f8353238082 in __libc_start_main ../csu/libc-start.c:308

SUMMARY: AddressSanitizer: heap-buffer-overflow ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:387 in __interceptor_strlen
Shadow bytes around the buggy address:
  0x0c367fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff80a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c367fff80b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c367fff80c0: 00 00 00 00 00 00[fa]fa fa fa fa fa fa fa fa fa
  0x0c367fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c367fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==88804==ABORTING
`

Did not end str with '\00' ,which makes strlen visit the extra memory.
[poc.swf.zip](https://github.com/gpac/gpac/files/13362282/poc.swf.zip)

--- end body ---

A heap-buffer-overflow vulnerability in the GPAC library, specifically in the swf_get_string function located in scene_manager/swf_parse.c, can lead to potential memory corruption or crashes. The issue arises when the function does not properly null-terminate a string, allowing the strlen function to read beyond the allocated memory, which can be exploited by an attacker to cause a Denial of Service (DoS) or potentially execute arbitrary code.