summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/libcli/resolve/nbtlist.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source4/libcli/resolve/nbtlist.c b/source4/libcli/resolve/nbtlist.c
index 036e983fd2..08dc90c39d 100644
--- a/source4/libcli/resolve/nbtlist.c
+++ b/source4/libcli/resolve/nbtlist.c
@@ -62,8 +62,13 @@ static void nbtlist_handler(struct nbt_name_request *req)
if (!NT_STATUS_IS_OK(c->status)) {
c->state = SMBCLI_REQUEST_ERROR;
} else {
- c->state = SMBCLI_REQUEST_DONE;
- state->reply_addr = talloc_steal(state, state->io_queries[i].out.reply_addr);
+ if (state->io_queries[i].out.num_addrs < 1) {
+ c->state = SMBCLI_REQUEST_ERROR;
+ c->status = NT_STATUS_UNEXPECTED_NETWORK_ERROR;
+ } else {
+ c->state = SMBCLI_REQUEST_DONE;
+ state->reply_addr = talloc_steal(state, state->io_queries[i].out.reply_addrs[0]);
+ }
}
done: