From b3b9b47866ee9c52db65c45a333a8268619e41e5 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sun, 21 Oct 2012 18:21:48 +0200 Subject: [PATCH] Python module: check types in setbinurl --- src/python/recoll/pyrecoll.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/python/recoll/pyrecoll.cpp b/src/python/recoll/pyrecoll.cpp index 3bc260be..43de1940 100644 --- a/src/python/recoll/pyrecoll.cpp +++ b/src/python/recoll/pyrecoll.cpp @@ -18,6 +18,7 @@ #include #include +#include #include @@ -321,18 +322,22 @@ PyDoc_STRVAR(doc_setbinurl, "Set the URL from binary path like file://may/contain/unencodable/bytes\n" ); -static int +static PyObject * Doc_setbinurl(recoll_DocObject *self, PyObject *value) { if (self->doc == 0 || the_docs.find(self->doc) == the_docs.end()) { PyErr_SetString(PyExc_AttributeError, "doc??"); - return -1; + return 0; + } + if (!PyByteArray_Check(value)) { + PyErr_SetString(PyExc_TypeError, "setbinurl needs byte array argument"); + return 0; } self->doc->url = string(PyByteArray_AsString(value), PyByteArray_Size(value)); - return 0; + Py_RETURN_NONE; }