Fix denial of service - memory corruption.
[samba.git] / source3 / client / client.c
index 1b1fc8acea768c23ca0fdb0bc5aec927935edcd5..1e5e8e1acb3cdae326b574fe062c93646e82e53f 100644 (file)
@@ -4384,8 +4384,10 @@ static void readline_callback(void)
 
  again:
 
-       if (cli->fd == -1)
+       if (cli->fd < 0 || cli->fd >= FD_SETSIZE) {
+               errno = EBADF;
                return;
+       }
 
        FD_ZERO(&fds);
        FD_SET(cli->fd,&fds);
@@ -4551,8 +4553,6 @@ static int process(const char *base_directory)
 
 static int do_host_query(const char *query_host)
 {
-       struct sockaddr_storage ss;
-
        cli = cli_cm_open(talloc_tos(), NULL,
                        query_host, "IPC$", auth_info, true, smb_encrypt,
                        max_protocol, port, name_type);