[Forensics-changes] [yara] 01/02: filemap: yr_filemap_map_file (win32)
Hilko Bengen
bengen at moszumanska.debian.org
Wed Apr 8 22:52:29 UTC 2015
This is an automated email from the git hooks/post-receive script.
bengen pushed a commit to branch master
in repository yara.
commit 2856e6925f4bec7ff6d3d27ea33df57b49fde1ed
Author: Hilko Bengen <bengen at debian.org>
Date: Sun Mar 15 18:56:09 2015 +0100
filemap: yr_filemap_map_file (win32)
---
libyara/filemap.c | 43 ++++++++++++++++++++++++++-----------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/libyara/filemap.c b/libyara/filemap.c
index 178ea4a..2f73b57 100755
--- a/libyara/filemap.c
+++ b/libyara/filemap.c
@@ -78,8 +78,8 @@ YR_API int yr_filemap_map(
#ifdef _WIN32
-YR_API int yr_filemap_map_ex(
- const char* file_path,
+YR_API int yr_filemap_map_file(
+ FILEHANDLE file,
off_t offset,
size_t size,
YR_MAPPED_FILE* pmapped_file)
@@ -89,25 +89,10 @@ YR_API int yr_filemap_map_ex(
pmapped_file->data = NULL;
pmapped_file->size = 0;
- if (file_path == NULL)
- return ERROR_INVALID_ARGUMENT;
-
// Ensure that offset is aligned to 1MB
if (offset >> 20 << 20 != offset)
return ERROR_INVALID_ARGUMENT;
- pmapped_file->file = CreateFileA(
- file_path,
- GENERIC_READ,
- FILE_SHARE_READ,
- NULL,
- OPEN_EXISTING,
- FILE_FLAG_SEQUENTIAL_SCAN,
- NULL);
-
- if (pmapped_file->file == INVALID_HANDLE_VALUE)
- return ERROR_COULD_NOT_OPEN_FILE;
-
LARGE_INTEGER fs;
size_t file_size;
@@ -176,6 +161,30 @@ YR_API int yr_filemap_map_ex(
return ERROR_SUCCESS;
}
+YR_API int yr_filemap_map_ex(
+ const char* file_path,
+ off_t offset,
+ size_t size,
+ YR_MAPPED_FILE* pmapped_file)
+{
+ if (file_path == NULL)
+ return ERROR_INVALID_ARGUMENT;
+
+ FILEHANDLE file = CreateFileA(
+ file_path,
+ GENERIC_READ,
+ FILE_SHARE_READ,
+ NULL,
+ OPEN_EXISTING,
+ FILE_FLAG_SEQUENTIAL_SCAN,
+ NULL);
+
+ if (file == INVALID_HANDLE_VALUE)
+ return ERROR_COULD_NOT_OPEN_FILE;
+
+ return yr_filemap_map_file(file, offset, size, pmapped_file);
+}
+
#else // POSIX
YR_API int yr_filemap_map_ex(
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/yara.git
More information about the forensics-changes
mailing list