[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