[PATCH] fixed #2108
authorjeanlf <jeanlf@gpac.io>
Tue, 8 Feb 2022 15:10:15 +0000 (16:10 +0100)
committerMoritz Mühlenhoff <jmm@debian.org>
Mon, 19 Jun 2023 21:46:06 +0000 (22:46 +0100)
Gbp-Pq: Name CVE-2022-27145.patch

src/isomedia/isom_read.c

index b309054b47c7a1af4083918de950e71fc9cade8b..1b2cde54120a0221df9aacc66cbda3564c01ac2b 100644 (file)
@@ -2227,8 +2227,13 @@ GF_Err gf_isom_get_sample_for_movie_time(GF_ISOFile *the_file, u32 trackNumber,
                                return e;
 #endif
 
-                       if (nextMediaTime && (nextMediaTime-1 != movieTime))
-                               return gf_isom_get_sample_for_movie_time(the_file, trackNumber, nextMediaTime-1, StreamDescriptionIndex, SearchMode, sample, sampleNumber, data_offset);
+                       if ((SearchMode==GF_ISOM_SEARCH_SYNC_BACKWARD) || (SearchMode==GF_ISOM_SEARCH_BACKWARD)) {
+                               if (nextMediaTime && (nextMediaTime-1 < movieTime))
+                                       return gf_isom_get_sample_for_movie_time(the_file, trackNumber, nextMediaTime-1, StreamDescriptionIndex, SearchMode, sample, sampleNumber, data_offset);
+                       } else {
+                               if (nextMediaTime && (nextMediaTime-1 > movieTime))
+                                       return gf_isom_get_sample_for_movie_time(the_file, trackNumber, nextMediaTime-1, StreamDescriptionIndex, SearchMode, sample, sampleNumber, data_offset);
+                       }
                }
                return e;
        }