diff options
Diffstat (limited to 'src/afl-fuzz-python.c')
-rw-r--r-- | src/afl-fuzz-python.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/afl-fuzz-python.c b/src/afl-fuzz-python.c index 70a547d2..c1ee143b 100644 --- a/src/afl-fuzz-python.c +++ b/src/afl-fuzz-python.c @@ -35,7 +35,11 @@ int init_py() { if (module_name) { +#if PY_MAJOR_VERSION >= 3 + PyObject* py_name = PyUnicode_FromString(module_name); +#else PyObject* py_name = PyString_FromString(module_name); +#endif py_module = PyImport_Import(py_name); Py_DECREF(py_name); @@ -91,7 +95,12 @@ int init_py() { /* Provide the init function a seed for the Python RNG */ py_args = PyTuple_New(1); +#if PY_MAJOR_VERSION >= 3 + py_value = PyLong_FromLong(UR(0xFFFFFFFF)); +#else py_value = PyInt_FromLong(UR(0xFFFFFFFF)); +#endif + if (!py_value) { Py_DECREF(py_args); @@ -216,7 +225,11 @@ u32 init_trim_py(char* buf, size_t buflen) { if (py_value != NULL) { +#if PY_MAJOR_VERSION >= 3 + u32 retcnt = (u32) PyLong_AsLong(py_value); +#else u32 retcnt = PyInt_AsLong(py_value); +#endif Py_DECREF(py_value); return retcnt; @@ -250,7 +263,11 @@ u32 post_trim_py(char success) { if (py_value != NULL) { +#if PY_MAJOR_VERSION >= 3 + u32 retcnt = (u32) PyLong_AsLong(py_value); +#else u32 retcnt = PyInt_AsLong(py_value); +#endif Py_DECREF(py_value); return retcnt; |