## Affected version 

the latest commit: https://github.com/LibreDWG/libredwg/tree/45d2a290c65ed691be0901ba2b2ef51044e07a16 and 0.12.4

## What's the problem?

Segmentation fault in dwg_free_MULTILEADER_private  in dwg.spec because of reading unknown address.

ASAN report:

```
==805397==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x000000cec32d bp 0x7fffffffcce0 sp 0x7fffffffcca0 T0)
==805397==The signal is caused by a READ memory access.
==805397==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
    #0 0xcec32d in dwg_free_MULTILEADER_private /src/libredwg/src/./dwg.spec:6614:3
    #1 0xcc2cdb in dwg_free_MULTILEADER /src/libredwg/src/./dwg.spec:6538:1
    #2 0xcdc8ed in dwg_free_variable_type /src/libredwg/src/./classes.inc:174:3
    #3 0xd68eb8 in dwg_free_object /src/libredwg/src/free.c:862:25
    #4 0xd69575 in dwg_free /src/libredwg/src/free.c:1265:13
    #5 0x4c95e9 in main /src/libredwg/programs/dxf2dwg.c:412:11
    #6 0x7ffff7c580b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #7 0x41c40d in _start (/mnt/disk/out/libredwg/programs_asan/dxf2dwg+0x41c40d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /src/libredwg/src/./dwg.spec:6614:3 in dwg_free_MULTILEADER_private
==805397==ABORTING
```


## Compile command

```
CC="clang" CFLAGS="-O1 -g -fsanitize=address" ./configure --enable-release --disable-shared && make
```

## How can we reproduce the issue?

```
unzip tests_64269.zip
dxf2dwg ./tests_64269 -o /dev/null
```
POC file :  
[tests_64269.zip](https://github.com/LibreDWG/libredwg/files/6652458/tests_64269.zip)
READ unknown address in dwg_free_MULTILEADER_private in dwg.spec
This is a GitHub Issue
repo:libredwg
owner:LibreDWG
Title : READ unknown address in dwg_free_MULTILEADER_private in dwg.spec
Issue date:

--- start body ---
## Affected version 

the latest commit: https://github.com/LibreDWG/libredwg/tree/45d2a290c65ed691be0901ba2b2ef51044e07a16 and 0.12.4

## What's the problem?

Segmentation fault in dwg_free_MULTILEADER_private  in dwg.spec because of reading unknown address.

ASAN report:

```
==805397==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x000000cec32d bp 0x7fffffffcce0 sp 0x7fffffffcca0 T0)
==805397==The signal is caused by a READ memory access.
==805397==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
    #0 0xcec32d in dwg_free_MULTILEADER_private /src/libredwg/src/./dwg.spec:6614:3
    #1 0xcc2cdb in dwg_free_MULTILEADER /src/libredwg/src/./dwg.spec:6538:1
    #2 0xcdc8ed in dwg_free_variable_type /src/libredwg/src/./classes.inc:174:3
    #3 0xd68eb8 in dwg_free_object /src/libredwg/src/free.c:862:25
    #4 0xd69575 in dwg_free /src/libredwg/src/free.c:1265:13
    #5 0x4c95e9 in main /src/libredwg/programs/dxf2dwg.c:412:11
    #6 0x7ffff7c580b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:308:16
    #7 0x41c40d in _start (/mnt/disk/out/libredwg/programs_asan/dxf2dwg+0x41c40d)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /src/libredwg/src/./dwg.spec:6614:3 in dwg_free_MULTILEADER_private
==805397==ABORTING
```


## Compile command

```
CC="clang" CFLAGS="-O1 -g -fsanitize=address" ./configure --enable-release --disable-shared && make
```

## How can we reproduce the issue?

```
unzip tests_64269.zip
dxf2dwg ./tests_64269 -o /dev/null
```
POC file :  
[tests_64269.zip](https://github.com/LibreDWG/libredwg/files/6652458/tests_64269.zip)
--- end body ---

A segmentation fault in the function dwg_free_MULTILEADER_private of LibreDWG allows attackers to cause a Denial of Service (DoS) via crafted DWG files. The issue arises from reading an unknown memory address, which can lead to crashes when processing specific input files.