Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yara-python
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fact-depend
yara-python
Commits
eb8f0976
Commit
eb8f0976
authored
Mar 16, 2021
by
Victor M. Alvarez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename warning_callback to warnings_callback for coherency with modules_callback.
parent
5c0aec3f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
18 deletions
+18
-18
tests.py
tests.py
+7
-7
yara-python.c
yara-python.c
+11
-11
No files found.
tests.py
View file @
eb8f0976
...
...
@@ -267,9 +267,9 @@ RE_TESTS = [
]
def
warning_callback
(
warning_type
,
message
):
global
warning_callback_called
warning_callback_called
=
warning_type
def
warning
s
_callback
(
warning_type
,
message
):
global
warning
s
_callback_called
warning
s
_callback_called
=
warning_type
class
TestYara
(
unittest
.
TestCase
):
...
...
@@ -1099,14 +1099,14 @@ class TestYara(unittest.TestCase):
self
.
assertTrue
(
r
.
match
(
data
=
data
))
def
testWarningCallback
(
self
):
global
warning_callback_called
global
warning
s
_callback_called
warning_callback_called
=
False
warning
s
_callback_called
=
False
r
=
yara
.
compile
(
source
=
'rule x { strings: $x = "X" condition: $x }'
)
data
=
memoryview
(
b
"X"
*
1000099
)
r
.
match
(
data
=
data
,
warning
_callback
=
warning
_callback
)
r
.
match
(
data
=
data
,
warning
s_callback
=
warnings
_callback
)
self
.
assertTrue
(
warning_callback_called
,
yara
.
CALLBACK_TOO_MANY_MATCHES
)
self
.
assertTrue
(
warning
s
_callback_called
,
yara
.
CALLBACK_TOO_MANY_MATCHES
)
if
__name__
==
"__main__"
:
unittest
.
main
()
yara-python.c
View file @
eb8f0976
...
...
@@ -416,7 +416,7 @@ typedef struct _CALLBACK_DATA
PyObject
*
callback
;
PyObject
*
modules_data
;
PyObject
*
modules_callback
;
PyObject
*
warning_callback
;
PyObject
*
warning
s
_callback
;
int
which
;
}
CALLBACK_DATA
;
...
...
@@ -687,7 +687,7 @@ static int handle_too_many_matches(
int
result
=
CALLBACK_CONTINUE
;
if
(
data
->
warning_callback
==
NULL
)
if
(
data
->
warning
s
_callback
==
NULL
)
{
char
message
[
200
];
...
...
@@ -703,7 +703,7 @@ static int handle_too_many_matches(
}
else
{
Py_INCREF
(
data
->
warning_callback
);
Py_INCREF
(
data
->
warning
s
_callback
);
identifier
=
PyBytes_FromString
(
string
->
identifier
);
...
...
@@ -722,7 +722,7 @@ static int handle_too_many_matches(
}
PyObject
*
callback_result
=
PyObject_CallFunctionObjArgs
(
data
->
warning_callback
,
data
->
warning
s
_callback
,
warning_type
,
identifier
,
NULL
);
...
...
@@ -750,7 +750,7 @@ _exit:
Py_XDECREF
(
identifier
);
Py_XDECREF
(
warning_type
);
Py_XDECREF
(
data
->
warning_callback
);
Py_XDECREF
(
data
->
warning
s
_callback
);
PyGILState_Release
(
gil_state
);
...
...
@@ -1493,7 +1493,7 @@ static PyObject* Rules_match(
static
char
*
kwlist
[]
=
{
"filepath"
,
"pid"
,
"data"
,
"externals"
,
"callback"
,
"fast"
,
"timeout"
,
"modules_data"
,
"modules_callback"
,
"which_callbacks"
,
"warning_callback"
,
NULL
"modules_callback"
,
"which_callbacks"
,
"warning
s
_callback"
,
NULL
};
char
*
filepath
=
NULL
;
...
...
@@ -1515,7 +1515,7 @@ static PyObject* Rules_match(
callback_data
.
callback
=
NULL
;
callback_data
.
modules_data
=
NULL
;
callback_data
.
modules_callback
=
NULL
;
callback_data
.
warning_callback
=
NULL
;
callback_data
.
warning
s
_callback
=
NULL
;
callback_data
.
which
=
CALLBACK_ALL
;
if
(
PyArg_ParseTupleAndKeywords
(
...
...
@@ -1533,7 +1533,7 @@ static PyObject* Rules_match(
&
callback_data
.
modules_data
,
&
callback_data
.
modules_callback
,
&
callback_data
.
which
,
&
callback_data
.
warning_callback
))
&
callback_data
.
warning
s
_callback
))
{
if
(
filepath
==
NULL
&&
data
.
buf
==
NULL
&&
pid
==
0
)
{
...
...
@@ -1564,14 +1564,14 @@ static PyObject* Rules_match(
}
}
if
(
callback_data
.
warning_callback
!=
NULL
)
if
(
callback_data
.
warning
s
_callback
!=
NULL
)
{
if
(
!
PyCallable_Check
(
callback_data
.
warning_callback
))
if
(
!
PyCallable_Check
(
callback_data
.
warning
s
_callback
))
{
PyBuffer_Release
(
&
data
);
return
PyErr_Format
(
PyExc_TypeError
,
"'warning_callback' must be callable"
);
"'warning
s
_callback' must be callable"
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment