[Forensics-changes] [yara] 37/415: Implement missing cases in require_exe_file and other minor fixes

Hilko Bengen bengen at moszumanska.debian.org
Thu Apr 3 05:42:41 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 def2908c43cfad918fff4a79617ec5c1865ca8a9
Author: Victor M. Alvarez <plusvic at gmail.com>
Date:   Fri Oct 23 15:52:30 2009 +0000

    Implement missing cases in require_exe_file and other minor fixes
---
 libyara/ast.c | 17 +++++++++--------
 libyara/ast.h | 39 +++++++++++++++++++--------------------
 2 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/libyara/ast.c b/libyara/ast.c
index bb2b97b..c865b3c 100644
--- a/libyara/ast.c
+++ b/libyara/ast.c
@@ -79,9 +79,7 @@ TAG* lookup_tag(TAG* tag_list_head, char* identifier)
 
 
 int require_exe_file(TERM* term)
-{
-	//TODO: faltan tipos de expresiones en require_exe_file
-	
+{	
     switch(term->type)
     {
 	case TERM_TYPE_ENTRYPOINT:
@@ -102,10 +100,15 @@ int require_exe_file(TERM* term)
     case TERM_TYPE_GE:       
     case TERM_TYPE_LE:
     case TERM_TYPE_EQ:
-        return require_exe_file(((TERM_BINARY_OPERATION*)term)->op1) || require_exe_file(((TERM_BINARY_OPERATION*)term)->op2);    
+    case TERM_TYPE_NOT_EQ:
+    case TERM_TYPE_OF:
+        return require_exe_file(((TERM_BINARY_OPERATION*)term)->op1) || require_exe_file(((TERM_BINARY_OPERATION*)term)->op2);
                       
     case TERM_TYPE_NOT:    
-        return require_exe_file(((TERM_BINARY_OPERATION*)term)->op1);
+        return require_exe_file(((TERM_UNARY_OPERATION*)term)->op);
+        
+    case TERM_TYPE_FOR:
+        return require_exe_file(((TERM_TERNARY_OPERATION*)term)->op1) || require_exe_file(((TERM_TERNARY_OPERATION*)term)->op3);
 
 	default:
 		return FALSE;
@@ -760,9 +763,7 @@ void free_term(TERM* term)
     case TERM_TYPE_FOR:
         free_term(((TERM_TERNARY_OPERATION*)term)->op1);
         free_term(((TERM_TERNARY_OPERATION*)term)->op2);
-        
-        if (((TERM_TERNARY_OPERATION*)term)->op3 != NULL)
-           free_term(((TERM_TERNARY_OPERATION*)term)->op3); 
+        free_term(((TERM_TERNARY_OPERATION*)term)->op3); 
            
         break;
     }
diff --git a/libyara/ast.h b/libyara/ast.h
index e2c67cc..5980077 100644
--- a/libyara/ast.h
+++ b/libyara/ast.h
@@ -54,26 +54,25 @@ GNU General Public License for more details.
 #define TERM_TYPE_GE                                 10          
 #define TERM_TYPE_LE                                 11          
 #define TERM_TYPE_EQ                                 12  
-#define TERM_TYPE_NOT_EQ                             13       
-#define TERM_TYPE_RANGE                              14          
-#define TERM_TYPE_STRING                             15       
-#define TERM_TYPE_STRING_AT                          16          
-#define TERM_TYPE_STRING_IN_RANGE                    17 
-#define TERM_TYPE_STRING_IN_SECTION_BY_NAME		 	 18     
-#define TERM_TYPE_STRING_IN_SECTION_BY_INDEX		 19      
-#define TERM_TYPE_STRING_COUNT                       20     
-#define TERM_TYPE_STRING_OFFSET                      21      
-#define TERM_TYPE_OF                                 22 
-#define TERM_TYPE_FOR                                23         
-#define TERM_TYPE_FILESIZE              	         24          
-#define TERM_TYPE_ENTRYPOINT						 25			
-#define TERM_TYPE_RULE                               26
-#define TERM_TYPE_INT8_AT_OFFSET                     27
-#define TERM_TYPE_INT16_AT_OFFSET                    28
-#define TERM_TYPE_INT32_AT_OFFSET                    29
-#define TERM_TYPE_UINT8_AT_OFFSET                    30
-#define TERM_TYPE_UINT16_AT_OFFSET                   31
-#define TERM_TYPE_UINT32_AT_OFFSET                   32
+#define TERM_TYPE_NOT_EQ                             13              
+#define TERM_TYPE_STRING                             14       
+#define TERM_TYPE_STRING_AT                          15          
+#define TERM_TYPE_STRING_IN_RANGE                    16 
+#define TERM_TYPE_STRING_IN_SECTION_BY_NAME		 	 17     
+#define TERM_TYPE_STRING_IN_SECTION_BY_INDEX		 18      
+#define TERM_TYPE_STRING_COUNT                       19     
+#define TERM_TYPE_STRING_OFFSET                      20      
+#define TERM_TYPE_OF                                 21 
+#define TERM_TYPE_FOR                                22         
+#define TERM_TYPE_FILESIZE              	         23          
+#define TERM_TYPE_ENTRYPOINT						 24			
+#define TERM_TYPE_RULE                               25
+#define TERM_TYPE_INT8_AT_OFFSET                     26
+#define TERM_TYPE_INT16_AT_OFFSET                    27
+#define TERM_TYPE_INT32_AT_OFFSET                    28
+#define TERM_TYPE_UINT8_AT_OFFSET                    29
+#define TERM_TYPE_UINT16_AT_OFFSET                   30
+#define TERM_TYPE_UINT32_AT_OFFSET                   31
                   
 
 

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