s3-svcctl: Fix crash in _svcctl_EnumServicesStatusW().
authorGünther Deschner <gd@samba.org>
Mon, 27 Apr 2009 23:08:31 +0000 (01:08 +0200)
committerGünther Deschner <gd@samba.org>
Tue, 28 Apr 2009 08:37:34 +0000 (10:37 +0200)
The resume handle is a unique pointer, always check before dereference.

Guenther

source3/rpc_server/srv_svcctl_nt.c

index f5b7b6102079def9dd0df3a6af28d97ad2fe2ece..f393a9a464957c35df3bae9ffe97d10743690544 100644 (file)
@@ -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;
 }