[PATCH] fixed #1840
authorjeanlf <jeanlf@gpac.io>
Mon, 5 Jul 2021 14:50:03 +0000 (16:50 +0200)
committerAron Xu <aron@debian.org>
Tue, 23 May 2023 11:53:25 +0000 (12:53 +0100)
Gbp-Pq: Name CVE-2021-36414.patch

src/isomedia/isom_write.c
src/isomedia/media.c

index f4c565cec4e2e1c1c56e0c48d93db55a5de73c15..9ec3c37e40e33402165e73b24786059a0600a55d 100644 (file)
@@ -6449,7 +6449,11 @@ GF_Err gf_isom_set_ctts_v1(GF_ISOFile *file, u32 track, u32 ctts_shift)
        if (!trak) return GF_BAD_PARAM;
 
        ctts = trak->Media->information->sampleTable->CompositionOffset;
-       shift = ctts->version ? ctts_shift : ctts->entries[0].decodingOffset;
+       if (ctts->version) {
+               shift = ctts_shift;
+       } else {
+               shift = ctts->nb_entries ? ctts->entries[0].decodingOffset : 0;
+       }
        leastCTTS = GF_INT_MAX;
        greatestCTTS = 0;
        for (i=0; i<ctts->nb_entries; i++) {
index 064299f6ee46beb0c4bf99476fbaab4332b01e39..8570df8473293d4e0b64ac129f23fa86bae2b542 100644 (file)
@@ -99,7 +99,7 @@ static GF_Err gf_isom_get_3gpp_audio_esd(GF_SampleTableBox *stbl, u32 type, GF_G
                memset(szName, 0, 80);
                strcpy(szName, "QCELP-13K(GPAC-emulated)");
                gf_bs_write_data(bs, szName, 80);
-               ent = &stbl->TimeToSample->entries[0];
+               ent = stbl->TimeToSample->nb_entries ? &stbl->TimeToSample->entries[0] : NULL;
                sample_rate = entry->samplerate_hi;
                block_size = ent ? ent->sampleDelta : 160;
                gf_bs_write_u16_le(bs, 8*sample_size*sample_rate/block_size);