1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

source3/client/client.c: fix stackframe leak.

do_message_op() doesn't free its stackframe in various paths.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2012-07-18 04:59:31 +09:30
parent 634a63d934
commit dcec7c1f71

View File

@ -5557,10 +5557,8 @@ static int do_message_op(struct user_auth_info *a_info)
if (tar_type) { if (tar_type) {
if (cmdstr) if (cmdstr)
process_command_string(cmdstr); process_command_string(cmdstr);
return do_tar_op(base_directory); rc = do_tar_op(base_directory);
} } else if (query_host && *query_host) {
if (query_host && *query_host) {
char *qhost = query_host; char *qhost = query_host;
char *slash; char *slash;
@ -5578,15 +5576,11 @@ static int do_message_op(struct user_auth_info *a_info)
sscanf(p, "%x", &name_type); sscanf(p, "%x", &name_type);
} }
return do_host_query(qhost); rc = do_host_query(qhost);
} } else if (message) {
rc = do_message_op(auth_info);
if (message) { } else if (process(base_directory)) {
return do_message_op(auth_info); rc = 1;
}
if (process(base_directory)) {
return 1;
} }
TALLOC_FREE(frame); TALLOC_FREE(frame);