diff options
Diffstat (limited to 'plugins/pychrysa/analysis/content.c')
-rw-r--r-- | plugins/pychrysa/analysis/content.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/plugins/pychrysa/analysis/content.c b/plugins/pychrysa/analysis/content.c index bd25589..00265e3 100644 --- a/plugins/pychrysa/analysis/content.c +++ b/plugins/pychrysa/analysis/content.c @@ -29,6 +29,9 @@ #include <pygobject.h> +#include <i18n.h> + + #include <analysis/content.h> #include <common/endianness.h> @@ -154,7 +157,11 @@ static PyObject *py_binary_content_read_u8(PyObject *self, PyObject *args) assert(addr != NULL); status = g_binary_content_read_u8(content, addr, &val); - if (!status) return NULL; + if (!status) + { + PyErr_SetString(PyExc_Exception, _("Invalid read access.")); + return NULL; + } result = PyBytes_FromStringAndSize((char *)&val, 1); @@ -197,7 +204,11 @@ static PyObject *py_binary_content_read_u16(PyObject *self, PyObject *args) assert(addr != NULL); status = g_binary_content_read_u16(content, addr, endianness, &val); - if (!status) return NULL; + if (!status) + { + PyErr_SetString(PyExc_Exception, _("Invalid read access.")); + return NULL; + } result = PyBytes_FromStringAndSize((char *)&val, 2); @@ -239,7 +250,11 @@ static PyObject *py_binary_content_read_u32(PyObject *self, PyObject *args) assert(addr != NULL); status = g_binary_content_read_u32(content, addr, endianness, &val); - if (!status) return NULL; + if (!status) + { + PyErr_SetString(PyExc_Exception, _("Invalid read access.")); + return NULL; + } result = PyBytes_FromStringAndSize((char *)&val, 4); @@ -281,7 +296,11 @@ static PyObject *py_binary_content_read_u64(PyObject *self, PyObject *args) assert(addr != NULL); status = g_binary_content_read_u64(content, addr, endianness, &val); - if (!status) return NULL; + if (!status) + { + PyErr_SetString(PyExc_Exception, _("Invalid read access.")); + return NULL; + } result = PyBytes_FromStringAndSize((char *)&val, 8); |