[Forensics-changes] [yara] 170/192: Move variable definitions to the beginning of code block
Hilko Bengen
bengen at moszumanska.debian.org
Sat Jul 1 10:32:00 UTC 2017
This is an automated email from the git hooks/post-receive script.
bengen pushed a commit to annotated tag v3.6.0
in repository yara.
commit eef165b9a434e2292df3d2a2a83d3d44e9d14091
Author: plusvic <plusvic at gmail.com>
Date: Mon May 8 16:51:00 2017 +0200
Move variable definitions to the beginning of code block
---
libyara/lexer.c | 3 +-
libyara/modules/dotnet.c | 4 +-
libyara/modules/elf.c | 6 +--
libyara/modules/pe.c | 25 +++++----
libyara/parser.c | 4 +-
libyara/re_grammar.c | 134 +++++++++++++++++++++++++----------------------
libyara/re_grammar.y | 20 +++++--
7 files changed, 113 insertions(+), 83 deletions(-)
diff --git a/libyara/lexer.c b/libyara/lexer.c
index c3ec96c..a60392b 100644
--- a/libyara/lexer.c
+++ b/libyara/lexer.c
@@ -3252,6 +3252,7 @@ int yr_lex_parse_rules_fd(
YR_COMPILER* compiler)
{
yyscan_t yyscanner;
+ char buf[1024];
compiler->errors = 0;
@@ -3264,8 +3265,6 @@ int yr_lex_parse_rules_fd(
yydebug = 1;
#endif
- char buf[1024];
-
yara_yyset_extra(compiler,yyscanner);
while (1)
{
diff --git a/libyara/modules/dotnet.c b/libyara/modules/dotnet.c
index 9041ab9..e385650 100644
--- a/libyara/modules/dotnet.c
+++ b/libyara/modules/dotnet.c
@@ -1652,12 +1652,14 @@ int module_load(
foreach_memory_block(iterator, block)
{
+ PIMAGE_NT_HEADERS32 pe_header;
+
block_data = block->fetch_data(block);
if (block_data == NULL)
continue;
- PIMAGE_NT_HEADERS32 pe_header = pe_get_header(block_data, block->size);
+ pe_header = pe_get_header(block_data, block->size);
if (pe_header != NULL)
{
diff --git a/libyara/modules/elf.c b/libyara/modules/elf.c
index e4fb8f8..bd2f2c6 100644
--- a/libyara/modules/elf.c
+++ b/libyara/modules/elf.c
@@ -203,6 +203,9 @@ void parse_elf_header_##bits##_##bo( \
{ \
char* str_table = NULL; \
\
+ elf##bits##_section_header_t* symtab = NULL; \
+ elf##bits##_section_header_t* sym_strtab = NULL; \
+ \
section = (elf##bits##_section_header_t*) \
((uint8_t*) elf + yr_##bo##bits##toh(elf->sh_offset)); \
\
@@ -213,9 +216,6 @@ void parse_elf_header_##bits##_##bo( \
section[yr_##bo##16toh(elf->sh_str_table_index)].offset); \
} \
\
- elf##bits##_section_header_t* symtab = NULL; \
- elf##bits##_section_header_t* sym_strtab = NULL; \
- \
for (i = 0; i < yr_##bo##16toh(elf->sh_entry_count); i++) \
{ \
set_integer(yr_##bo##32toh(section->type), elf_obj, \
diff --git a/libyara/modules/pe.c b/libyara/modules/pe.c
index a89f5fc..2332aa6 100644
--- a/libyara/modules/pe.c
+++ b/libyara/modules/pe.c
@@ -1001,8 +1001,11 @@ IMPORT_EXPORT_FUNCTION* pe_parse_exports(
for (i = 0; i < yr_le32toh(exports->NumberOfFunctions); i++)
{
- char* name;
+ IMPORT_EXPORT_FUNCTION* exported_func;
+
uint16_t ordinal = 0;
+ char* name;
+
offset = pe_rva_to_offset(pe, names[i]);
if (offset < 0)
@@ -1017,7 +1020,7 @@ IMPORT_EXPORT_FUNCTION* pe_parse_exports(
ordinal = yr_le16toh(ordinals[i]);
// Now add it to the list...
- IMPORT_EXPORT_FUNCTION* exported_func = (IMPORT_EXPORT_FUNCTION*)
+ exported_func = (IMPORT_EXPORT_FUNCTION*)
yr_calloc(1, sizeof(IMPORT_EXPORT_FUNCTION));
if (exported_func == NULL)
@@ -1051,7 +1054,9 @@ void pe_parse_certificates(
PE* pe)
{
int i, counter = 0;
+
uint8_t* eod;
+ uintptr_t end;
PWIN_CERTIFICATE win_cert;
@@ -1139,6 +1144,7 @@ void pe_parse_certificates(
for (i = 0; i < sk_X509_num(certs); i++)
{
+ time_t date_time;
const char* sig_alg;
char buffer[256];
int bytes;
@@ -1250,7 +1256,7 @@ void pe_parse_certificates(
}
}
- time_t date_time = ASN1_get_time_t(X509_get_notBefore(cert));
+ date_time = ASN1_get_time_t(X509_get_notBefore(cert));
set_integer(date_time, pe->object, "signatures[%i].not_before", counter);
date_time = ASN1_get_time_t(X509_get_notAfter(cert));
@@ -1259,10 +1265,7 @@ void pe_parse_certificates(
counter++;
}
- uintptr_t end = \
- (uintptr_t)((uint8_t *) win_cert) + \
- yr_le32toh(win_cert->Length);
-
+ end = (uintptr_t)((uint8_t *) win_cert) + yr_le32toh(win_cert->Length);
win_cert = (PWIN_CERTIFICATE)(end + (end % 8));
BIO_free(cert_bio);
@@ -1520,12 +1523,14 @@ define_function(exports)
YR_OBJECT* module = module();
PE* pe = (PE*) module->data;
+ IMPORT_EXPORT_FUNCTION* exported_func;
+
// If not a PE, return UNDEFINED.
if (pe == NULL)
return_integer(UNDEFINED);
- IMPORT_EXPORT_FUNCTION* exported_func = pe->exported_functions;
+ exported_func = pe->exported_functions;
while (exported_func != NULL)
{
@@ -1546,10 +1551,12 @@ define_function(exports_ordinal)
YR_OBJECT* module = module();
PE* pe = (PE*) module->data;
+ IMPORT_EXPORT_FUNCTION* exported_func;
+
if (!pe)
return_integer(UNDEFINED);
- IMPORT_EXPORT_FUNCTION* exported_func = pe->exported_functions;
+ exported_func = pe->exported_functions;
while (exported_func != NULL)
{
diff --git a/libyara/parser.c b/libyara/parser.c
index 27ead97..f20df7d 100644
--- a/libyara/parser.c
+++ b/libyara/parser.c
@@ -116,10 +116,12 @@ int yr_parser_emit_with_arg_reloc(
void** argument_address)
{
int64_t* ptr = NULL;
+ int result;
+
DECLARE_REFERENCE(void*, argument) a;
a.argument = argument;
- int result = yr_arena_write_data(
+ result = yr_arena_write_data(
yyget_extra(yyscanner)->code_arena,
&instruction,
sizeof(uint8_t),
diff --git a/libyara/re_grammar.c b/libyara/re_grammar.c
index dd148e7..4122c7d 100644
--- a/libyara/re_grammar.c
+++ b/libyara/re_grammar.c
@@ -491,10 +491,10 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 104, 104, 109, 113, 117, 128, 144, 148, 159,
- 171, 185, 197, 211, 234, 258, 280, 303, 307, 313,
- 319, 325, 334, 338, 344, 352, 358, 364, 370, 376,
- 382, 388
+ 0, 104, 104, 109, 113, 117, 128, 146, 150, 161,
+ 175, 191, 205, 221, 244, 268, 290, 313, 317, 323,
+ 329, 335, 344, 348, 354, 362, 368, 374, 380, 386,
+ 392, 398
};
#endif
@@ -1365,9 +1365,11 @@ yyreduce:
case 6:
#line 129 "re_grammar.y" /* yacc.c:1646 */
{
+ RE_NODE* node;
+
mark_as_not_fast_regexp();
- RE_NODE* node = yr_re_node_create(RE_NODE_EMPTY, NULL, NULL);
+ node = yr_re_node_create(RE_NODE_EMPTY, NULL, NULL);
DESTROY_NODE_IF((yyval.re_node) == NULL, (yyvsp[-1].re_node));
ERROR_IF(node == NULL, ERROR_INSUFFICIENT_MEMORY);
@@ -1376,19 +1378,19 @@ yyreduce:
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1380 "re_grammar.c" /* yacc.c:1646 */
+#line 1382 "re_grammar.c" /* yacc.c:1646 */
break;
case 7:
-#line 145 "re_grammar.y" /* yacc.c:1646 */
+#line 147 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = (yyvsp[0].re_node);
}
-#line 1388 "re_grammar.c" /* yacc.c:1646 */
+#line 1390 "re_grammar.c" /* yacc.c:1646 */
break;
case 8:
-#line 149 "re_grammar.y" /* yacc.c:1646 */
+#line 151 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_CONCAT, (yyvsp[-1].re_node), (yyvsp[0].re_node));
@@ -1396,15 +1398,17 @@ yyreduce:
DESTROY_NODE_IF((yyval.re_node) == NULL, (yyvsp[0].re_node));
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1400 "re_grammar.c" /* yacc.c:1646 */
+#line 1402 "re_grammar.c" /* yacc.c:1646 */
break;
case 9:
-#line 160 "re_grammar.y" /* yacc.c:1646 */
+#line 162 "re_grammar.y" /* yacc.c:1646 */
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_GREEDY;
(yyval.re_node) = yr_re_node_create(RE_NODE_STAR, (yyvsp[-1].re_node), NULL);
@@ -1412,15 +1416,17 @@ yyreduce:
DESTROY_NODE_IF((yyval.re_node) == NULL, (yyvsp[-1].re_node));
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1416 "re_grammar.c" /* yacc.c:1646 */
+#line 1420 "re_grammar.c" /* yacc.c:1646 */
break;
case 10:
-#line 172 "re_grammar.y" /* yacc.c:1646 */
+#line 176 "re_grammar.y" /* yacc.c:1646 */
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_UNGREEDY;
(yyval.re_node) = yr_re_node_create(RE_NODE_STAR, (yyvsp[-2].re_node), NULL);
@@ -1430,15 +1436,17 @@ yyreduce:
(yyval.re_node)->greedy = FALSE;
}
-#line 1434 "re_grammar.c" /* yacc.c:1646 */
+#line 1440 "re_grammar.c" /* yacc.c:1646 */
break;
case 11:
-#line 186 "re_grammar.y" /* yacc.c:1646 */
+#line 192 "re_grammar.y" /* yacc.c:1646 */
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_GREEDY;
(yyval.re_node) = yr_re_node_create(RE_NODE_PLUS, (yyvsp[-1].re_node), NULL);
@@ -1446,15 +1454,17 @@ yyreduce:
DESTROY_NODE_IF((yyval.re_node) == NULL, (yyvsp[-1].re_node));
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1450 "re_grammar.c" /* yacc.c:1646 */
+#line 1458 "re_grammar.c" /* yacc.c:1646 */
break;
case 12:
-#line 198 "re_grammar.y" /* yacc.c:1646 */
+#line 206 "re_grammar.y" /* yacc.c:1646 */
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_UNGREEDY;
(yyval.re_node) = yr_re_node_create(RE_NODE_PLUS, (yyvsp[-2].re_node), NULL);
@@ -1464,11 +1474,11 @@ yyreduce:
(yyval.re_node)->greedy = FALSE;
}
-#line 1468 "re_grammar.c" /* yacc.c:1646 */
+#line 1478 "re_grammar.c" /* yacc.c:1646 */
break;
case 13:
-#line 212 "re_grammar.y" /* yacc.c:1646 */
+#line 222 "re_grammar.y" /* yacc.c:1646 */
{
RE_AST* re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_GREEDY;
@@ -1491,11 +1501,11 @@ yyreduce:
(yyval.re_node)->start = 0;
(yyval.re_node)->end = 1;
}
-#line 1495 "re_grammar.c" /* yacc.c:1646 */
+#line 1505 "re_grammar.c" /* yacc.c:1646 */
break;
case 14:
-#line 235 "re_grammar.y" /* yacc.c:1646 */
+#line 245 "re_grammar.y" /* yacc.c:1646 */
{
RE_AST* re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_UNGREEDY;
@@ -1519,11 +1529,11 @@ yyreduce:
(yyval.re_node)->end = 1;
(yyval.re_node)->greedy = FALSE;
}
-#line 1523 "re_grammar.c" /* yacc.c:1646 */
+#line 1533 "re_grammar.c" /* yacc.c:1646 */
break;
case 15:
-#line 259 "re_grammar.y" /* yacc.c:1646 */
+#line 269 "re_grammar.y" /* yacc.c:1646 */
{
RE_AST* re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_GREEDY;
@@ -1545,11 +1555,11 @@ yyreduce:
(yyval.re_node)->start = (yyvsp[0].range) & 0xFFFF;;
(yyval.re_node)->end = (yyvsp[0].range) >> 16;;
}
-#line 1549 "re_grammar.c" /* yacc.c:1646 */
+#line 1559 "re_grammar.c" /* yacc.c:1646 */
break;
case 16:
-#line 281 "re_grammar.y" /* yacc.c:1646 */
+#line 291 "re_grammar.y" /* yacc.c:1646 */
{
RE_AST* re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_UNGREEDY;
@@ -1572,77 +1582,77 @@ yyreduce:
(yyval.re_node)->end = (yyvsp[-1].range) >> 16;;
(yyval.re_node)->greedy = FALSE;
}
-#line 1576 "re_grammar.c" /* yacc.c:1646 */
+#line 1586 "re_grammar.c" /* yacc.c:1646 */
break;
case 17:
-#line 304 "re_grammar.y" /* yacc.c:1646 */
+#line 314 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = (yyvsp[0].re_node);
}
-#line 1584 "re_grammar.c" /* yacc.c:1646 */
+#line 1594 "re_grammar.c" /* yacc.c:1646 */
break;
case 18:
-#line 308 "re_grammar.y" /* yacc.c:1646 */
+#line 318 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_WORD_BOUNDARY, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1594 "re_grammar.c" /* yacc.c:1646 */
+#line 1604 "re_grammar.c" /* yacc.c:1646 */
break;
case 19:
-#line 314 "re_grammar.y" /* yacc.c:1646 */
+#line 324 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_NON_WORD_BOUNDARY, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1604 "re_grammar.c" /* yacc.c:1646 */
+#line 1614 "re_grammar.c" /* yacc.c:1646 */
break;
case 20:
-#line 320 "re_grammar.y" /* yacc.c:1646 */
+#line 330 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_ANCHOR_START, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1614 "re_grammar.c" /* yacc.c:1646 */
+#line 1624 "re_grammar.c" /* yacc.c:1646 */
break;
case 21:
-#line 326 "re_grammar.y" /* yacc.c:1646 */
+#line 336 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_ANCHOR_END, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1624 "re_grammar.c" /* yacc.c:1646 */
+#line 1634 "re_grammar.c" /* yacc.c:1646 */
break;
case 22:
-#line 335 "re_grammar.y" /* yacc.c:1646 */
+#line 345 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = (yyvsp[-1].re_node);
}
-#line 1632 "re_grammar.c" /* yacc.c:1646 */
+#line 1642 "re_grammar.c" /* yacc.c:1646 */
break;
case 23:
-#line 339 "re_grammar.y" /* yacc.c:1646 */
+#line 349 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_ANY, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1642 "re_grammar.c" /* yacc.c:1646 */
+#line 1652 "re_grammar.c" /* yacc.c:1646 */
break;
case 24:
-#line 345 "re_grammar.y" /* yacc.c:1646 */
+#line 355 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_LITERAL, NULL, NULL);
@@ -1650,71 +1660,71 @@ yyreduce:
(yyval.re_node)->value = (yyvsp[0].integer);
}
-#line 1654 "re_grammar.c" /* yacc.c:1646 */
+#line 1664 "re_grammar.c" /* yacc.c:1646 */
break;
case 25:
-#line 353 "re_grammar.y" /* yacc.c:1646 */
+#line 363 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_WORD_CHAR, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1664 "re_grammar.c" /* yacc.c:1646 */
+#line 1674 "re_grammar.c" /* yacc.c:1646 */
break;
case 26:
-#line 359 "re_grammar.y" /* yacc.c:1646 */
+#line 369 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_NON_WORD_CHAR, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1674 "re_grammar.c" /* yacc.c:1646 */
+#line 1684 "re_grammar.c" /* yacc.c:1646 */
break;
case 27:
-#line 365 "re_grammar.y" /* yacc.c:1646 */
+#line 375 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_SPACE, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1684 "re_grammar.c" /* yacc.c:1646 */
+#line 1694 "re_grammar.c" /* yacc.c:1646 */
break;
case 28:
-#line 371 "re_grammar.y" /* yacc.c:1646 */
+#line 381 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_NON_SPACE, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1694 "re_grammar.c" /* yacc.c:1646 */
+#line 1704 "re_grammar.c" /* yacc.c:1646 */
break;
case 29:
-#line 377 "re_grammar.y" /* yacc.c:1646 */
+#line 387 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_DIGIT, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1704 "re_grammar.c" /* yacc.c:1646 */
+#line 1714 "re_grammar.c" /* yacc.c:1646 */
break;
case 30:
-#line 383 "re_grammar.y" /* yacc.c:1646 */
+#line 393 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_NON_DIGIT, NULL, NULL);
ERROR_IF((yyval.re_node) == NULL, ERROR_INSUFFICIENT_MEMORY);
}
-#line 1714 "re_grammar.c" /* yacc.c:1646 */
+#line 1724 "re_grammar.c" /* yacc.c:1646 */
break;
case 31:
-#line 389 "re_grammar.y" /* yacc.c:1646 */
+#line 399 "re_grammar.y" /* yacc.c:1646 */
{
(yyval.re_node) = yr_re_node_create(RE_NODE_CLASS, NULL, NULL);
@@ -1722,11 +1732,11 @@ yyreduce:
(yyval.re_node)->class_vector = (yyvsp[0].class_vector);
}
-#line 1726 "re_grammar.c" /* yacc.c:1646 */
+#line 1736 "re_grammar.c" /* yacc.c:1646 */
break;
-#line 1730 "re_grammar.c" /* yacc.c:1646 */
+#line 1740 "re_grammar.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -1954,5 +1964,5 @@ yyreturn:
#endif
return yyresult;
}
-#line 397 "re_grammar.y" /* yacc.c:1906 */
+#line 407 "re_grammar.y" /* yacc.c:1906 */
diff --git a/libyara/re_grammar.y b/libyara/re_grammar.y
index 391dd49..9a22b44 100644
--- a/libyara/re_grammar.y
+++ b/libyara/re_grammar.y
@@ -127,9 +127,11 @@ alternative
}
| alternative '|'
{
+ RE_NODE* node;
+
mark_as_not_fast_regexp();
- RE_NODE* node = yr_re_node_create(RE_NODE_EMPTY, NULL, NULL);
+ node = yr_re_node_create(RE_NODE_EMPTY, NULL, NULL);
DESTROY_NODE_IF($$ == NULL, $1);
ERROR_IF(node == NULL, ERROR_INSUFFICIENT_MEMORY);
@@ -158,9 +160,11 @@ concatenation
repeat
: single '*'
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_GREEDY;
$$ = yr_re_node_create(RE_NODE_STAR, $1, NULL);
@@ -170,9 +174,11 @@ repeat
}
| single '*' '?'
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_UNGREEDY;
$$ = yr_re_node_create(RE_NODE_STAR, $1, NULL);
@@ -184,9 +190,11 @@ repeat
}
| single '+'
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_GREEDY;
$$ = yr_re_node_create(RE_NODE_PLUS, $1, NULL);
@@ -196,9 +204,11 @@ repeat
}
| single '+' '?'
{
+ RE_AST* re_ast;
+
mark_as_not_fast_regexp();
- RE_AST* re_ast = yyget_extra(yyscanner);
+ re_ast = yyget_extra(yyscanner);
re_ast->flags |= RE_FLAGS_UNGREEDY;
$$ = yr_re_node_create(RE_NODE_PLUS, $1, NULL);
--
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