[Forensics-changes] [yara] 322/415: Use string chaining for every jump over a given threshold
    Hilko Bengen 
    bengen at moszumanska.debian.org
       
    Thu Apr  3 05:43:19 UTC 2014
    
    
  
This is an automated email from the git hooks/post-receive script.
bengen pushed a commit to branch debian
in repository yara.
commit 5521bfecce291173b92b2eec3804fca8edc29250
Author: Victor Manuel Alvarez <vmalvarez at virustotal.com>
Date:   Fri Dec 20 13:47:47 2013 +0100
    Use string chaining for every jump over a given threshold
---
 libyara/parser.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/libyara/parser.c b/libyara/parser.c
index 6d04886..a04caf1 100644
--- a/libyara/parser.c
+++ b/libyara/parser.c
@@ -375,6 +375,9 @@ YR_STRING* yr_parser_reduce_string_declaration(
   int min_atom_length;
   int min_atom_length_aux;
 
+  int32_t min_gap;
+  int32_t max_gap;
+
   char* file_name;
   char message[512];
 
@@ -433,7 +436,7 @@ YR_STRING* yr_parser_reduce_string_declaration(
       flags |= STRING_GFLAGS_FAST_HEX_REGEXP;
 
     compiler->last_result = yr_re_split_at_chaining_point(
-        re, &re, &remainder_re);
+        re, &re, &remainder_re, &min_gap, &max_gap);
 
     if (compiler->last_result != ERROR_SUCCESS)
       goto _exit;
@@ -451,8 +454,11 @@ YR_STRING* yr_parser_reduce_string_declaration(
       goto _exit;
 
     if (remainder_re != NULL)
-      string->g_flags |= STRING_GFLAGS_CHAIN_TAIL |
-                         STRING_GFLAGS_CHAIN_PART;
+    {
+      string->g_flags |= STRING_GFLAGS_CHAIN_TAIL | STRING_GFLAGS_CHAIN_PART;
+      string->chain_gap_min = min_gap;
+      string->chain_gap_max = max_gap;
+    }
 
     while (remainder_re != NULL)
     {
@@ -462,7 +468,7 @@ YR_STRING* yr_parser_reduce_string_declaration(
       yr_re_destroy(re);
 
       compiler->last_result = yr_re_split_at_chaining_point(
-          remainder_re, &re, &remainder_re);
+          remainder_re, &re, &remainder_re, &min_gap, &max_gap);
 
       if (compiler->last_result != ERROR_SUCCESS)
         goto _exit;
@@ -485,6 +491,9 @@ YR_STRING* yr_parser_reduce_string_declaration(
         min_atom_length = min_atom_length_aux;
 
       string->g_flags |= STRING_GFLAGS_CHAIN_PART;
+      string->chain_gap_min = min_gap;
+      string->chain_gap_max = max_gap;
+
       prev_string->chained_to = string;
     }
   }
-- 
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