[Forensics-changes] [yara] 88/368: Pass the stacksize down to YR_CONTEXT

Hilko Bengen bengen at moszumanska.debian.org
Sat Jul 1 10:30:14 UTC 2017


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to annotated tag v3.5.0
in repository yara.

commit ba5d861944f83d640b02c09ca5ced8d0c15a8d07
Author: Coleman Kane <ckane at colemankane.org>
Date:   Fri Oct 9 20:05:06 2015 -0400

    Pass the stacksize down to YR_CONTEXT
---
 libyara/include/yara/rules.h | 12 ++++++++----
 libyara/include/yara/types.h |  1 +
 libyara/rules.c              | 28 +++++++++++++++++++---------
 yara.c                       |  9 ++++++---
 4 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/libyara/include/yara/rules.h b/libyara/include/yara/rules.h
index 3d7b221..a53262b 100644
--- a/libyara/include/yara/rules.h
+++ b/libyara/include/yara/rules.h
@@ -62,7 +62,8 @@ YR_API int yr_rules_scan_mem(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout);
+    int timeout,
+    unsigned int stacksize);
 
 
 YR_API int yr_rules_scan_file(
@@ -71,7 +72,8 @@ YR_API int yr_rules_scan_file(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout);
+    int timeout,
+    unsigned int stacksize);
 
 
 YR_API int yr_rules_scan_fd(
@@ -80,7 +82,8 @@ YR_API int yr_rules_scan_fd(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout);
+    int timeout,
+    unsigned int stacksize);
 
 
 YR_API int yr_rules_scan_proc(
@@ -89,7 +92,8 @@ YR_API int yr_rules_scan_proc(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout);
+    int timeout,
+    unsigned int stacksize);
 
 
 YR_API int yr_rules_save(
diff --git a/libyara/include/yara/types.h b/libyara/include/yara/types.h
index 6925398..ada1157 100644
--- a/libyara/include/yara/types.h
+++ b/libyara/include/yara/types.h
@@ -386,6 +386,7 @@ typedef struct _YR_SCAN_CONTEXT
 
   int flags;
   int tidx;
+  unsigned int stacksize;
 
   void* user_data;
 
diff --git a/libyara/rules.c b/libyara/rules.c
index ef8cf03..e3fbdda 100644
--- a/libyara/rules.c
+++ b/libyara/rules.c
@@ -315,7 +315,8 @@ YR_API int yr_rules_scan_mem_blocks(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout)
+    int timeout,
+    unsigned int stacksize)
 {
   YR_EXTERNAL_VARIABLE* external;
   YR_RULE* rule;
@@ -358,6 +359,7 @@ YR_API int yr_rules_scan_mem_blocks(
   context.objects_table = NULL;
   context.matches_arena = NULL;
   context.matching_strings_arena = NULL;
+  context.stacksize = stacksize;
 
   yr_set_tidx(tidx);
 
@@ -524,7 +526,8 @@ YR_API int yr_rules_scan_mem(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout)
+    int timeout,
+    unsigned int stacksize)
 {
   YR_MEMORY_BLOCK block;
 
@@ -539,7 +542,8 @@ YR_API int yr_rules_scan_mem(
       flags,
       callback,
       user_data,
-      timeout);
+      timeout,
+      stacksize);
 }
 
 
@@ -549,7 +553,8 @@ YR_API int yr_rules_scan_file(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout)
+    int timeout,
+    unsigned int stacksize)
 {
   YR_MAPPED_FILE mfile;
 
@@ -564,7 +569,8 @@ YR_API int yr_rules_scan_file(
         flags,
         callback,
         user_data,
-        timeout);
+        timeout,
+        stacksize);
 
     yr_filemap_unmap(&mfile);
   }
@@ -578,7 +584,8 @@ YR_API int yr_rules_scan_fd(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout)
+    int timeout,
+    unsigned int stacksize)
 {
   YR_MAPPED_FILE mfile;
   
@@ -593,7 +600,8 @@ YR_API int yr_rules_scan_fd(
         flags,
         callback,
         user_data,
-        timeout);
+        timeout,
+        stacksize);
 
     yr_filemap_unmap(&mfile);
   }
@@ -607,7 +615,8 @@ YR_API int yr_rules_scan_proc(
     int flags,
     YR_CALLBACK_FUNC callback,
     void* user_data,
-    int timeout)
+    int timeout,
+    unsigned int stacksize)
 {
   YR_MEMORY_BLOCK* first_block;
   YR_MEMORY_BLOCK* next_block;
@@ -622,7 +631,8 @@ YR_API int yr_rules_scan_proc(
         flags | SCAN_FLAGS_PROCESS_MEMORY,
         callback,
         user_data,
-        timeout);
+        timeout,
+        stacksize);
 
   block = first_block;
 
diff --git a/yara.c b/yara.c
index 8093253..9bf48a9 100644
--- a/yara.c
+++ b/yara.c
@@ -715,7 +715,8 @@ void* scanning_thread(void* param)
           flags,
           callback,
           file_path,
-          timeout - elapsed_time);
+          timeout - elapsed_time,
+          stacksize);
 
       if (result != ERROR_SUCCESS)
       {
@@ -1066,7 +1067,8 @@ int main(
         flags,
         callback,
         (void*) argv[1],
-        timeout);
+        timeout,
+        stacksize);
 
     if (result != ERROR_SUCCESS)
     {
@@ -1130,7 +1132,8 @@ int main(
         flags,
         callback,
         (void*) argv[1],
-        timeout);
+        timeout,
+        stacksize);
 
     if (result != ERROR_SUCCESS)
     {

-- 
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