summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-11-04 22:02:31 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-11-04 22:02:31 (GMT)
commit4bafbf79e8143941d744c9c47e6fc9216fcec47a (patch)
treee0dc679daaa255d289c84ab0630e42256ab7a58c /plugins
parent72da49fdf05285169a9465b34f7869dafc4715ec (diff)
Fixed some bugs and defined some first test cases.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@604 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'plugins')
-rw-r--r--plugins/pychrysa/analysis/contents/file.c4
-rw-r--r--plugins/pychrysa/format/elf/elf.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/pychrysa/analysis/contents/file.c b/plugins/pychrysa/analysis/contents/file.c
index d356197..897561e 100644
--- a/plugins/pychrysa/analysis/contents/file.c
+++ b/plugins/pychrysa/analysis/contents/file.c
@@ -64,7 +64,9 @@ static PyObject *py_file_content_new(PyTypeObject *type, PyObject *args, PyObjec
content = g_file_content_new(filename);
result = pygobject_new(G_OBJECT(content));
- g_object_unref(content);
+
+ if (content != NULL)
+ g_object_unref(content);
return result;
diff --git a/plugins/pychrysa/format/elf/elf.c b/plugins/pychrysa/format/elf/elf.c
index 07e5130..72a9647 100644
--- a/plugins/pychrysa/format/elf/elf.c
+++ b/plugins/pychrysa/format/elf/elf.c
@@ -28,6 +28,9 @@
#include <pygobject.h>
+#include <i18n.h>
+
+
#include <format/elf/elf.h>
@@ -67,7 +70,11 @@ static PyObject *py_elf_format_new(PyTypeObject *type, PyObject *args, PyObject
if (!ret) return NULL;
ret = PyObject_IsInstance(content_obj, (PyObject *)get_python_binary_content_type());
- if (!ret) return NULL;
+ if (!ret)
+ {
+ PyErr_SetString(PyExc_TypeError, _("The argument must be an instance of BinContent."));
+ return NULL;
+ }
content = G_BIN_CONTENT(pygobject_get(content_obj));
format = g_elf_format_new(content, NULL);