diff options
author | Volker Lendecke <vlendec@samba.org> | 2006-03-09 20:42:01 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:11:11 -0500 |
commit | 10373355df7b4d83581589ce496d52bcbe4fefd8 (patch) | |
tree | be1c94f6f6d258f9ae5e79c72b767f7fe05866f7 /source3 | |
parent | aa3cab954e1d33bb8e5a5891e2b4f8024cfe5b70 (diff) | |
download | samba-10373355df7b4d83581589ce496d52bcbe4fefd8.tar.gz samba-10373355df7b4d83581589ce496d52bcbe4fefd8.tar.bz2 samba-10373355df7b4d83581589ce496d52bcbe4fefd8.zip |
r14098: Fix Coverity # 112
(This used to be commit 121a350b92dafec8f171a54f4b897c7f81757dd1)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/utils/net.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/source3/utils/net.c b/source3/utils/net.c index 99a289bcd4..1389885ba1 100644 --- a/source3/utils/net.c +++ b/source3/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; } |