From: Jan Kotas Date: Mon, 29 Jan 2018 13:21:44 +0000 (-0800) Subject: Fix metadata format error checking (#16036) X-Git-Tag: accepted/tizen/unified/20190422.045933~3185 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae2754314ac8281dad2e1b28aa0e23566d2f4edd;p=platform%2Fupstream%2Fcoreclr.git Fix metadata format error checking (#16036) NextStream_Verify can return NULL for invalid file. Report error for it instead of AVing. Similar check is around the other calls to NextStream_Verify. It was missing here for some reason. --- diff --git a/src/md/runtime/mdinternaldisp.cpp b/src/md/runtime/mdinternaldisp.cpp index e6e25a2..6498b35 100644 --- a/src/md/runtime/mdinternaldisp.cpp +++ b/src/md/runtime/mdinternaldisp.cpp @@ -74,6 +74,11 @@ CheckFileFormat( } // Get next stream. PSTORAGESTREAM pNext = pStream->NextStream_Verify(); + if (pNext == NULL) + { // Stream header is corrupted. + Debug_ReportError("Invalid stream header - cannot get next stream header."); + IfFailGo(CLDB_E_FILE_CORRUPT); + } // Check that stream header is within the buffer. if (((LPBYTE)pStream >= ((LPBYTE)pData + cbData)) ||