summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-03-09 20:42:01 +0000
committerVolker Lendecke <vlendec@samba.org>2006-03-09 20:42:01 +0000
commitc121b06c74e9691bc9159de3bbca9e7e1582fbd9 (patch)
tree91ea2953c7dcf3c11d1cc69c8c3c77540bc0b342
parent17f018cfda06465b1caabb259dea43b142cba69b (diff)
downloadsamba-c121b06c74e9691bc9159de3bbca9e7e1582fbd9.tar.gz
samba-c121b06c74e9691bc9159de3bbca9e7e1582fbd9.tar.xz
samba-c121b06c74e9691bc9159de3bbca9e7e1582fbd9.zip
r14098: Fix Coverity # 112
-rw-r--r--source/utils/net.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/source/utils/net.c b/source/utils/net.c
index 99a289bcd43..1389885ba17 100644
--- a/source/utils/net.c
+++ b/source/utils/net.c
@@ -249,12 +249,21 @@ NTSTATUS connect_dst_pipe(struct cli_state **cli_dst, struct rpc_pipe_client **p
struct cli_state *cli_tmp = NULL;
struct rpc_pipe_client *pipe_hnd = NULL;
- if (opt_destination)
- server_name = SMB_STRDUP(opt_destination);
+ if (server_name == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ if (opt_destination) {
+ SAFE_FREE(server_name);
+ if ((server_name = SMB_STRDUP(opt_destination)) == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ }
/* make a connection to a named pipe */
nt_status = connect_to_ipc(&cli_tmp, NULL, server_name);
if (!NT_STATUS_IS_OK(nt_status)) {
+ SAFE_FREE(server_name);
return nt_status;
}
@@ -262,11 +271,13 @@ NTSTATUS connect_dst_pipe(struct cli_state **cli_dst, struct rpc_pipe_client **p
if (!pipe_hnd) {
DEBUG(0, ("couldn't not initialize pipe\n"));
cli_shutdown(cli_tmp);
+ SAFE_FREE(server_name);
return nt_status;
}
*cli_dst = cli_tmp;
*pp_pipe_hnd = pipe_hnd;
+ SAFE_FREE(server_name);
return nt_status;
}