Lines 426-432
Link Here
|
426 |
break; |
426 |
break; |
427 |
|
427 |
|
428 |
case OP_PUSH_RULE: |
428 |
case OP_PUSH_RULE: |
429 |
rule = *(YR_RULE**)(ip + 1); |
429 |
memcpy(&rule, ip + 1, sizeof(YR_RULE *)); |
430 |
ip += sizeof(uint64_t); |
430 |
ip += sizeof(uint64_t); |
431 |
#if REAL_YARA |
431 |
#if REAL_YARA |
432 |
push(rule->t_flags[tidx] & RULE_TFLAGS_MATCH ? 1 : 0); |
432 |
push(rule->t_flags[tidx] & RULE_TFLAGS_MATCH ? 1 : 0); |
Lines 437-443
Link Here
|
437 |
|
437 |
|
438 |
case OP_MATCH_RULE: |
438 |
case OP_MATCH_RULE: |
439 |
pop(r1); |
439 |
pop(r1); |
440 |
rule = *(YR_RULE**)(ip + 1); |
440 |
memcpy(&rule, ip + 1, sizeof(YR_RULE *)); |
441 |
ip += sizeof(uint64_t); |
441 |
ip += sizeof(uint64_t); |
442 |
|
442 |
|
443 |
if (!IS_UNDEFINED(r1) && r1) |
443 |
if (!IS_UNDEFINED(r1) && r1) |
Lines 457-463
Link Here
|
457 |
break; |
457 |
break; |
458 |
|
458 |
|
459 |
case OP_OBJ_LOAD: |
459 |
case OP_OBJ_LOAD: |
460 |
identifier = *(char**)(ip + 1); |
460 |
memcpy(&identifier, ip + 1, sizeof(char *)); |
461 |
ip += sizeof(uint64_t); |
461 |
ip += sizeof(uint64_t); |
462 |
|
462 |
|
463 |
object = (YR_OBJECT*) yr_hash_table_lookup( |
463 |
object = (YR_OBJECT*) yr_hash_table_lookup( |
Lines 473-479
Link Here
|
473 |
case OP_OBJ_FIELD: |
473 |
case OP_OBJ_FIELD: |
474 |
pop(r1); |
474 |
pop(r1); |
475 |
|
475 |
|
476 |
identifier = *(char**)(ip + 1); |
476 |
memcpy(&identifier, ip + 1, sizeof(char *)); |
477 |
ip += sizeof(uint64_t); |
477 |
ip += sizeof(uint64_t); |
478 |
|
478 |
|
479 |
if (IS_UNDEFINED(r1)) |
479 |
if (IS_UNDEFINED(r1)) |
480 |
-- |
|
|