summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-01-04 13:27:26 +0100
committerAndrew Bartlett <abartlet@samba.org>2013-01-09 09:11:20 +0100
commit8d9a77f8646cd26371dc2ec1d3ed52730ac19eb9 (patch)
treeffc50d4f30eead98a991a3fb299bd961fe4ba332
parent2cc6f9ce7f8068440ef527b0aebd3ad5ad105a9d (diff)
downloadsamba-8d9a77f8646cd26371dc2ec1d3ed52730ac19eb9.tar.gz
samba-8d9a77f8646cd26371dc2ec1d3ed52730ac19eb9.tar.bz2
samba-8d9a77f8646cd26371dc2ec1d3ed52730ac19eb9.zip
s4:lib/messaging: terminate the irpc_servers_byname() result with server_id_set_disconnected() (bug #9540)
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--source4/lib/messaging/messaging.c4
-rw-r--r--source4/lib/messaging/pymessaging.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c
index 2df6f41e4c..5966c29d5a 100644
--- a/source4/lib/messaging/messaging.c
+++ b/source4/lib/messaging/messaging.c
@@ -982,7 +982,7 @@ struct server_id *irpc_servers_byname(struct imessaging_context *msg_ctx,
for (i=0;i<count;i++) {
ret[i] = ((struct server_id *)rec.dptr)[i];
}
- ret[i] = cluster_id(0, 0);
+ server_id_set_disconnected(&ret[i]);
free(rec.dptr);
tdb_unlock_bystring(t->tdb, name);
talloc_free(t);
@@ -1419,7 +1419,7 @@ struct dcerpc_binding_handle *irpc_binding_handle_by_name(TALLOC_CTX *mem_ctx,
errno = EADDRNOTAVAIL;
return NULL;
}
- if (sids[0].pid == 0) {
+ if (server_id_is_disconnected(&sids[0])) {
talloc_free(sids);
errno = EADDRNOTAVAIL;
return NULL;
diff --git a/source4/lib/messaging/pymessaging.c b/source4/lib/messaging/pymessaging.c
index fca46e6749..cb79d72065 100644
--- a/source4/lib/messaging/pymessaging.c
+++ b/source4/lib/messaging/pymessaging.c
@@ -247,7 +247,7 @@ static PyObject *py_irpc_servers_byname(PyObject *self, PyObject *args, PyObject
return NULL;
}
- for (i = 0; ids[i].pid != 0; i++) {
+ for (i = 0; !server_id_is_disconnected(&ids[i]); i++) {
/* Do nothing */
}
@@ -257,7 +257,7 @@ static PyObject *py_irpc_servers_byname(PyObject *self, PyObject *args, PyObject
PyErr_NoMemory();
return NULL;
}
- for (i = 0; ids[i].pid; i++) {
+ for (i = 0; !server_id_is_disconnected(&ids[i]); i++) {
PyObject *py_server_id;
struct server_id *p_server_id = talloc(NULL, struct server_id);
if (!p_server_id) {