From c97d320d17d9c72a4daa620a43745b7aca3a9bde Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Mon, 11 Jul 2016 16:52:19 +0200 Subject: Better error handling when allocating and freeing permdb object --- c_src/permdbpy.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'c_src/permdbpy.c') diff --git a/c_src/permdbpy.c b/c_src/permdbpy.c index beea36a..bfad068 100644 --- a/c_src/permdbpy.c +++ b/c_src/permdbpy.c @@ -45,8 +45,17 @@ PyTypeObject permdb_type = { permdb_object_py * permdb_alloc_py(const char *dbpath) { + struct permdb_object *permdb; + + permdb = permdb_alloc(dbpath); + + if (permdb == NULL) { + PyErr_SetString(PyExc_RuntimeError, "Cannot allocate permdb object"); + return NULL; + } + permdb_object_py *state = PyObject_New(permdb_object_py, &permdb_type); - state->permdb = permdb_alloc(dbpath); + state->permdb = permdb; return state; } -- cgit v1.1