summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-04-28 01:08:31 +0200
committerKarolin Seeger <kseeger@samba.org>2009-04-28 17:53:34 +0200
commit7bc900deed605ec1afa9804df222f282f79b42bb (patch)
tree8bd23e1d5ecf0a467bdcf7c1f85a7ee960d90b83
parent7e30a445b840bfa0ceb47f4c03812744ee69e78a (diff)
downloadsamba-7bc900deed605ec1afa9804df222f282f79b42bb.tar.gz
s3-svcctl: Fix crash in _svcctl_EnumServicesStatusW().
The resume handle is a unique pointer, always check before dereference. Guenther (cherry picked from commit dd33abf649f4e1479365a2ccc2b41134270ff4ac) (cherry picked from commit 1e117c6ebc6322b7fac4928d84bc5e714e559ea5)
-rw-r--r--source3/rpc_server/srv_svcctl_nt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source3/rpc_server/srv_svcctl_nt.c b/source3/rpc_server/srv_svcctl_nt.c
index f88801e7949..d40ae499b4f 100644
--- a/source3/rpc_server/srv_svcctl_nt.c
+++ b/source3/rpc_server/srv_svcctl_nt.c
@@ -470,7 +470,9 @@ WERROR _svcctl_EnumServicesStatusW(pipes_struct *p,
*r->out.needed = (buffer_size > r->in.offered) ? buffer_size : r->in.offered;
*r->out.services_returned = (uint32)num_services;
- *r->out.resume_handle = 0x0;
+ if (r->out.resume_handle) {
+ *r->out.resume_handle = 0;
+ }
return result;
}