[Forensics-changes] [yara] 06/415: Bug fixes

Hilko Bengen bengen at moszumanska.debian.org
Thu Apr 3 05:42:37 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 7173b5bb9eb4d768eb174f3e24d3a4755a986605
Author: Victor M. Alvarez <plusvic at gmail.com>
Date:   Sun Jan 11 18:09:56 2009 +0000

    Bug fixes
---
 ChangeLog                 |   4 +
 Makefile                  |   6 +-
 config.h                  |   6 +-
 configure                 |  20 +--
 configure.ac              |   2 +-
 libyara/Makefile          |   9 +-
 libyara/Makefile.am       |   3 +-
 libyara/Makefile.in       |   3 +-
 libyara/ast.c             |   3 +
 libyara/config.h          |   6 +-
 libyara/configure         |  20 +--
 libyara/configure.ac      |   2 +-
 libyara/lex.c             | 368 ++++++++++++++++++++++++----------------------
 libyara/lex.l             |  43 +++---
 libyara/libtool           |   2 +-
 libyara/libyara.tmproj    |  46 ++++--
 yara-python/setup.py      |   2 +-
 yara-python/setupwin.py   |   2 +-
 yara-python/yara-python.c |  14 +-
 yara.c                    |   4 -
 20 files changed, 303 insertions(+), 262 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 915e335..4e5b7c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,4 +7,8 @@ version 1.1
 	* added syntactic construct "x of them" 	
 	* regular expressions syntax changed
 	* now regular expressions can begin with any character
+
+version 1.1.1
+	* BUGFIX: Wrong behavior of escaped characters in regular expressions
+	* BUGFIX: Fatal error in yara-python when invoking matchfile with invalid path twice
 	
diff --git a/Makefile b/Makefile
index 14693f0..5e33b2e 100644
--- a/Makefile
+++ b/Makefile
@@ -118,14 +118,14 @@ OBJEXT = o
 PACKAGE = yara
 PACKAGE_BUGREPORT = vmalvarez at hispasec.com
 PACKAGE_NAME = yara
-PACKAGE_STRING = yara 1.1
+PACKAGE_STRING = yara 1.1.1
 PACKAGE_TARNAME = yara
-PACKAGE_VERSION = 1.1
+PACKAGE_VERSION = 1.1.1
 PATH_SEPARATOR = :
 SET_MAKE = 
 SHELL = /bin/sh
 STRIP = 
-VERSION = 1.1
+VERSION = 1.1.1
 abs_builddir = /Users/plusvic/Projects/yara/trunk
 abs_srcdir = /Users/plusvic/Projects/yara/trunk
 abs_top_builddir = /Users/plusvic/Projects/yara/trunk
diff --git a/config.h b/config.h
index e8b7bce..a67026c 100644
--- a/config.h
+++ b/config.h
@@ -14,13 +14,13 @@
 #define PACKAGE_NAME "yara"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "yara 1.1"
+#define PACKAGE_STRING "yara 1.1.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "yara"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.1"
+#define PACKAGE_VERSION "1.1.1"
 
 /* Version number of package */
-#define VERSION "1.1"
+#define VERSION "1.1.1"
diff --git a/configure b/configure
index 17bc86e..805d822 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yara 1.1.
+# Generated by GNU Autoconf 2.61 for yara 1.1.1.
 #
 # Report bugs to <vmalvarez at hispasec.com>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='yara'
 PACKAGE_TARNAME='yara'
-PACKAGE_VERSION='1.1'
-PACKAGE_STRING='yara 1.1'
+PACKAGE_VERSION='1.1.1'
+PACKAGE_STRING='yara 1.1.1'
 PACKAGE_BUGREPORT='vmalvarez at hispasec.com'
 
 ac_subst_vars='SHELL
