##### libde265 commit hash

```
45904e5667c5bf59c67fcdc586dfba110832894c
```

##### Build platform

Ubuntu 18.04.2 LTS x86_64

gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

##### Build steps

```
libde265/$ mkdir build &&cd build
libde265/build$ cmake ../
libde265/build$ make -j8
```

[poc](https://drive.google.com/file/d/1CMI5ZOqOgMNkbXVNcRAE08gxJlsW6_W8/view?usp=sharing)

##### assert log

```
dec265: /home/joe1sn/Desktop/libde265/libde265/sps.cc:931: de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool): Assertion `scaling_list_pred_matrix_id_delta==3' failed.
Aborted
```

##### gdb output

```
dec265: /home/joe1sn/Desktop/libde265/libde265/sps.cc:931: de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool): Assertion `scaling_list_pred_matrix_id_delta==3' failed.

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff728f7f1 in __GI_abort () at abort.c:79
#2  0x00007ffff727f3fa in __assert_fail_base (fmt=0x7ffff74066c0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7ffff7b885a0 "scaling_list_pred_matrix_id_delta==3", 
    file=file@entry=0x7ffff7b87b50 "/home/joe1sn/Desktop/libde265/libde265/sps.cc", line=line@entry=931, 
    function=function@entry=0x7ffff7b88860 <read_scaling_list(bitreader*, seq_parameter_set const*, scaling_list_data*, bool)::__PRETTY_FUNCTION__> "de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool)") at assert.c:92
#3  0x00007ffff727f472 in __GI___assert_fail (assertion=0x7ffff7b885a0 "scaling_list_pred_matrix_id_delta==3", 
    file=0x7ffff7b87b50 "/home/joe1sn/Desktop/libde265/libde265/sps.cc", line=931, 
    function=0x7ffff7b88860 <read_scaling_list(bitreader*, seq_parameter_set const*, scaling_list_data*, bool)::__PRETTY_FUNCTION__> "de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool)") at assert.c:101
#4  0x00007ffff7aec72c in read_scaling_list(bitreader*, seq_parameter_set const*, scaling_list_data*, bool) ()
   from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#5  0x00007ffff7aea7fd in seq_parameter_set::read(error_queue*, bitreader*) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#6  0x00007ffff7aa1c9e in decoder_context::read_sps_NAL(bitreader&) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#7  0x00007ffff7aa360c in decoder_context::decode_NAL(NAL_unit*) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#8  0x00007ffff7aa38ef in decoder_context::decode(int*) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#9  0x00007ffff7a9864c in de265_decode () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#10 0x0000555555556e46 in main ()
```
Assertion `scaling_list_pred_matrix_id_delta==3' failed at 'dec265: src/libde265/sps.cc:931:'
This is a GitHub Issue
repo:libde265
owner:strukturag
Title : Assertion `scaling_list_pred_matrix_id_delta==3' failed at 'dec265: src/libde265/sps.cc:931:'
Issue date:

--- start body ---
##### libde265 commit hash

```
45904e5667c5bf59c67fcdc586dfba110832894c
```

##### Build platform

Ubuntu 18.04.2 LTS x86_64

gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

##### Build steps

```
libde265/$ mkdir build &&cd build
libde265/build$ cmake ../
libde265/build$ make -j8
```

[poc](https://drive.google.com/file/d/1CMI5ZOqOgMNkbXVNcRAE08gxJlsW6_W8/view?usp=sharing)

##### assert log

```
dec265: /home/joe1sn/Desktop/libde265/libde265/sps.cc:931: de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool): Assertion `scaling_list_pred_matrix_id_delta==3' failed.
Aborted
```

##### gdb output

```
dec265: /home/joe1sn/Desktop/libde265/libde265/sps.cc:931: de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool): Assertion `scaling_list_pred_matrix_id_delta==3' failed.

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff728f7f1 in __GI_abort () at abort.c:79
#2  0x00007ffff727f3fa in __assert_fail_base (fmt=0x7ffff74066c0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7ffff7b885a0 "scaling_list_pred_matrix_id_delta==3", 
    file=file@entry=0x7ffff7b87b50 "/home/joe1sn/Desktop/libde265/libde265/sps.cc", line=line@entry=931, 
    function=function@entry=0x7ffff7b88860 <read_scaling_list(bitreader*, seq_parameter_set const*, scaling_list_data*, bool)::__PRETTY_FUNCTION__> "de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool)") at assert.c:92
#3  0x00007ffff727f472 in __GI___assert_fail (assertion=0x7ffff7b885a0 "scaling_list_pred_matrix_id_delta==3", 
    file=0x7ffff7b87b50 "/home/joe1sn/Desktop/libde265/libde265/sps.cc", line=931, 
    function=0x7ffff7b88860 <read_scaling_list(bitreader*, seq_parameter_set const*, scaling_list_data*, bool)::__PRETTY_FUNCTION__> "de265_error read_scaling_list(bitreader*, const seq_parameter_set*, scaling_list_data*, bool)") at assert.c:101
#4  0x00007ffff7aec72c in read_scaling_list(bitreader*, seq_parameter_set const*, scaling_list_data*, bool) ()
   from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#5  0x00007ffff7aea7fd in seq_parameter_set::read(error_queue*, bitreader*) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#6  0x00007ffff7aa1c9e in decoder_context::read_sps_NAL(bitreader&) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#7  0x00007ffff7aa360c in decoder_context::decode_NAL(NAL_unit*) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#8  0x00007ffff7aa38ef in decoder_context::decode(int*) () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#9  0x00007ffff7a9864c in de265_decode () from /home/joe1sn/Desktop/libde265/build/libde265/liblibde265.so
#10 0x0000555555556e46 in main ()
```
--- end body ---

An assertion failure in the libde265 library indicates a potential vulnerability where the program can be forced to abort due to invalid input, specifically when the `scaling_list_pred_matrix_id_delta` is not equal to 3. This could be exploited by an attacker to cause a Denial of Service (DoS) by providing specially crafted input that triggers this assertion failure.