diff options
-rw-r--r-- | source4/lib/messaging/pymessaging.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source4/lib/messaging/pymessaging.c b/source4/lib/messaging/pymessaging.c index 1e9588c6737..199532f948d 100644 --- a/source4/lib/messaging/pymessaging.c +++ b/source4/lib/messaging/pymessaging.c @@ -51,9 +51,19 @@ static bool server_id_from_py(PyObject *object, struct server_id *server_id) return true; } if (PyTuple_Size(object) == 3) { - return PyArg_ParseTuple(object, "KII", &server_id->pid, &server_id->task_id, &server_id->vnn); + unsigned long long pid; + int task_id, vnn; + + if (!PyArg_ParseTuple(object, "KII", &pid, &task_id, &vnn)) { + return false; + } + server_id->pid = pid; + server_id->task_id = task_id; + server_id->vnn = vnn; + return true; } else { - int pid, task_id; + unsigned long long pid; + int task_id; if (!PyArg_ParseTuple(object, "KI", &pid, &task_id)) return false; *server_id = cluster_id(pid, task_id); |