about summary refs log tree commit diff stats
path: root/miasm2/jitter/vm_mngr_py.c
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2016-02-16 08:46:55 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2016-02-19 16:05:16 +0100
commita7f4a0efdddb72bd994b5dc219b1374a616a50ce (patch)
treed8a4d7d032d65204c498601b09fdcf697463d19c /miasm2/jitter/vm_mngr_py.c
parent34039011459c729a93a79deea1d3c5000bc03032 (diff)
downloadmiasm-a7f4a0efdddb72bd994b5dc219b1374a616a50ce.tar.gz
miasm-a7f4a0efdddb72bd994b5dc219b1374a616a50ce.zip
Jitter/vm: Suppport memory comment
Diffstat (limited to 'miasm2/jitter/vm_mngr_py.c')
-rw-r--r--miasm2/jitter/vm_mngr_py.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/miasm2/jitter/vm_mngr_py.c b/miasm2/jitter/vm_mngr_py.c
index 0a22c397..fdadf7f1 100644
--- a/miasm2/jitter/vm_mngr_py.c
+++ b/miasm2/jitter/vm_mngr_py.c
@@ -86,16 +86,18 @@ PyObject* vm_add_memory_page(VmMngr* self, PyObject* args)
 	PyObject *addr;
 	PyObject *access;
 	PyObject *item_str;
+	PyObject *name=NULL;
 	uint64_t buf_size;
 	char* buf_data;
 	Py_ssize_t length;
 	uint64_t ret = 0x1337beef;
 	uint64_t page_addr;
 	uint64_t page_access;
+	char* name_ptr;
 
 	struct memory_page_node * mpn;
 
-	if (!PyArg_ParseTuple(args, "OOO", &addr, &access, &item_str))
+	if (!PyArg_ParseTuple(args, "OOO|O", &addr, &access, &item_str, &name))
 		return NULL;
 
 	PyGetInt(addr, page_addr);
@@ -107,7 +109,14 @@ PyObject* vm_add_memory_page(VmMngr* self, PyObject* args)
 	buf_size = PyString_Size(item_str);
 	PyString_AsStringAndSize(item_str, &buf_data, &length);
 
-	mpn = create_memory_page_node(page_addr, buf_size, page_access);
+	if (name == NULL) {
+		name_ptr = (char*)"";
+	} else {
+		if (!PyString_Check(name))
+			RAISE(PyExc_TypeError,"name must be str");
+		name_ptr = PyString_AsString(name);
+	}
+	mpn = create_memory_page_node(page_addr, buf_size, page_access, name_ptr);
 	if (mpn == NULL)
 		RAISE(PyExc_TypeError,"cannot create page");
 	if (is_mpn_in_tab(&self->vm_mngr, mpn)) {