From: chengyj1985 Date: Tue, 30 Jun 2020 06:12:32 +0000 (+0800) Subject: Buffer 'gPi->TrackInfo' accessed by index 'sdTr' can overflow X-Git-Tag: submit/tizen/20200701.023736^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F09%2F237409%2F2;p=platform%2Fcore%2Fmultimedia%2Flibmm-fileinfo.git Buffer 'gPi->TrackInfo' accessed by index 'sdTr' can overflow Change-Id: I24dc045f8439c5ea64caadd327d3ba67f7a7d057 --- diff --git a/formats/ffmpeg/mm_file_format_midi.c b/formats/ffmpeg/mm_file_format_midi.c index 6021ce7..74a91a0 100755 --- a/formats/ffmpeg/mm_file_format_midi.c +++ b/formats/ffmpeg/mm_file_format_midi.c @@ -415,6 +415,12 @@ static long __AvGetSizeOfFileInfo(void) if (!__AvMidGetLeastTimeTrack(&sdTr)) break; } + + if (sdTr >= MAX_SMF_TRACKS) { + debug_error(DEBUG, "__AvGetSizeOfFileInfo: Num of tracks is over MAX track number. !!\n"); + return -1; + } + pMt = &(gPi->TrackInfo[sdTr]); dTime = pMt->sdTicks - sdTotalTicks; @@ -631,10 +637,6 @@ static long __AvGetSizeOfFileInfo(void) } } - if (sdTr >= MAX_SMF_TRACKS) { - debug_error(DEBUG, "__AvGetSizeOfFileInfo: Num of tracks is over MAX track number. !!\n"); - return -1; - } __AvMidUpdateTrackTime(sdTr); if (dSetup == 0x0F) {