@@ -1167,7 +1167,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures yara 1.1 to adapt to many kinds of systems.
+\`configure' configures yara 1.1.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1233,7 +1233,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of yara 1.1:";;
+     short | recursive ) echo "Configuration of yara 1.1.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1316,7 +1316,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-yara configure 1.1
+yara configure 1.1.1
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1330,7 +1330,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by yara $as_me 1.1, which was
+It was created by yara $as_me 1.1.1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2020,7 +2020,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='yara'
- VERSION='1.1'
+ VERSION='1.1.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3973,7 +3973,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by yara $as_me 1.1, which was
+This file was extended by yara $as_me 1.1.1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4026,7 +4026,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-yara config.status 1.1
+yara config.status 1.1.1
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index cdbd92f..7e496f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([yara], [1.1], [vmalvarez at hispasec.com])
+AC_INIT([yara], [1.1.1], [vmalvarez at hispasec.com])
         AM_INIT_AUTOMAKE([-Wall -Werror])
         AC_PROG_CC
 		#AC_CHECK_LIB(yara,compile_rules,,AC_MSG_ERROR(yara not found))
diff --git a/libyara/Makefile b/libyara/Makefile
index f626823..780aa06 100644
--- a/libyara/Makefile
+++ b/libyara/Makefile
@@ -145,15 +145,15 @@ OBJEXT = o
 PACKAGE = libyara
 PACKAGE_BUGREPORT = vmalvarez at hispasec.com
 PACKAGE_NAME = libyara
-PACKAGE_STRING = libyara 1.1
+PACKAGE_STRING = libyara 1.1.1
 PACKAGE_TARNAME = libyara
-PACKAGE_VERSION = 1.1
+PACKAGE_VERSION = 1.1.1
 PATH_SEPARATOR = :
 RANLIB = ranlib
 SET_MAKE = 
 SHELL = /bin/sh
 STRIP = strip
-VERSION = 1.1
+VERSION = 1.1.1
 YACC = bison -y
 YFLAGS = -d
 abs_builddir = /Users/plusvic/Projects/yara/trunk/libyara
@@ -227,7 +227,8 @@ libyara_la_SOURCES = \
   filemap.h \
   pe.h \
   xtoi.h \
-  pefile.h
+  pefile.h \
+  sizedstr.h
 
 libyara_la_LIBDADD = /usr/local/lib/libpcre.la
 all: config.h
diff --git a/libyara/Makefile.am b/libyara/Makefile.am
index 8bd5cf9..879cfb7 100644
--- a/libyara/Makefile.am
+++ b/libyara/Makefile.am
@@ -22,6 +22,7 @@ libyara_la_SOURCES = \
   filemap.h \
   pe.h \
   xtoi.h \
-  pefile.h
+  pefile.h \
+  sizedstr.h
 
 libyara_la_LIBDADD = /usr/local/lib/libpcre.la
\ No newline at end of file
diff --git a/libyara/Makefile.in b/libyara/Makefile.in
index ab1159e..11714c1 100644
--- a/libyara/Makefile.in
+++ b/libyara/Makefile.in
@@ -227,7 +227,8 @@ libyara_la_SOURCES = \
   filemap.h \
   pe.h \
   xtoi.h \
-  pefile.h
+  pefile.h \
+  sizedstr.h
 
 libyara_la_LIBDADD = /usr/local/lib/libpcre.la
 all: config.h
diff --git a/libyara/ast.c b/libyara/ast.c
index 1dc3757..b84088f 100644
--- a/libyara/ast.c
+++ b/libyara/ast.c
@@ -413,6 +413,9 @@ int new_text_string(SIZED_STRING* charstr, int flags, unsigned char** hexstr, RE
          {
              options |= PCRE_CASELESS;
          }
+         
+         
+         printf("regexp: %s\n", *hexstr);
      
          re->regexp = pcre_compile((char*) *hexstr, options, &error, &erroffset, NULL); 
 
diff --git a/libyara/config.h b/libyara/config.h
index 81ef169..e9658c6 100644
--- a/libyara/config.h
+++ b/libyara/config.h
@@ -44,19 +44,19 @@
 #define PACKAGE_NAME "libyara"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libyara 1.1"
+#define PACKAGE_STRING "libyara 1.1.1"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "libyara"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.1"
+#define PACKAGE_VERSION "1.1.1"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "1.1"
+#define VERSION "1.1.1"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
diff --git a/libyara/configure b/libyara/configure
index f9dca0a..9a43de6 100755
--- a/libyara/configure
+++ b/libyara/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for libyara 1.1.
+# Generated by GNU Autoconf 2.61 for libyara 1.1.1.
 #
 # Report bugs to <vmalvarez at hispasec.com>.
 #
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='libyara'
 PACKAGE_TARNAME='libyara'
-PACKAGE_VERSION='1.1'
-PACKAGE_STRING='libyara 1.1'
+PACKAGE_VERSION='1.1.1'
+PACKAGE_STRING='libyara 1.1.1'
 PACKAGE_BUGREPORT='vmalvarez at hispasec.com'
 
 # Factoring default headers for most tests.
@@ -1396,7 +1396,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libyara 1.1 to adapt to many kinds of systems.
+\`configure' configures libyara 1.1.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1466,7 +1466,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libyara 1.1:";;
+     short | recursive ) echo "Configuration of libyara 1.1.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1573,7 +1573,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libyara configure 1.1
+libyara configure 1.1.1
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1587,7 +1587,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libyara $as_me 1.1, which was
+It was created by libyara $as_me 1.1.1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2277,7 +2277,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='libyara'
- VERSION='1.1'
+ VERSION='1.1.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -20232,7 +20232,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libyara $as_me 1.1, which was
+This file was extended by libyara $as_me 1.1.1, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20285,7 +20285,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libyara config.status 1.1
+libyara config.status 1.1.1
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/libyara/configure.ac b/libyara/configure.ac
index a8aff01..8396fde 100644
--- a/libyara/configure.ac
+++ b/libyara/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([libyara], [1.1], [vmalvarez at hispasec.com])
+AC_INIT([libyara], [1.1.1], [vmalvarez at hispasec.com])
         AM_INIT_AUTOMAKE([-Wall -Werror foreign])
         AC_PROG_CC
 		AC_PROG_YACC
diff --git a/libyara/lex.c b/libyara/lex.c
index 97b39d6..b4db9c3 100644
--- a/libyara/lex.c
+++ b/libyara/lex.c
@@ -285,28 +285,28 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
 	*yy_cp = '\0'; \
 	yy_c_buf_p = yy_cp;
 
-#define YY_NUM_RULES 56
-#define YY_END_OF_BUFFER 57
-static yyconst short int yy_accept[170] =
+#define YY_NUM_RULES 57
+#define YY_END_OF_BUFFER 58
+static yyconst short int yy_accept[171] =
     {   0,
-        0,    0,    0,    0,    0,    0,   57,   55,   53,   54,
-       55,   38,   34,   33,   47,   36,   36,    1,   55,    2,
+        0,    0,    0,    0,    0,    0,   58,   56,   54,   55,
+       56,   51,   34,   33,   52,   36,   36,    1,   56,    2,
        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   55,   44,   45,   39,   56,   50,
-       51,   48,   50,    6,   34,   33,    0,    0,   36,    0,
+       35,   35,   35,   35,   56,   43,   44,   38,   57,   49,
+       50,   46,   57,    6,   34,   33,    0,    0,   36,    0,
         0,    0,    3,    5,    4,   35,   35,   20,   35,   35,
        35,   35,   35,   35,   21,   29,   35,   22,   19,   35,
-       35,   35,   35,   35,   35,   35,   35,    0,   44,   46,
-       41,   42,   40,   46,   50,   49,    0,    0,    0,   32,
-       36,   37,   18,   35,   35,   35,   35,   35,   35,   35,
-
-       17,   35,   35,   35,   26,   35,   35,   35,   35,   35,
-       52,    0,   31,   35,   35,   35,   28,   35,   35,   35,
-       35,   35,    9,   35,   35,   23,   15,   35,   43,   35,
-       35,   16,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,    8,   13,   27,   35,   35,
-       35,   35,   35,   35,   35,   35,    7,   30,   10,   35,
-       35,   35,   25,   12,   11,   14,   35,   24,    0
+       35,   35,   35,   35,   35,   35,   35,    0,   43,   45,
+       40,   41,   39,   45,   49,   48,   47,    0,    0,    0,
+       32,   36,   37,   18,   35,   35,   35,   35,   35,   35,
+
+       35,   17,   35,   35,   35,   26,   35,   35,   35,   35,
+       35,   53,    0,   31,   35,   35,   35,   28,   35,   35,
+       35,   35,   35,    9,   35,   35,   23,   15,   35,   42,
+       35,   35,   16,   35,   35,   35,   35,   35,   35,   35,
+       35,   35,   35,   35,   35,   35,    8,   13,   27,   35,
+       35,   35,   35,   35,   35,   35,   35,    7,   30,   10,
+       35,   35,   35,   25,   12,   11,   14,   35,   24,    0
     } ;
 
 static yyconst int yy_ec[256] =
@@ -345,131 +345,135 @@ static yyconst int yy_meta[49] =
     {   0,
         1,    1,    2,    3,    1,    4,    1,    1,    1,    3,
         5,    6,    6,    1,    1,    1,    6,    6,    7,    7,
-        7,    4,    8,    6,    6,    6,    6,    6,    6,    7,
+        7,    8,    9,    6,    6,    6,    6,    6,    6,    7,
         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
         7,    7,    7,    7,    7,    7,    1,    1
     } ;
 
-static yyconst short int yy_base[184] =
+static yyconst short int yy_base[186] =
     {   0,
-        0,    0,   46,   47,   48,   51,  250,  251,  251,  251,
-      234,  251,    0,    0,   46,   51,   54,  233,  232,  231,
-        0,   21,  209,  209,   52,  210,   42,  206,   49,  203,
-       38,   54,   27,  208,    0,    0,  251,  251,   77,    0,
-      251,  251,  228,  251,    0,    0,  229,  234,   76,  218,
-      217,    0,  251,  251,  251,    0,  207,    0,  198,  192,
-      198,  197,  196,  192,    0,    0,   60,  198,    0,  194,
-      192,  200,  197,  184,  193,  179,  192,  170,    0,  251,
-      251,  251,  251,    0,    0,  251,  208,  205,  212,  251,
-      251,    0,    0,  187,  175,  173,  183,  177,  184,  184,
-
-        0,  168,  164,  177,    0,  164,  171,  168,  173,  172,
-      251,    0,  251,  167,  153,  169,  157,  152,  170,  154,
-      164,  167,    0,  158,  154,    0,    0,  143,  251,  126,
-      115,    0,  118,  111,  113,   92,   79,   78,   80,   85,
-       83,   81,   76,   65,   72,    0,    0,    0,   81,   73,
-       68,   82,   69,   72,   75,   75,    0,    0,    0,   63,
-       63,   57,    0,    0,    0,    0,   51,    0,  251,  121,
-      129,  132,  134,  136,  142,  148,  156,  164,  172,  180,
-       84,   79,   54
+        0,    0,   46,   47,   48,   51,  263,  264,  264,  264,
+      247,  264,    0,    0,   46,   51,   54,  246,  245,  244,
+        0,   21,  222,  222,   52,  223,   42,  219,   49,  216,
+       38,   54,   27,  221,    0,    0,  264,  264,   77,    0,
+      264,  264,  241,  264,    0,    0,  242,  247,   76,  231,
+      230,    0,  264,  264,  264,    0,  220,    0,  211,  205,
+      211,  210,  209,  205,    0,    0,   60,  211,    0,  207,
+      205,  213,  210,  197,  206,  192,  205,  183,    0,  264,
+      264,  264,  264,    0,    0,  264,  264,  221,  218,  225,
+      264,  264,    0,    0,  200,  188,  186,  196,  190,  197,
+
+      197,    0,  181,  177,  190,    0,  177,  184,  181,  186,
+      185,  264,    0,  264,  180,  166,  182,  170,  165,  183,
+      167,  152,  153,    0,  142,  136,    0,    0,  133,  264,
+      115,  116,    0,  118,  113,  113,   92,   79,   78,   80,
+       85,   83,   81,   76,   65,   72,    0,    0,    0,   81,
+       73,   68,   82,   69,   72,   75,   75,    0,    0,    0,
+       63,   63,   57,    0,    0,    0,    0,   51,    0,  264,
+      121,  130,  134,  136,  138,  145,  151,  160,  169,  178,
+      187,  196,   84,   79,   54
     } ;
 
-static yyconst short int yy_def[184] =
+static yyconst short int yy_def[186] =
     {   0,
-      169,    1,  170,  170,  171,  171,  169,  169,  169,  169,
-      169,  169,  172,  173,  169,  169,  169,  169,  169,  169,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  175,  176,  169,  169,  177,  178,
-      169,  169,  178,  169,  172,  173,  179,  180,  169,  169,
-      169,  181,  169,  169,  169,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  175,  176,  169,
-      169,  169,  169,  182,  178,  169,  179,  179,  180,  169,
-      169,  181,  174,  174,  174,  174,  174,  174,  174,  174,
-
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      169,  183,  169,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  169,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,    0,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169
+      170,    1,  171,  171,  172,  172,  170,  170,  170,  170,
+      170,  170,  173,  174,  170,  170,  170,  170,  170,  170,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  176,  177,  170,  170,  178,  179,
+      170,  170,  180,  170,  173,  174,  181,  182,  170,  170,
+      170,  183,  170,  170,  170,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  176,  177,  170,
+      170,  170,  170,  184,  179,  170,  170,  181,  181,  182,
+      170,  170,  183,  175,  175,  175,  175,  175,  175,  175,
+
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
+      175,  170,  185,  170,  175,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  170,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,  175,
+      175,  175,  175,  175,  175,  175,  175,  175,  175,    0,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170
     } ;
 
-static yyconst short int yy_nxt[300] =
+static yyconst short int yy_nxt[313] =
     {   0,
         8,    9,   10,    9,   11,   12,   13,   14,    8,    8,
        15,   16,   17,   18,   19,   20,   21,   21,   21,   21,
        21,    8,   21,   22,   21,   23,   21,   24,   25,   26,
        21,   27,   21,   21,   28,   29,   30,   31,   32,   33,
        21,   21,   34,   21,   21,   21,   35,    8,   37,   37,
-       41,   38,   38,   41,   47,   57,   48,   75,   42,  129,
+       41,   38,   38,   41,   47,   57,   48,   75,   42,  130,
        58,   42,   49,   49,   76,   49,   49,   39,   39,   43,
        50,   51,   43,   50,   51,   61,   65,   68,   71,   72,
-       66,   73,   81,   62,  112,  100,   69,   49,   49,   92,
-      168,  167,   63,   74,   52,   50,   51,  166,   82,  101,
-
-      165,  164,  163,  162,  161,  160,  159,  158,  157,  156,
-      155,  154,  153,  152,  151,  150,   83,  149,  148,  147,
-       84,   36,   36,   36,   36,   36,   36,   36,   36,   40,
-       40,   40,   40,   40,   40,   40,   40,   45,   45,   46,
-       46,   56,   56,   56,   78,  146,  145,   78,   79,  144,
-       79,  143,   79,   79,   79,   79,   80,   80,   80,   80,
-       80,   80,   80,   80,   85,  142,   85,   85,  141,   85,
-       85,   85,   87,   87,   87,   87,   87,   87,   87,   87,
-       89,   89,   89,   89,   89,   89,   89,   89,  140,  139,
-      138,  137,  136,  135,  134,  133,  132,  131,  130,  128,
-
-      127,  126,  125,  124,  123,  122,  121,  120,  119,  118,
-      117,  116,  115,  114,   90,  113,   88,  111,  110,  109,
-      108,  107,  106,  105,  104,  103,  102,   99,   98,   97,
-       96,   95,   94,   93,   91,   91,   90,   88,   86,   77,
-       70,   67,   64,   60,   59,   55,   54,   53,   44,  169,
-        7,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169
-
+       66,   73,   81,   62,  113,  101,   69,   49,   49,   93,
+      169,  168,   63,   74,   52,   50,   51,  167,   82,  102,
+
+      166,  165,  164,  163,  162,  161,  160,  159,  158,  157,
+      156,  155,  154,  153,  152,  151,   83,  150,  149,  148,
+       84,   36,   36,   36,   36,   36,   36,   36,   36,   36,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   45,
+       45,   46,   46,   56,   56,  147,   56,   78,  146,  145,
+       78,   79,  144,   79,  143,   79,   79,   79,  142,   79,
+       80,   80,   80,   80,   80,   80,   80,   80,   80,   85,
+      141,   85,   85,  140,   85,   85,  139,   85,   86,  138,
+       86,   86,   86,   86,   86,   86,   86,   88,   88,   88,
+       88,   88,   88,   88,   88,   88,   90,   90,   90,   90,
+
+       90,   90,   90,   90,   90,  137,  136,  135,  134,  133,
+      132,  131,  129,  128,  127,  126,  125,  124,  123,  122,
+      121,  120,  119,  118,  117,  116,  115,   91,  114,   89,
+      112,  111,  110,  109,  108,  107,  106,  105,  104,  103,
+      100,   99,   98,   97,   96,   95,   94,   92,   92,   91,
+       89,   87,   77,   70,   67,   64,   60,   59,   55,   54,
+       53,   44,  170,    7,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170
     } ;
 
-static yyconst short int yy_chk[300] =
+static yyconst short int yy_chk[313] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    3,    4,
-        5,    3,    4,    6,   15,   22,   15,   33,    5,  183,
+        5,    3,    4,    6,   15,   22,   15,   33,    5,  185,
        22,    6,   16,   16,   33,   17,   17,    3,    4,    5,
        16,   16,    6,   17,   17,   25,   27,   29,   31,   31,
-       27,   32,   39,   25,  182,   67,   29,   49,   49,  181,
-      167,  162,   25,   32,   16,   49,   49,  161,   39,   67,
-
-      160,  156,  155,  154,  153,  152,  151,  150,  149,  145,
-      144,  143,  142,  141,  140,  139,   39,  138,  137,  136,
-       39,  170,  170,  170,  170,  170,  170,  170,  170,  171,
-      171,  171,  171,  171,  171,  171,  171,  172,  172,  173,
-      173,  174,  174,  174,  175,  135,  134,  175,  176,  133,
-      176,  131,  176,  176,  176,  176,  177,  177,  177,  177,
-      177,  177,  177,  177,  178,  130,  178,  178,  128,  178,
-      178,  178,  179,  179,  179,  179,  179,  179,  179,  179,
-      180,  180,  180,  180,  180,  180,  180,  180,  125,  124,
-      122,  121,  120,  119,  118,  117,  116,  115,  114,  110,
-
-      109,  108,  107,  106,  104,  103,  102,  100,   99,   98,
-       97,   96,   95,   94,   89,   88,   87,   78,   77,   76,
-       75,   74,   73,   72,   71,   70,   68,   64,   63,   62,
-       61,   60,   59,   57,   51,   50,   48,   47,   43,   34,
-       30,   28,   26,   24,   23,   20,   19,   18,   11,    7,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169
-
+       27,   32,   39,   25,  184,   67,   29,   49,   49,  183,
+      168,  163,   25,   32,   16,   49,   49,  162,   39,   67,
+
+      161,  157,  156,  155,  154,  153,  152,  151,  150,  146,
+      145,  144,  143,  142,  141,  140,   39,  139,  138,  137,
+       39,  171,  171,  171,  171,  171,  171,  171,  171,  171,
+      172,  172,  172,  172,  172,  172,  172,  172,  172,  173,
+      173,  174,  174,  175,  175,  136,  175,  176,  135,  134,
+      176,  177,  132,  177,  131,  177,  177,  177,  129,  177,
+      178,  178,  178,  178,  178,  178,  178,  178,  178,  179,
+      126,  179,  179,  125,  179,  179,  123,  179,  180,  122,
+      180,  180,  180,  180,  180,  180,  180,  181,  181,  181,
+      181,  181,  181,  181,  181,  181,  182,  182,  182,  182,
+
+      182,  182,  182,  182,  182,  121,  120,  119,  118,  117,
+      116,  115,  111,  110,  109,  108,  107,  105,  104,  103,
+      101,  100,   99,   98,   97,   96,   95,   90,   89,   88,
+       78,   77,   76,   75,   74,   73,   72,   71,   70,   68,
+       64,   63,   62,   61,   60,   59,   57,   51,   50,   48,
+       47,   43,   34,   30,   28,   26,   24,   23,   20,   19,
+       18,   11,    7,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+
+      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -509,7 +513,7 @@ unsigned short string_buf_len;
 
 #define regexp 2
 
-#line 513 "lex.c"
+#line 517 "lex.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -663,7 +667,7 @@ YY_DECL
 #line 33 "lex.l"
 
 
-#line 667 "lex.c"
+#line 671 "lex.c"
 
 	if ( yy_init )
 		{
@@ -714,13 +718,13 @@ yy_match:
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 170 )
+				if ( yy_current_state >= 171 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_base[yy_current_state] != 251 );
+		while ( yy_base[yy_current_state] != 264 );
 
 yy_find_action:
 		yy_act = yy_accept[yy_current_state];
@@ -977,16 +981,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 126 "lex.l"
-{
- 						string_buf_ptr = string_buf; 
-						string_buf_len = 0;
-						BEGIN(str);
-					}
-	YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 132 "lex.l"
+#line 125 "lex.l"
 { 	/* saw closing quote - all done */
 
 						SIZED_STRING* s;
@@ -1012,24 +1007,24 @@ YY_RULE_SETUP
 						return _TEXTSTRING_;
 			  		}
 	YY_BREAK
-case 40:
+case 39:
 YY_RULE_SETUP
-#line 157 "lex.l"
+#line 150 "lex.l"
 { *string_buf_ptr++ = '\t'; string_buf_len++; }
 	YY_BREAK
-case 41:
+case 40:
 YY_RULE_SETUP
-#line 158 "lex.l"
+#line 151 "lex.l"
 { *string_buf_ptr++ = '\"'; string_buf_len++; }
 	YY_BREAK
-case 42:
+case 41:
 YY_RULE_SETUP
-#line 159 "lex.l"
+#line 152 "lex.l"
 { *string_buf_ptr++ = '\\'; string_buf_len++; }
 	YY_BREAK
-case 43:
+case 42:
 YY_RULE_SETUP
-#line 161 "lex.l"
+#line 154 "lex.l"
 {
         						int result;
 
@@ -1039,9 +1034,9 @@ YY_RULE_SETUP
 								string_buf_len++;
         					}
 	YY_BREAK
-case 44:
+case 43:
 YY_RULE_SETUP
-#line 170 "lex.l"
+#line 163 "lex.l"
 {
 						char *yptr = yytext;
 
@@ -1052,36 +1047,26 @@ YY_RULE_SETUP
 						}
 					 }
 	YY_BREAK
-case 45:
+case 44:
 YY_RULE_SETUP
-#line 180 "lex.l"
+#line 173 "lex.l"
 {
 						yyerror("unterminated string");
 						yyterminate();
 						yynerrs++;
 					}					
 	YY_BREAK
-case 46:
+case 45:
 YY_RULE_SETUP
-#line 186 "lex.l"
+#line 179 "lex.l"
 {
 						yyerror("illegal escape sequence");
 						yynerrs++;
 					}
 	YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 191 "lex.l"
-{
- 						string_buf_ptr = string_buf; 
-						string_buf_len = 0;
-						BEGIN(regexp);
-						
-					}
-	YY_BREAK
-case 48:
+case 46:
 YY_RULE_SETUP
-#line 198 "lex.l"
+#line 185 "lex.l"
 { 	
 						SIZED_STRING* s;
 
@@ -1091,7 +1076,6 @@ YY_RULE_SETUP
 							yynerrs++;
 						}
 
-
 						*string_buf_ptr = '\0';
 
 						BEGIN(INITIAL);
@@ -1107,14 +1091,26 @@ YY_RULE_SETUP
 						return _REGEXP_;
 			  		}
 	YY_BREAK
-case 49:
+case 47:
 YY_RULE_SETUP
-#line 224 "lex.l"
-{ *string_buf_ptr++ = '/'; string_buf_len++; }
+#line 209 "lex.l"
+{ 				
+						*string_buf_ptr++ = '/';
+						string_buf_len++ ;
+					}
 	YY_BREAK
-case 50:
+case 48:
+YY_RULE_SETUP
+#line 214 "lex.l"
+{ 				
+						*string_buf_ptr++ = yytext[0];
+						*string_buf_ptr++ = yytext[1];
+						string_buf_len += 2;
+					}
+	YY_BREAK
+case 49:
 YY_RULE_SETUP
-#line 226 "lex.l"
+#line 220 "lex.l"
 {
 						char *yptr = yytext;
 
@@ -1125,18 +1121,36 @@ YY_RULE_SETUP
 						}
 					 }
 	YY_BREAK
-case 51:
+case 50:
 YY_RULE_SETUP
-#line 236 "lex.l"
+#line 230 "lex.l"
 {
 						yyerror("unterminated regular expression");
 						yyterminate();
 						yynerrs++;
 					}
 	YY_BREAK
+case 51:
+YY_RULE_SETUP
+#line 236 "lex.l"
+{
+ 						string_buf_ptr = string_buf; 
+						string_buf_len = 0;
+						BEGIN(str);
+					}
+	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 244 "lex.l"
+#line 242 "lex.l"
+{
+ 						string_buf_ptr = string_buf; 
+						string_buf_len = 0;
+						BEGIN(regexp);
+					}
+	YY_BREAK
+case 53:
+YY_RULE_SETUP
+#line 249 "lex.l"
 { 
 										int len = strlen(yytext);
 										
@@ -1151,32 +1165,32 @@ YY_RULE_SETUP
 										return _HEXSTRING_;
 									}
 	YY_BREAK
-case 53:
+case 54:
 YY_RULE_SETUP
-#line 259 "lex.l"
+#line 264 "lex.l"
 /* skip whitespace */
 	YY_BREAK
-case 54:
+case 55:
 YY_RULE_SETUP
-#line 261 "lex.l"
+#line 266 "lex.l"
 {
 						line_number++;
 						
 					}
 	YY_BREAK
-case 55:
+case 56:
 YY_RULE_SETUP
-#line 266 "lex.l"
+#line 271 "lex.l"
 { 
                        	return yytext[0];    
 					}
 	YY_BREAK
-case 56:
+case 57:
 YY_RULE_SETUP
-#line 269 "lex.l"
+#line 274 "lex.l"
 ECHO;
 	YY_BREAK
-#line 1180 "lex.c"
+#line 1194 "lex.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(str):
 case YY_STATE_EOF(regexp):
@@ -1470,7 +1484,7 @@ static yy_state_type yy_get_previous_state()
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 170 )
+			if ( yy_current_state >= 171 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1505,11 +1519,11 @@ yy_state_type yy_current_state;
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 170 )
+		if ( yy_current_state >= 171 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 169);
+	yy_is_jam = (yy_current_state == 170);
 
 	return yy_is_jam ? 0 : yy_current_state;
 	}
@@ -2064,7 +2078,7 @@ int main()
 	return 0;
 	}
 #endif
-#line 269 "lex.l"
+#line 274 "lex.l"
 
 
 
diff --git a/libyara/lex.l b/libyara/lex.l
index 6eece95..c0682bd 100644
--- a/libyara/lex.l
+++ b/libyara/lex.l
@@ -122,13 +122,6 @@ $({letter}|{digit})* {
 						return _NUMBER_;
 					}
 	
-	
-\"     				{
- 						string_buf_ptr = string_buf; 
-						string_buf_len = 0;
-						BEGIN(str);
-					}
-
 <str>\"        		{ 	/* saw closing quote - all done */
 
 						SIZED_STRING* s;
@@ -187,13 +180,7 @@ $({letter}|{digit})* {
 						yyerror("illegal escape sequence");
 						yynerrs++;
 					}
-					
-"/"     			{
- 						string_buf_ptr = string_buf; 
-						string_buf_len = 0;
-						BEGIN(regexp);
-						
-					}
+
 					
 <regexp>"/"         { 	
 						SIZED_STRING* s;
@@ -204,7 +191,6 @@ $({letter}|{digit})* {
 							yynerrs++;
 						}
 
-
 						*string_buf_ptr = '\0';
 
 						BEGIN(INITIAL);
@@ -219,11 +205,19 @@ $({letter}|{digit})* {
 
 						return _REGEXP_;
 			  		}
+			
+<regexp>\\\/		{ 				
+						*string_buf_ptr++ = '/';
+						string_buf_len++ ;
+					}
 
+<regexp>\\.			{ 				
+						*string_buf_ptr++ = yytext[0];
+						*string_buf_ptr++ = yytext[1];
+						string_buf_len += 2;
+					}
 
-<regexp>"\\/"  		{ *string_buf_ptr++ = '/'; string_buf_len++; }
-
-<regexp>[^/\n]+     {
+<regexp>[^/\n\\]+    {
 						char *yptr = yytext;
 
 						while ( *yptr )
@@ -233,12 +227,23 @@ $({letter}|{digit})* {
 						}
 					 }
 
-<regexp>\n  		    {
+<regexp>\n  		{
 						yyerror("unterminated regular expression");
 						yyterminate();
 						yynerrs++;
 					}
 					
+\"     				{
+ 						string_buf_ptr = string_buf; 
+						string_buf_len = 0;
+						BEGIN(str);
+					}
+			
+"/"     			{
+ 						string_buf_ptr = string_buf; 
+						string_buf_len = 0;
+						BEGIN(regexp);
+					}
 					
 					
 \{({hexdigit}|[ \?\[\]-])+\}		{ 
diff --git a/libyara/libtool b/libyara/libtool
index c550324..f47c1a7 100755
--- a/libyara/libtool
+++ b/libyara/libtool
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # libtoolT - Provide generalized library-building support services.
-# Generated automatically by  (GNU libyara 1.1)
+# Generated automatically by  (GNU libyara 1.1.1)
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
diff --git a/libyara/libyara.tmproj b/libyara/libyara.tmproj
index a3090f0..3d0a482 100644
--- a/libyara/libyara.tmproj
+++ b/libyara/libyara.tmproj
@@ -3,7 +3,7 @@
 <plist version="1.0">
 <dict>
 	<key>currentDocument</key>
-	<string>scan.c</string>
+	<string>lex.l</string>
 	<key>documents</key>
 	<array>
 		<dict>
@@ -13,9 +13,7 @@
 					<key>filename</key>
 					<string>scan.c</string>
 					<key>lastUsed</key>
-					<date>2008-12-24T17:47:25Z</date>
-					<key>selected</key>
-					<true/>
+					<date>2009-01-08T11:09:40Z</date>
 				</dict>
 				<dict>
 					<key>filename</key>
@@ -51,19 +49,21 @@
 					<key>filename</key>
 					<string>ast.c</string>
 					<key>lastUsed</key>
-					<date>2008-12-24T17:43:43Z</date>
+					<date>2009-01-08T11:55:41Z</date>
 				</dict>
 				<dict>
 					<key>filename</key>
 					<string>lex.l</string>
 					<key>lastUsed</key>
-					<date>2008-12-24T17:27:40Z</date>
+					<date>2009-01-08T11:55:41Z</date>
+					<key>selected</key>
+					<true/>
 				</dict>
 				<dict>
 					<key>filename</key>
 					<string>grammar.y</string>
 					<key>lastUsed</key>
-					<date>2008-12-24T17:32:47Z</date>
+					<date>2009-01-08T11:09:56Z</date>
 				</dict>
 				<dict>
 					<key>filename</key>
@@ -170,14 +170,30 @@
 			<key>caret</key>
 			<dict>
 				<key>column</key>
-				<integer>13</integer>
+				<integer>0</integer>
 				<key>line</key>
-				<integer>420</integer>
+				<integer>416</integer>
 			</dict>
+			<key>columnSelection</key>
+			<false/>
 			<key>firstVisibleColumn</key>
 			<integer>0</integer>
 			<key>firstVisibleLine</key>
-			<integer>393</integer>
+			<integer>384</integer>
+			<key>selectFrom</key>
+			<dict>
+				<key>column</key>
+				<integer>41</integer>
+				<key>line</key>
+				<integer>417</integer>
+			</dict>
+			<key>selectTo</key>
+			<dict>
+				<key>column</key>
+				<integer>0</integer>
+				<key>line</key>
+				<integer>416</integer>
+			</dict>
 		</dict>
 		<key>ast.h</key>
 		<dict>
@@ -333,21 +349,21 @@
 			<key>firstVisibleColumn</key>
 			<integer>0</integer>
 			<key>firstVisibleLine</key>
-			<integer>374</integer>
+			<integer>384</integer>
 		</dict>
 		<key>lex.l</key>
 		<dict>
 			<key>caret</key>
 			<dict>
 				<key>column</key>
-				<integer>21</integer>
+				<integer>20</integer>
 				<key>line</key>
-				<integer>143</integer>
+				<integer>210</integer>
 			</dict>
 			<key>firstVisibleColumn</key>
 			<integer>0</integer>
 			<key>firstVisibleLine</key>
-			<integer>229</integer>
+			<integer>187</integer>
 		</dict>
 		<key>pefile.c</key>
 		<dict>
@@ -427,6 +443,6 @@
 	<key>showFileHierarchyDrawer</key>
 	<true/>
 	<key>windowFrame</key>
-	<string>{{258, 144}, {1020, 800}}</string>
+	<string>{{258, 4}, {1020, 774}}</string>
 </dict>
 </plist>
diff --git a/yara-python/setup.py b/yara-python/setup.py
index 5cc09d8..f94ef8f 100644
--- a/yara-python/setup.py
+++ b/yara-python/setup.py
@@ -2,7 +2,7 @@ from distutils.core import setup, Extension
 
                            
 setup(name = "yara-python",
-        version = "1.1.0",
+        version = "1.1.1",
         author = "Victor M. Alvarez",
         author_email = "plusvic at gmail.com",
         url = 'http://yara.googlecode.com',
diff --git a/yara-python/setupwin.py b/yara-python/setupwin.py
index 30b4949..da4549d 100644
--- a/yara-python/setupwin.py
+++ b/yara-python/setupwin.py
@@ -2,7 +2,7 @@ from distutils.core import setup, Extension
 
                            
 setup(name = "yara-python",
-        version = "1.1.0",
+        version = "1.1.1",
         author = "Victor M. Alvarez",
         author_email = "plusvic at gmail.com",
         ext_modules = [ Extension(
diff --git a/yara-python/yara-python.c b/yara-python/yara-python.c
index 8674f49..c6b375d 100644
--- a/yara-python/yara-python.c
+++ b/yara-python/yara-python.c
@@ -159,7 +159,7 @@ static void Match_dealloc(PyObject *self)
      
     Py_DECREF(object->tags); 
     Py_DECREF(object->strings);
-    PyObject_FREE(self);
+    PyObject_Del(self);
 }
 
 static PyObject * Match_Repr(PyObject *self)
@@ -290,7 +290,7 @@ static void Rules_dealloc(PyObject *self)
 {      
     free_hash_table(((Rules*) self)->rules);
     free_rule_list(((Rules*) self)->rules);
-    PyObject_FREE(self);
+    PyObject_Del(self);
 }
 
 int callback(RULE* rule, unsigned char* buffer, unsigned int buffer_size, void* data)
@@ -349,8 +349,8 @@ int callback(RULE* rule, unsigned char* buffer, unsigned int buffer_size, void*
     }
     else
     {
-        PyObject_FREE(taglist);
-        PyObject_FREE(stringlist);
+        Py_DECREF(taglist);
+        Py_DECREF(stringlist);
         return 1;
     }
     
@@ -375,7 +375,7 @@ PyObject * Rules_matchstring(PyObject *self, PyObject *args)
        
        if (result != ERROR_SUCCESS)
        {
-           PyObject_FREE(matches);
+           Py_DECREF(matches);
            return PyErr_Format(PyExc_Exception, "internal error"); 
        }
     }
@@ -398,12 +398,12 @@ PyObject * Rules_matchfile(PyObject *self, PyObject *args)
        
         if (result == ERROR_COULD_NOT_OPEN_FILE)
         {
-            PyObject_FREE(matches);
+            Py_DECREF(matches);
             return PyErr_SetFromErrno(PyExc_IOError);
         }
         else if (result != ERROR_SUCCESS)
         {
-            PyObject_FREE(matches);
+            Py_DECREF(matches);
             return PyErr_Format(PyExc_Exception, "internal error");
         }
     }
diff --git a/yara.c b/yara.c
index 7fe430e..ef58101 100644
--- a/yara.c
+++ b/yara.c
@@ -23,8 +23,6 @@ GNU General Public License for more details.
 #include "getopt.h"
 #endif
 
-#include <time.h>
-
 #include <stdio.h>
 #include <string.h>
 #include <yara.h>
@@ -461,9 +459,7 @@ int main(int argc, char const* argv[])
 	}
 	else		
 	{
-          printf("%d\n", time(NULL));
 		scan_file(argv[argc - 1], rules, callback, (void*) argv[argc - 1]);
-        printf("%d\n", time(NULL));
 	}
 	
 	free_hash_table(rules);	

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