From: gikidy Date: Wed, 3 Jun 2009 09:18:55 +0000 (+0000) Subject: Fix an issue in DataHubGetNextRecord. X-Git-Tag: edk2-stable201903~17821 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=2ebbe08cb6f2e1a52b672c220275bcde401a4413 Fix an issue in DataHubGetNextRecord. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8458 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c b/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c index b58de9db6f..a2e991a288 100644 --- a/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c +++ b/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHub.c @@ -243,19 +243,22 @@ DataHubGetNextRecord ( // Use the MTC from the Filter Driver. // FilterMonotonicCount = FilterDriver->GetNextMonotonicCount; + + // + // The GetNextMonotonicCount field remembers the last value from the previous time. + // But we already processed this vaule, so we need to find the next one. + // + *Record = GetNextDataRecord (&Private->DataListHead, ClassFilter, &FilterMonotonicCount); if (FilterMonotonicCount != 0) { + *MonotonicCount = FilterMonotonicCount; + } + + if ((FilterDriver->GetNextMonotonicCount != 0) && (FilterMonotonicCount == 0)) { // - // The GetNextMonotonicCount field remembers the last value from the previous time. - // But we already processed this vaule, so we need to find the next one. + // If there is no new record to get exit now. // - *Record = GetNextDataRecord (&Private->DataListHead, ClassFilter, &FilterMonotonicCount); - *MonotonicCount = FilterMonotonicCount; - if (FilterMonotonicCount == 0) { - // - // If there is no new record to get exit now. - // - return EFI_NOT_FOUND; - } + *MonotonicCount = 0; + return EFI_NOT_FOUND; } } }