diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2019-03-21 20:58:50 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2019-03-21 20:58:50 +0100 |
commit | ecb29e3b3f1a67800922a79c009e80a0eb45ef91 (patch) | |
tree | ab11de4eee82bb48fa25314d74197847294010db /Library/CommonLib/EfiMem.c | |
parent | 4922daee362adf600fd19f91aa11cc603d8d17e1 (diff) | |
download | VeraCrypt-DCS-ecb29e3b3f1a67800922a79c009e80a0eb45ef91.tar.gz VeraCrypt-DCS-ecb29e3b3f1a67800922a79c009e80a0eb45ef91.zip |
Enhance Rescue Disk implementation of restoring VeraCrypt loader.
Diffstat (limited to 'Library/CommonLib/EfiMem.c')
-rw-r--r-- | Library/CommonLib/EfiMem.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Library/CommonLib/EfiMem.c b/Library/CommonLib/EfiMem.c index d9386c0..872d3de 100644 --- a/Library/CommonLib/EfiMem.c +++ b/Library/CommonLib/EfiMem.c @@ -72,3 +72,30 @@ PrepareMemory( *mem = buf;
return status;
}
+
+//////////////////////////////////////////////////////////////////////////
+// Memory misc
+//////////////////////////////////////////////////////////////////////////
+EFI_STATUS MemoryHasPattern (
+ CONST VOID* buffer,
+ UINTN bufferLen,
+ CONST VOID* pattern,
+ UINTN patternLen)
+{
+ EFI_STATUS status = EFI_NOT_FOUND;
+ if (patternLen <= bufferLen)
+ {
+ UINTN i;
+ CONST UINT8* memPtr = (CONST UINT8*) buffer;
+ for (i = 0; i <= (bufferLen - patternLen); ++i)
+ {
+ if (CompareMem (&memPtr[i], pattern, patternLen) == 0)
+ {
+ status = EFI_SUCCESS;
+ break;
+ }
+ }
+ }
+
+ return status;
+}
|