1121 static PyObject *
1122 PyShm_create_memory(
1123 PyObject *self,
1124 PyObject *args)
1125 {
1126 long key;
1127 int size, shmid;
1128 int perm = 0666; /* Default permission is -rw-rw-rw- */
1129
1130 if (!PyArg_ParseTuple(args, "li|i", &key, &size, &perm))
when PyArg_ParseTuple() succeeds
taking False path
1131 return NULL;
1132 shmid = shmget((key_t)key, size, perm | IPC_CREAT | IPC_EXCL);
1133 if (shmid == -1)
when considering range: -0x80000000 <= value <= -2
taking False path
1134 return PyShm_Err();
1135 /* return PyInt_FromLong(shmid); */
1136 return PyShm_memory(self, Py_BuildValue("(i)", shmid));
when Py_BuildValue() succeeds
when PyShm_memory() succeeds
new ref from call to Py_BuildValue allocated at: return PyShm_memory(self, Py_BuildValue("(i)", shmid));
ob_refcnt is now refs: 1 + N where N >= 0
1137 }
ob_refcnt of new ref from call to Py_BuildValue is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 3 similar trace(s) to this