Fix segfaults: parm_error is a unique in/out ptr
authorvlendec <vlendec@0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Sun, 3 Dec 2006 10:09:37 +0000 (10:09 +0000)
committervlendec <vlendec@0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Sun, 3 Dec 2006 10:09:37 +0000 (10:09 +0000)
git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_3_0@20013 0c0555d6-39d7-0310-84fc-f1cc0bd64818

source/rpc_server/srv_srvsvc_nt.c

index 2dae3c598f5d9624a6c30e7c7ff25a43cdea3515..5b24b3d2b8a9aca53fe527b5e0c112e854714754 100644 (file)
@@ -1146,7 +1146,9 @@ net server set info
 WERROR _srvsvc_NetSrvSetInfo(pipes_struct *p, const char *server_unc, uint32_t level, union srvsvc_NetSrvInfo info, uint32_t *parm_error)
 {
        /* Set up the net server set info structure. */
-       *parm_error = 0;
+       if (parm_error) {
+               *parm_error = 0;
+       }
        return WERR_OK;
 }
 
@@ -1391,7 +1393,9 @@ WERROR _srvsvc_NetShareSetInfo(pipes_struct *p, const char *server_unc, const ch
 
        DEBUG(5,("_srv_net_share_set_info: %d\n", __LINE__));
 
-       *parm_error = 0;
+       if (parm_error) {
+               *parm_error = 0;
+       }
 
        if ( strequal(share_name,"IPC$") 
                || ( lp_enable_asu_support() && strequal(share_name,"ADMIN$") )
@@ -1578,7 +1582,9 @@ WERROR _srvsvc_NetShareAdd(pipes_struct *p, const char *server_unc,
 
        DEBUG(5,("_srv_net_share_add: %d\n", __LINE__));
 
-       *parm_error = 0;
+       if (parm_error) {
+               *parm_error = 0;
+       }
 
        is_disk_op = user_has_privileges( p->pipe_user.nt_user_token,
                                          &se_diskop );