Fix bug #8453 - smbclient segfaults when dialect option -m is used for legacy dialects
authorJeremy Allison <jra@samba.org>
Wed, 14 Sep 2011 18:59:22 +0000 (11:59 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 14 Sep 2011 18:59:22 +0000 (11:59 -0700)
Ensure we have valid pointers.

source3/libsmb/cliconnect.c

index 54cd669c1073664dd30b2e39473c253488916139..5881d0cdb89cdc6be5e09b76baa82673fa65a444 100644 (file)
@@ -1997,6 +1997,19 @@ NTSTATUS cli_session_setup(struct cli_state *cli,
        }
 
        if (cli_state_protocol(cli) < PROTOCOL_LANMAN1) {
+               /*
+                * Ensure cli->server_domain,
+                * cli->server_os and cli->server_type
+                * are valid pointers.
+                */
+               cli->server_domain = talloc_strdup(cli, "");
+               cli->server_os = talloc_strdup(cli, "");
+               cli->server_type = talloc_strdup(cli, "");
+               if (cli->server_domain == NULL ||
+                               cli->server_os == NULL ||
+                               cli->server_type == NULL) {
+                       return NT_STATUS_NO_MEMORY;
+               }
                return NT_STATUS_OK;
        }