Index: third_party/libopenjpeg20/0016-read_SQcd_SQcc_overflow.patch |
diff --git a/third_party/libopenjpeg20/0016-read_SQcd_SQcc_overflow.patch b/third_party/libopenjpeg20/0016-read_SQcd_SQcc_overflow.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7b8bfca42f31226483121b5cf5eeadbf99030288 |
--- /dev/null |
+++ b/third_party/libopenjpeg20/0016-read_SQcd_SQcc_overflow.patch |
@@ -0,0 +1,15 @@ |
+diff --git a/third_party/libopenjpeg20/j2k.c b/third_party/libopenjpeg20/j2k.c |
+index c7aa8db..b5f6fe9 100644 |
+--- a/third_party/libopenjpeg20/j2k.c |
++++ b/third_party/libopenjpeg20/j2k.c |
+@@ -9010,7 +9010,9 @@ static OPJ_BOOL opj_j2k_read_SQcd_SQcc(opj_j2k_t *p_j2k, |
+ p_j2k->m_specific_param.m_decoder.m_default_tcp; |
+ |
+ /* precondition again*/ |
+- assert(p_comp_no < p_j2k->m_private_image->numcomps); |
++ if (p_comp_no >= p_j2k->m_private_image->numcomps) { |
++ return OPJ_FALSE; |
++ } |
+ |
+ l_tccp = &l_tcp->tccps[p_comp_no]; |
+ l_current_ptr = p_header_data; |