From 0419c3f13815e8fa017f7cc006e0beaf5ddfcdd1 Mon Sep 17 00:00:00 2001 From: Arnaud Diederen Date: Tue, 21 Apr 2020 13:34:35 +0200 Subject: [PATCH] Backported fixes --- out_of_tree/parsed_notifications.zip | Bin 4188741 -> 4188741 bytes pywraps/py_typeinf.hpp | 38 +++++++++------------------ release_pydoc_injections2.txt | 12 ++++----- release_pydoc_injections3.txt | 12 ++++----- swig/struct.i | 5 +++- 5 files changed, 28 insertions(+), 39 deletions(-) diff --git a/out_of_tree/parsed_notifications.zip b/out_of_tree/parsed_notifications.zip index ee1564269e75dd3f189f18eb060eadb1fc71bd3d..5f036e9019582c3d7a861d36a59b51d5d520ac47 100644 GIT binary patch delta 41273 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 U?QQRiFDVk}+ulsjD{Juo0bIejk^lez diff --git a/pywraps/py_typeinf.hpp b/pywraps/py_typeinf.hpp index ed25aa9..277dff6 100644 --- a/pywraps/py_typeinf.hpp +++ b/pywraps/py_typeinf.hpp @@ -79,14 +79,12 @@ def apply_type(ti, ea, tp_name, py_type, py_fields, flags) */ static bool py_apply_type( til_t *ti, - const bytevec_t &_type, - const bytevec_t &_fields, + const type_t *type, + const p_list *fields, ea_t ea, int flags) { PYW_GIL_CHECK_LOCKED_SCOPE(); - const type_t *type = (const type_t *) _type.begin(); - const p_list *fields = (const p_list *) _fields.begin(); bool rc; Py_BEGIN_ALLOW_THREADS; struc_t *sptr; @@ -161,14 +159,12 @@ def py_unpack_object_from_idb(ti, tp, fields, ea, pio_flags = 0): */ PyObject *py_unpack_object_from_idb( til_t *ti, - const bytevec_t &_type, - const bytevec_t &_fields, + const type_t *type, + const p_list *fields, ea_t ea, int pio_flags = 0) { PYW_GIL_CHECK_LOCKED_SCOPE(); - const type_t *type = (const type_t *) _type.begin(); - const p_list *fields = (const p_list *) _fields.begin(); idc_value_t idc_obj; error_t err; Py_BEGIN_ALLOW_THREADS; @@ -218,13 +214,11 @@ def unpack_object_from_bv(ti, tp, fields, bytes, pio_flags = 0): */ PyObject *py_unpack_object_from_bv( til_t *ti, - const bytevec_t &_type, - const bytevec_t &_fields, + const type_t *type, + const p_list *fields, const bytevec_t &bytes, int pio_flags = 0) { - const type_t *type = (const type_t *) _type.begin(); - const p_list *fields = (const p_list *) _fields.begin(); idc_value_t idc_obj; error_t err; Py_BEGIN_ALLOW_THREADS; @@ -272,8 +266,8 @@ def pack_object_to_idb(obj, ti, tp, fields, ea, pio_flags = 0): PyObject *py_pack_object_to_idb( PyObject *py_obj, til_t *ti, - const bytevec_t &_type, - const bytevec_t &_fields, + const type_t *type, + const p_list *fields, ea_t ea, int pio_flags = 0) { @@ -285,9 +279,6 @@ PyObject *py_pack_object_to_idb( if ( !pyvar_to_idcvar_or_error(py_obj_ref, &idc_obj) ) return NULL; - const type_t *type = (const type_t *) _type.begin(); - const p_list *fields = (const p_list *) _fields.begin(); - // Pack // error_t err; error_t err; @@ -321,8 +312,8 @@ def pack_object_to_bv(obj, ti, tp, fields, base_ea, pio_flags = 0): PyObject *py_pack_object_to_bv( PyObject *py_obj, til_t *ti, - const bytevec_t &_type, - const bytevec_t &_fields, + const type_t *type, + const p_list *fields, ea_t base_ea, int pio_flags=0) { @@ -334,9 +325,6 @@ PyObject *py_pack_object_to_bv( if ( !pyvar_to_idcvar_or_error(py_obj_ref, &idc_obj) ) return NULL; - const type_t *type = (const type_t *) _type.begin(); - const p_list *fields = (const p_list *) _fields.begin(); - // Pack relobj_t bytes; error_t err; @@ -484,15 +472,13 @@ int idc_get_local_type(int ordinal, int flags, char *buf, size_t maxsize) //------------------------------------------------------------------------- PyObject *idc_print_type( - const bytevec_t &_type, - const bytevec_t &_fields, + const type_t *type, + const p_list *fields, const char *name, int flags) { PYW_GIL_CHECK_LOCKED_SCOPE(); qstring res; - const type_t *type = (const type_t *) _type.begin(); - const p_list *fields = (const p_list *) _fields.begin(); bool ok; Py_BEGIN_ALLOW_THREADS; tinfo_t tif; diff --git a/release_pydoc_injections2.txt b/release_pydoc_injections2.txt index 0647ca7..95a4663 100644 --- a/release_pydoc_injections2.txt +++ b/release_pydoc_injections2.txt @@ -64483,7 +64483,7 @@ apply_tinfo_to_stkarg(*args) Help on function apply_type in module ida_typeinf: apply_type(*args) - apply_type(ti, _type, _fields, ea, flags) -> bool + apply_type(ti, type, fields, ea, flags) -> bool Apply the specified type to the address @@ -66745,7 +66745,7 @@ idc_parse_types(*args) Help on function idc_print_type in module ida_typeinf: idc_print_type(*args) - idc_print_type(_type, _fields, name, flags) -> PyObject * + idc_print_type(type, fields, name, flags) -> PyObject * Help on function idc_set_local_type in module ida_typeinf: @@ -67548,7 +67548,7 @@ pack_idcobj_to_idb(*args) Help on function pack_object_to_bv in module ida_typeinf: pack_object_to_bv(*args) - pack_object_to_bv(py_obj, ti, _type, _fields, base_ea, pio_flags=0) -> PyObject * + pack_object_to_bv(py_obj, ti, type, fields, base_ea, pio_flags=0) -> PyObject * Packs a typed object to a string @@ -67564,7 +67564,7 @@ pack_object_to_bv(*args) Help on function pack_object_to_idb in module ida_typeinf: pack_object_to_idb(*args) - pack_object_to_idb(py_obj, ti, _type, _fields, ea, pio_flags=0) -> PyObject * + pack_object_to_idb(py_obj, ti, type, fields, ea, pio_flags=0) -> PyObject * Write a typed object to the database. @@ -70089,7 +70089,7 @@ unpack_idcobj_from_idb(*args) Help on function unpack_object_from_bv in module ida_typeinf: unpack_object_from_bv(*args) - unpack_object_from_bv(ti, _type, _fields, bytes, pio_flags=0) -> PyObject * + unpack_object_from_bv(ti, type, fields, bytes, pio_flags=0) -> PyObject * Unpacks a buffer into an object. @@ -70106,7 +70106,7 @@ unpack_object_from_bv(*args) Help on function unpack_object_from_idb in module ida_typeinf: unpack_object_from_idb(*args) - unpack_object_from_idb(ti, _type, _fields, ea, pio_flags=0) -> PyObject * + unpack_object_from_idb(ti, type, fields, ea, pio_flags=0) -> PyObject * Help on class valstr_t in module ida_typeinf: diff --git a/release_pydoc_injections3.txt b/release_pydoc_injections3.txt index 79da563..f108582 100644 --- a/release_pydoc_injections3.txt +++ b/release_pydoc_injections3.txt @@ -64560,7 +64560,7 @@ apply_tinfo_to_stkarg(*args) -> 'bool' Help on function apply_type in module ida_typeinf: apply_type(*args) -> 'bool' - apply_type(ti, _type, _fields, ea, flags) -> bool + apply_type(ti, type, fields, ea, flags) -> bool Apply the specified type to the address @@ -66830,7 +66830,7 @@ idc_parse_types(*args) -> 'int' Help on function idc_print_type in module ida_typeinf: idc_print_type(*args) -> 'PyObject *' - idc_print_type(_type, _fields, name, flags) -> PyObject * + idc_print_type(type, fields, name, flags) -> PyObject * Help on function idc_set_local_type in module ida_typeinf: @@ -67631,7 +67631,7 @@ pack_idcobj_to_idb(*args) -> 'error_t' Help on function pack_object_to_bv in module ida_typeinf: pack_object_to_bv(*args) -> 'PyObject *' - pack_object_to_bv(py_obj, ti, _type, _fields, base_ea, pio_flags=0) -> PyObject * + pack_object_to_bv(py_obj, ti, type, fields, base_ea, pio_flags=0) -> PyObject * Packs a typed object to a string @@ -67647,7 +67647,7 @@ pack_object_to_bv(*args) -> 'PyObject *' Help on function pack_object_to_idb in module ida_typeinf: pack_object_to_idb(*args) -> 'PyObject *' - pack_object_to_idb(py_obj, ti, _type, _fields, ea, pio_flags=0) -> PyObject * + pack_object_to_idb(py_obj, ti, type, fields, ea, pio_flags=0) -> PyObject * Write a typed object to the database. @@ -70144,7 +70144,7 @@ unpack_idcobj_from_idb(*args) -> 'error_t' Help on function unpack_object_from_bv in module ida_typeinf: unpack_object_from_bv(*args) -> 'PyObject *' - unpack_object_from_bv(ti, _type, _fields, bytes, pio_flags=0) -> PyObject * + unpack_object_from_bv(ti, type, fields, bytes, pio_flags=0) -> PyObject * Unpacks a buffer into an object. @@ -70161,7 +70161,7 @@ unpack_object_from_bv(*args) -> 'PyObject *' Help on function unpack_object_from_idb in module ida_typeinf: unpack_object_from_idb(*args) -> 'PyObject *' - unpack_object_from_idb(ti, _type, _fields, ea, pio_flags=0) -> PyObject * + unpack_object_from_idb(ti, type, fields, ea, pio_flags=0) -> PyObject * Help on class valstr_t in module ida_typeinf: diff --git a/swig/struct.i b/swig/struct.i index e3d57b2..9320083 100644 --- a/swig/struct.i +++ b/swig/struct.i @@ -56,7 +56,10 @@ // Add a get_member() member function to struc_t. // This helps to access the members array in the class. %extend struc_t { - member_t *get_member(int index) { return &(self->members[index]); } + member_t *get_member(uint32 index) + { + return index < $self->memqty ? &$self->members[index] : nullptr; + } } %inline %{