diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-06-16 08:33:09 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-06-16 11:34:34 +0200 |
commit | 48de3e51eacbd1051f79dc99aaac8a4ec988fde5 (patch) | |
tree | 3868dfa5e2b2fea08370dfb79a98b020e1a70181 /source3/rpc_server/svcctl | |
parent | 03ea6b5b9e6baae3596649b9d9cfe79dbd44a9a4 (diff) | |
download | samba-48de3e51eacbd1051f79dc99aaac8a4ec988fde5.tar.gz samba-48de3e51eacbd1051f79dc99aaac8a4ec988fde5.tar.bz2 samba-48de3e51eacbd1051f79dc99aaac8a4ec988fde5.zip |
s3:rpc_server/svcctl: don't allocate return values on a temporary stackframe
And always initialize the whole return structure.
This caused samba3.posix_s3.rpc.svcctl to be flakey.
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Jun 16 11:34:34 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/rpc_server/svcctl')
-rw-r--r-- | source3/rpc_server/svcctl/srv_svcctl_nt.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/source3/rpc_server/svcctl/srv_svcctl_nt.c b/source3/rpc_server/svcctl/srv_svcctl_nt.c index 96ac399e16..4f8a2c1b7d 100644 --- a/source3/rpc_server/svcctl/srv_svcctl_nt.c +++ b/source3/rpc_server/svcctl/srv_svcctl_nt.c @@ -668,17 +668,18 @@ WERROR _svcctl_QueryServiceStatusEx(struct pipes_struct *p, /******************************************************************** ********************************************************************/ -static WERROR fill_svc_config(TALLOC_CTX *ctx, +static WERROR fill_svc_config(TALLOC_CTX *mem_ctx, struct messaging_context *msg_ctx, struct auth_serversupplied_info *session_info, const char *name, struct QUERY_SERVICE_CONFIG *config) { - TALLOC_CTX *mem_ctx = talloc_stackframe(); const char *result = NULL; /* now fill in the individual values */ + ZERO_STRUCTP(config); + config->displayname = svcctl_lookup_dispname(mem_ctx, msg_ctx, session_info, @@ -720,9 +721,6 @@ static WERROR fill_svc_config(TALLOC_CTX *ctx, else config->start_type = SVCCTL_DEMAND_START; - - talloc_free(mem_ctx); - return WERR_OK; } |