18 PyObject *wrap_sesearch(PyObject *self, PyObject *args){
19 PyObject *dict;
20 if (!PyArg_ParseTuple(args, "O", &dict))
21 return NULL;
when PyArg_ParseTuple() succeeds
taking False path
22 int allow = Dict_ContainsInt(dict, "allow");
23 int neverallow = Dict_ContainsInt(dict, "neverallow");
24 int auditallow = Dict_ContainsInt(dict, "auditallow");
25 int dontaudit = Dict_ContainsInt(dict, "dontaudit");
26
27 const char *src_name = Dict_ContainsString(dict, "scontext");
28 const char *tgt_name = Dict_ContainsString(dict, "tcontext");
29 const char *class_name = Dict_ContainsString(dict, "class");
30 const char *permlist = Dict_ContainsString(dict, "permlist");
31
32 return Py_BuildValue("O",sesearch(allow, neverallow, auditallow, dontaudit, src_name, tgt_name, class_name, permlist));
33
when considering range: -0x80000000 <= value <= -1
when considering value == (int)0 from sesearch_wrapper.c:25
when considering value == (int)0 from sesearch_wrapper.c:24
when considering range: -0x80000000 <= value <= -1
when sesearch() succeeds
when Py_BuildValue() succeeds
new ref from (unknown) sesearch allocated at: return Py_BuildValue("O",sesearch(allow, neverallow, auditallow, dontaudit, src_name, tgt_name, class_name, permlist));
ob_refcnt is now refs: 1 + N where N >= 0
ob_refcnt is now refs: 1 + N where N >= 1
34 }
35