mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
parent
87945989c0
commit
61b2794968
@ -151,11 +151,11 @@ NTSTATUS smb_password_ok(SAM_ACCOUNT *sampass, const auth_usersupplied_info *use
|
||||
}
|
||||
}
|
||||
|
||||
free(workstation_list);
|
||||
SAFE_FREE(workstation_list);
|
||||
if (invalid_ws)
|
||||
return NT_STATUS_INVALID_WORKSTATION;
|
||||
} else {
|
||||
free(workstation_list);
|
||||
SAFE_FREE(workstation_list);
|
||||
}
|
||||
} else {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
|
@ -77,7 +77,7 @@ struct cli_state *server_cryptkey(void)
|
||||
}
|
||||
}
|
||||
|
||||
free(pserver);
|
||||
SAFE_FREE(pserver);
|
||||
|
||||
if (!connected_ok) {
|
||||
DEBUG(0,("password server not available\n"));
|
||||
|
@ -77,7 +77,7 @@ struct cli_state *server_cryptkey(void)
|
||||
}
|
||||
}
|
||||
|
||||
free(pserver);
|
||||
SAFE_FREE(pserver);
|
||||
|
||||
if (!connected_ok) {
|
||||
DEBUG(0,("password server not available\n"));
|
||||
|
@ -151,11 +151,11 @@ NTSTATUS smb_password_ok(SAM_ACCOUNT *sampass, const auth_usersupplied_info *use
|
||||
}
|
||||
}
|
||||
|
||||
free(workstation_list);
|
||||
SAFE_FREE(workstation_list);
|
||||
if (invalid_ws)
|
||||
return NT_STATUS_INVALID_WORKSTATION;
|
||||
} else {
|
||||
free(workstation_list);
|
||||
SAFE_FREE(workstation_list);
|
||||
}
|
||||
} else {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
|
@ -46,8 +46,8 @@ static ubi_slList blocking_lock_queue = { NULL, (ubi_slNodePtr)&blocking_lock_qu
|
||||
|
||||
static void free_blocking_lock_record(blocking_lock_record *blr)
|
||||
{
|
||||
free(blr->inbuf);
|
||||
free((char *)blr);
|
||||
SAFE_FREE(blr->inbuf);
|
||||
SAFE_FREE(blr);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -103,7 +103,7 @@ BOOL push_blocking_lock_request( char *inbuf, int length, int lock_timeout, int
|
||||
|
||||
if((blr->inbuf = (char *)malloc(length)) == NULL) {
|
||||
DEBUG(0,("push_blocking_lock_request: Malloc fail (2)!\n" ));
|
||||
free((char *)blr);
|
||||
SAFE_FREE(blr);
|
||||
return False;
|
||||
}
|
||||
|
||||
|
@ -161,7 +161,7 @@ static int close_normal_file(files_struct *fsp, BOOL normal_close)
|
||||
GET_DELETE_ON_CLOSE_FLAG(share_entry->share_mode) )
|
||||
delete_on_close = True;
|
||||
|
||||
safe_free(share_entry);
|
||||
SAFE_FREE(share_entry);
|
||||
|
||||
/*
|
||||
* NT can set delete_on_close of the last open
|
||||
|
@ -177,8 +177,7 @@ void conn_free(connection_struct *conn)
|
||||
DLIST_REMOVE(Connections, conn);
|
||||
|
||||
if (conn->ngroups && conn->groups) {
|
||||
free(conn->groups);
|
||||
conn->groups = NULL;
|
||||
SAFE_FREE(conn->groups);
|
||||
conn->ngroups = 0;
|
||||
}
|
||||
|
||||
@ -196,7 +195,7 @@ void conn_free(connection_struct *conn)
|
||||
num_open--;
|
||||
|
||||
ZERO_STRUCTP(conn);
|
||||
free(conn);
|
||||
SAFE_FREE(conn);
|
||||
}
|
||||
|
||||
|
||||
|
@ -246,10 +246,9 @@ static void dptr_close_internal(dptr_struct *dptr)
|
||||
}
|
||||
|
||||
/* Lanman 2 specific code */
|
||||
if (dptr->wcard)
|
||||
free(dptr->wcard);
|
||||
SAFE_FREE(dptr->wcard);
|
||||
string_set(&dptr->path,"");
|
||||
free((char *)dptr);
|
||||
SAFE_FREE(dptr);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -438,7 +437,7 @@ int dptr_create(connection_struct *conn,char *path, BOOL old_handle, BOOL expect
|
||||
|
||||
if(dptr->dnum == -1 || dptr->dnum > 254) {
|
||||
DEBUG(0,("dptr_create: returned %d: Error - all old dirptrs in use ?\n", dptr->dnum));
|
||||
free((char *)dptr);
|
||||
SAFE_FREE(dptr);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -467,7 +466,7 @@ int dptr_create(connection_struct *conn,char *path, BOOL old_handle, BOOL expect
|
||||
|
||||
if(dptr->dnum == -1 || dptr->dnum < 255) {
|
||||
DEBUG(0,("dptr_create: returned %d: Error - all new dirptrs in use ?\n", dptr->dnum));
|
||||
free((char *)dptr);
|
||||
SAFE_FREE(dptr);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -730,7 +729,7 @@ void *OpenDir(connection_struct *conn, char *name, BOOL use_veto)
|
||||
|
||||
if (asprintf(&entry, "%s/%s/%s", conn->origpath, name, n) > 0) {
|
||||
ret = user_can_read_file(conn, entry);
|
||||
free(entry);
|
||||
SAFE_FREE(entry);
|
||||
}
|
||||
if (!ret) continue;
|
||||
}
|
||||
@ -763,10 +762,9 @@ void *OpenDir(connection_struct *conn, char *name, BOOL use_veto)
|
||||
|
||||
void CloseDir(void *p)
|
||||
{
|
||||
Dir *dirp = (Dir *)p;
|
||||
if (!dirp) return;
|
||||
if (dirp->data) free(dirp->data);
|
||||
free(dirp);
|
||||
if (!p) return;
|
||||
SAFE_FREE(((Dir *)p)->data);
|
||||
SAFE_FREE(p);
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
@ -875,7 +873,7 @@ void DirCacheAdd( char *path, char *name, char *dname, int snum )
|
||||
|
||||
/* Free excess cache entries. */
|
||||
while( DIRCACHESIZE < dir_cache->count )
|
||||
free( ubi_dlRemTail( dir_cache ) );
|
||||
safe_free( ubi_dlRemTail( dir_cache ) );
|
||||
|
||||
}
|
||||
|
||||
@ -927,7 +925,7 @@ void DirCacheFlush(int snum)
|
||||
NULL != entry; ) {
|
||||
next = ubi_dlNext( entry );
|
||||
if( entry->snum == snum )
|
||||
free( ubi_dlRemThis( dir_cache, entry ) );
|
||||
safe_free( ubi_dlRemThis( dir_cache, entry ) );
|
||||
entry = (dir_cache_entry *)next;
|
||||
}
|
||||
}
|
||||
|
@ -482,10 +482,8 @@ void delete_write_cache(files_struct *fsp)
|
||||
|
||||
SMB_ASSERT(wcp->data_size == 0);
|
||||
|
||||
free(wcp->data);
|
||||
free(wcp);
|
||||
|
||||
fsp->wcp = NULL;
|
||||
SAFE_FREE(wcp->data);
|
||||
SAFE_FREE(fsp->wcp);
|
||||
|
||||
DEBUG(10,("delete_write_cache: File %s deleted write cache\n", fsp->fsp_name ));
|
||||
|
||||
@ -518,7 +516,7 @@ static BOOL setup_write_cache(files_struct *fsp, SMB_OFF_T file_size)
|
||||
if((wcp->data = malloc(wcp->alloc_size)) == NULL) {
|
||||
DEBUG(0,("setup_write_cache: malloc fail for buffer size %u.\n",
|
||||
(unsigned int)wcp->alloc_size ));
|
||||
free(wcp);
|
||||
SAFE_FREE(wcp);
|
||||
return False;
|
||||
}
|
||||
|
||||
|
@ -311,7 +311,7 @@ void file_free(files_struct *fsp)
|
||||
|
||||
if (fsp == chain_fsp) chain_fsp = NULL;
|
||||
|
||||
free(fsp);
|
||||
SAFE_FREE(fsp);
|
||||
}
|
||||
|
||||
|
||||
|
@ -53,11 +53,9 @@ static void delete_groupname_map_list(void)
|
||||
groupname_map_entry *gmep;
|
||||
|
||||
while((gmep = (groupname_map_entry *)ubi_slRemHead( &groupname_map_list )) != NULL) {
|
||||
if(gmep->windows_name)
|
||||
free(gmep->windows_name);
|
||||
if(gmep->unix_name)
|
||||
free(gmep->unix_name);
|
||||
free((char *)gmep);
|
||||
SAFE_FREE(gmep->windows_name);
|
||||
SAFE_FREE(gmep->unix_name);
|
||||
SAFE_FREE(gmep);
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,11 +186,9 @@ Error was %s.\n", unixname, strerror(errno) ));
|
||||
if(new_ep->windows_name == NULL || new_ep->unix_name == NULL) {
|
||||
DEBUG(0,("load_groupname_map: malloc fail for names in groupname_map_entry.\n"));
|
||||
fclose(fp);
|
||||
if(new_ep->windows_name != NULL)
|
||||
free(new_ep->windows_name);
|
||||
if(new_ep->unix_name != NULL)
|
||||
free(new_ep->unix_name);
|
||||
free((char *)new_ep);
|
||||
SAFE_FREE(new_ep->windows_name);
|
||||
SAFE_FREE(new_ep->unix_name);
|
||||
SAFE_FREE(new_ep);
|
||||
file_lines_free(lines);
|
||||
return;
|
||||
}
|
||||
|
@ -175,13 +175,13 @@ static BOOL api_rpc_trans_reply(char *outbuf, pipes_struct *p)
|
||||
}
|
||||
|
||||
if((data_len = read_from_pipe( p, rdata, p->max_trans_reply)) < 0) {
|
||||
free(rdata);
|
||||
SAFE_FREE(rdata);
|
||||
return False;
|
||||
}
|
||||
|
||||
send_trans_reply(outbuf, NULL, 0, rdata, data_len, p->out_data.current_pdu_len > data_len);
|
||||
|
||||
free(rdata);
|
||||
SAFE_FREE(rdata);
|
||||
return True;
|
||||
}
|
||||
|
||||
@ -434,12 +434,9 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
DEBUG(0,("reply_trans: %s in getting secondary trans response.\n",
|
||||
(smb_read_error == READ_ERROR) ? "error" : "timeout" ));
|
||||
}
|
||||
if (params)
|
||||
free(params);
|
||||
if (data)
|
||||
free(data);
|
||||
if (setup)
|
||||
free(setup);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
SAFE_FREE(setup);
|
||||
END_PROFILE(SMBtrans);
|
||||
return(ERROR_DOS(ERRSRV,ERRerror));
|
||||
}
|
||||
@ -501,12 +498,9 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
}
|
||||
|
||||
|
||||
if (data)
|
||||
free(data);
|
||||
if (params)
|
||||
free(params);
|
||||
if (setup)
|
||||
free(setup);
|
||||
SAFE_FREE(data);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(setup);
|
||||
|
||||
if (close_on_completion)
|
||||
close_cnum(conn,vuid);
|
||||
|
@ -945,10 +945,8 @@ static BOOL api_DosPrintQGetInfo(connection_struct *conn,
|
||||
|
||||
DEBUG(4,("printqgetinfo: errorcode %d\n",desc.errcode));
|
||||
|
||||
if (queue)
|
||||
free(queue);
|
||||
if (tmpdata)
|
||||
free (tmpdata);
|
||||
SAFE_FREE(queue);
|
||||
SAFE_FREE(tmpdata);
|
||||
|
||||
return(True);
|
||||
}
|
||||
@ -1038,7 +1036,7 @@ static BOOL api_DosPrintQEnum(connection_struct *conn, uint16 vuid, char* param,
|
||||
}
|
||||
}
|
||||
|
||||
if (subcntarr) free(subcntarr);
|
||||
SAFE_FREE(subcntarr);
|
||||
|
||||
*rdata_len = desc.usedlen;
|
||||
*rparam_len = 8;
|
||||
@ -1049,11 +1047,11 @@ static BOOL api_DosPrintQEnum(connection_struct *conn, uint16 vuid, char* param,
|
||||
SSVAL(*rparam,6,queuecnt);
|
||||
|
||||
for (i = 0; i < queuecnt; i++) {
|
||||
if (queue && queue[i]) free(queue[i]);
|
||||
if (queue) SAFE_FREE(queue[i]);
|
||||
}
|
||||
|
||||
if (queue) free(queue);
|
||||
if (status) free(status);
|
||||
SAFE_FREE(queue);
|
||||
SAFE_FREE(status);
|
||||
|
||||
return True;
|
||||
}
|
||||
@ -1403,7 +1401,7 @@ static BOOL api_RNetServerEnum(connection_struct *conn, uint16 vuid, char *param
|
||||
SSVAL(*rparam,4,counted);
|
||||
SSVAL(*rparam,6,counted+missed);
|
||||
|
||||
if (servers) free(servers);
|
||||
SAFE_FREE(servers);
|
||||
|
||||
DEBUG(3,("NetServerEnum domain = %s uLevel=%d counted=%d total=%d\n",
|
||||
domain,uLevel,counted,counted+missed));
|
||||
@ -2274,7 +2272,7 @@ static BOOL api_RNetServerGetInfo(connection_struct *conn,uint16 vuid, char *par
|
||||
pstrcpy(comment,servers[i].comment);
|
||||
}
|
||||
}
|
||||
if (servers) free(servers);
|
||||
SAFE_FREE(servers);
|
||||
|
||||
SCVAL(p,0,lp_major_announce_version());
|
||||
SCVAL(p,1,lp_minor_announce_version());
|
||||
@ -2939,8 +2937,8 @@ static BOOL api_WPrintJobGetInfo(connection_struct *conn,uint16 vuid, char *para
|
||||
SSVAL(*rparam,2,0);
|
||||
SSVAL(*rparam,4,desc.neededlen);
|
||||
|
||||
if (queue) free(queue);
|
||||
if (tmpdata) free(tmpdata);
|
||||
SAFE_FREE(queue);
|
||||
SAFE_FREE(tmpdata);
|
||||
|
||||
DEBUG(4,("WPrintJobGetInfo: errorcode %d\n",desc.errcode));
|
||||
return(True);
|
||||
@ -3009,7 +3007,7 @@ static BOOL api_WPrintJobEnumerate(connection_struct *conn,uint16 vuid, char *pa
|
||||
SSVAL(*rparam,4,succnt);
|
||||
SSVAL(*rparam,6,count);
|
||||
|
||||
if (queue) free(queue);
|
||||
SAFE_FREE(queue);
|
||||
|
||||
DEBUG(4,("WPrintJobEnumerate: errorcode %d\n",desc.errcode));
|
||||
return(True);
|
||||
@ -3128,7 +3126,7 @@ static BOOL api_WPrintDestGetInfo(connection_struct *conn,uint16 vuid, char *par
|
||||
SSVAL(*rparam,4,desc.neededlen);
|
||||
|
||||
DEBUG(4,("WPrintDestGetInfo: errorcode %d\n",desc.errcode));
|
||||
if (tmpdata) free (tmpdata);
|
||||
SAFE_FREE(tmpdata);
|
||||
return(True);
|
||||
}
|
||||
|
||||
@ -3478,10 +3476,8 @@ int api_reply(connection_struct *conn,uint16 vuid,char *outbuf,char *data,char *
|
||||
|
||||
send_trans_reply(outbuf, rparam, rparam_len, rdata, rdata_len, False);
|
||||
|
||||
if (rdata )
|
||||
free(rdata);
|
||||
if (rparam)
|
||||
free(rparam);
|
||||
SAFE_FREE(rdata);
|
||||
SAFE_FREE(rparam);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -451,7 +451,7 @@ static signed int cache_compare( ubi_btItemPtr ItemPtr, ubi_btNodePtr NodePtr )
|
||||
static void cache_free_entry( ubi_trNodePtr WarrenZevon )
|
||||
{
|
||||
ZERO_STRUCTP(WarrenZevon);
|
||||
free( WarrenZevon );
|
||||
SAFE_FREE( WarrenZevon );
|
||||
} /* cache_free_entry */
|
||||
|
||||
/* ************************************************************************** **
|
||||
@ -618,7 +618,7 @@ BOOL check_mangled_cache( char *s )
|
||||
{
|
||||
/* Replace the saved_ext as it was truncated. */
|
||||
(void)pstrcat( s, saved_ext );
|
||||
free(saved_ext);
|
||||
SAFE_FREE(saved_ext);
|
||||
}
|
||||
return( False );
|
||||
}
|
||||
@ -634,7 +634,7 @@ BOOL check_mangled_cache( char *s )
|
||||
{
|
||||
/* Replace the saved_ext as it was truncated. */
|
||||
(void)pstrcat( s, saved_ext );
|
||||
free(saved_ext);
|
||||
SAFE_FREE(saved_ext);
|
||||
}
|
||||
|
||||
DEBUG( 3, ("as %s\n", s) );
|
||||
@ -957,7 +957,7 @@ BOOL name_map_mangle(char *OutName, BOOL need83, BOOL cache83, int snum)
|
||||
|
||||
if(tmp != NULL) {
|
||||
cache_mangled_name(OutName, tmp);
|
||||
free(tmp);
|
||||
SAFE_FREE(tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ static void change_notify_remove(struct change_notify *cnbp)
|
||||
cnotify->remove_notify(cnbp->change_data);
|
||||
DLIST_REMOVE(change_notify_list, cnbp);
|
||||
ZERO_STRUCTP(cnbp);
|
||||
free(cnbp);
|
||||
SAFE_FREE(cnbp);
|
||||
}
|
||||
|
||||
|
||||
@ -188,7 +188,7 @@ BOOL change_notify_set(char *inbuf, files_struct *fsp, connection_struct *conn,
|
||||
cnbp->change_data = cnotify->register_notify(conn, fsp->fsp_name, flags);
|
||||
|
||||
if (!cnbp->change_data) {
|
||||
free(cnbp);
|
||||
SAFE_FREE(cnbp);
|
||||
return False;
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,7 @@ remove a change notify data structure
|
||||
*****************************************************************************/
|
||||
static void hash_remove_notify(void *datap)
|
||||
{
|
||||
free(datap);
|
||||
SAFE_FREE(datap);
|
||||
}
|
||||
|
||||
|
||||
|
@ -111,7 +111,7 @@ static void kernel_remove_notify(void *datap)
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
free(data);
|
||||
SAFE_FREE(data);
|
||||
DEBUG(3,("removed kernel change notify fd=%d\n", fd));
|
||||
}
|
||||
|
||||
|
@ -1693,9 +1693,9 @@ due to being in oplock break state.\n" ));
|
||||
|
||||
if ((total_parameter_count && !params) || (total_data_count && !data) ||
|
||||
(setup_count && !setup)) {
|
||||
safe_free(setup);
|
||||
safe_free(params);
|
||||
safe_free(data);
|
||||
SAFE_FREE(setup);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
DEBUG(0,("reply_nttrans : Out of memory\n"));
|
||||
END_PROFILE(SMBnttrans);
|
||||
return ERROR_DOS(ERRDOS,ERRnomem);
|
||||
@ -1745,12 +1745,9 @@ due to being in oplock break state.\n" ));
|
||||
DEBUG(0,("reply_nttrans: %s in getting secondary nttrans response.\n",
|
||||
(smb_read_error == READ_ERROR) ? "error" : "timeout" ));
|
||||
}
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
if(setup)
|
||||
free(setup);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
SAFE_FREE(setup);
|
||||
END_PROFILE(SMBnttrans);
|
||||
return ERROR_DOS(ERRSRV,ERRerror);
|
||||
}
|
||||
@ -1821,12 +1818,9 @@ due to being in oplock break state.\n" ));
|
||||
default:
|
||||
/* Error in request */
|
||||
DEBUG(0,("reply_nttrans: Unknown request %d in nttrans call\n", function_code));
|
||||
if(setup)
|
||||
free(setup);
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
SAFE_FREE(setup);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
END_PROFILE(SMBnttrans);
|
||||
return ERROR_DOS(ERRSRV,ERRerror);
|
||||
}
|
||||
@ -1838,12 +1832,9 @@ due to being in oplock break state.\n" ));
|
||||
an error packet.
|
||||
*/
|
||||
|
||||
if(setup)
|
||||
free(setup);
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
SAFE_FREE(setup);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
END_PROFILE(SMBnttrans);
|
||||
return outsize; /* If a correct response was needed the call_nt_transact_xxxx
|
||||
calls have already sent it. If outsize != -1 then it is
|
||||
|
@ -499,7 +499,7 @@ dev = %x, inode = %.0f\n", *p_oplock_request, share_entry->op_type, fname, (unsi
|
||||
if(opb_ret == False) {
|
||||
DEBUG(0,("open_mode_check: FAILED when breaking oplock (%x) on file %s, \
|
||||
dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (double)inode));
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
errno = EACCES;
|
||||
unix_ERR_class = ERRDOS;
|
||||
unix_ERR_code = ERRbadshare;
|
||||
@ -518,7 +518,7 @@ dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (dou
|
||||
if we can too */
|
||||
|
||||
if(check_share_mode(share_entry, share_mode, fname, fcbopen, p_flags) == False) {
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
errno = EACCES;
|
||||
return -1;
|
||||
}
|
||||
@ -526,7 +526,7 @@ dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (dou
|
||||
} /* end for */
|
||||
|
||||
if(broke_oplock) {
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
num_share_modes = get_share_modes(conn, dev, inode, &old_shares);
|
||||
oplock_contention_count++;
|
||||
|
||||
@ -565,7 +565,7 @@ dev = %x, inode = %.0f. Deleting it to continue...\n", (int)broken_entry.pid, fn
|
||||
* other process's entry.
|
||||
*/
|
||||
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
num_share_modes = get_share_modes(conn, dev, inode, &old_shares);
|
||||
break;
|
||||
}
|
||||
@ -575,7 +575,7 @@ dev = %x, inode = %.0f. Deleting it to continue...\n", (int)broken_entry.pid, fn
|
||||
} while(broke_oplock);
|
||||
|
||||
if(old_shares != 0)
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
|
||||
/*
|
||||
* Refuse to grant an oplock in case the contention limit is
|
||||
@ -1237,7 +1237,7 @@ dev = %x, inode = %.0f\n", share_entry->op_type, fname, (unsigned int)dev, (doub
|
||||
DEBUG(0,("check_file_sharing: FAILED when breaking oplock (%x) on file %s, \
|
||||
dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (double)inode));
|
||||
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
return False;
|
||||
}
|
||||
lock_share_entry(conn, dev, inode);
|
||||
@ -1267,7 +1267,7 @@ dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (dou
|
||||
|
||||
if(broke_oplock)
|
||||
{
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
num_share_modes = get_share_modes(conn, dev, inode, &old_shares);
|
||||
}
|
||||
} while(broke_oplock);
|
||||
@ -1288,7 +1288,6 @@ dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (dou
|
||||
free_and_exit:
|
||||
|
||||
unlock_share_entry(conn, dev, inode);
|
||||
if(old_shares != NULL)
|
||||
free((char *)old_shares);
|
||||
SAFE_FREE(old_shares);
|
||||
return(ret);
|
||||
}
|
||||
|
@ -701,8 +701,7 @@ static BOOL oplock_break(SMB_DEV_T dev, SMB_INO_T inode, struct timeval *tval, B
|
||||
if((outbuf = (char *)malloc(BUFFER_SIZE + LARGE_WRITEX_HDR_SIZE + SAFETY_MARGIN))==NULL)
|
||||
{
|
||||
DEBUG(0,("oplock_break: malloc fail for output buffer.\n"));
|
||||
free(inbuf);
|
||||
inbuf = NULL;
|
||||
SAFE_FREE(inbuf);
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -840,8 +839,8 @@ static BOOL oplock_break(SMB_DEV_T dev, SMB_INO_T inode, struct timeval *tval, B
|
||||
file_chain_restore();
|
||||
|
||||
/* Free the buffers we've been using to recurse. */
|
||||
free(inbuf);
|
||||
free(outbuf);
|
||||
SAFE_FREE(inbuf);
|
||||
SAFE_FREE(outbuf);
|
||||
|
||||
/* We need this in case a readraw crossed on the wire. */
|
||||
if(global_oplock_break)
|
||||
@ -1217,8 +1216,7 @@ void release_level_2_oplocks_on_change(files_struct *fsp)
|
||||
}
|
||||
}
|
||||
|
||||
if (share_list)
|
||||
free((char *)share_list);
|
||||
SAFE_FREE(share_list);
|
||||
unlock_share_entry_fsp(fsp);
|
||||
|
||||
/* Paranoia check... */
|
||||
|
@ -71,9 +71,9 @@ void invalidate_vuid(uint16 vuid)
|
||||
|
||||
DLIST_REMOVE(validated_users, vuser);
|
||||
|
||||
safe_free(vuser->groups);
|
||||
SAFE_FREE(vuser->groups);
|
||||
delete_nt_token(&vuser->nt_user_token);
|
||||
safe_free(vuser);
|
||||
SAFE_FREE(vuser);
|
||||
num_validated_vuids--;
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ NT_USER_TOKEN *create_nt_token(uid_t uid, gid_t gid, int ngroups, gid_t *groups,
|
||||
num_sids = 5 + ngroups;
|
||||
|
||||
if ((token->user_sids = (DOM_SID *)malloc( num_sids*sizeof(DOM_SID))) == NULL) {
|
||||
free(token);
|
||||
SAFE_FREE(token);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -503,7 +503,7 @@ and given password ok\n", user));
|
||||
}
|
||||
}
|
||||
|
||||
free(user_list);
|
||||
SAFE_FREE(user_list);
|
||||
}
|
||||
|
||||
/* check for a previously validated username/password pair */
|
||||
|
@ -74,7 +74,7 @@ static void free_canon_ace_list( canon_ace *list_head )
|
||||
while (list_head) {
|
||||
canon_ace *old_head = list_head;
|
||||
DLIST_REMOVE(list_head, list_head);
|
||||
free(old_head);
|
||||
SAFE_FREE(old_head);
|
||||
}
|
||||
}
|
||||
|
||||
@ -256,7 +256,7 @@ static void merge_aces( canon_ace **pp_list_head )
|
||||
|
||||
curr_ace_outer->perms |= curr_ace->perms;
|
||||
DLIST_REMOVE(list_head, curr_ace);
|
||||
free(curr_ace);
|
||||
SAFE_FREE(curr_ace);
|
||||
curr_ace_outer_next = curr_ace_outer->next; /* We may have deleted the link. */
|
||||
}
|
||||
}
|
||||
@ -301,7 +301,7 @@ static void merge_aces( canon_ace **pp_list_head )
|
||||
*/
|
||||
|
||||
DLIST_REMOVE(list_head, curr_ace);
|
||||
free(curr_ace);
|
||||
SAFE_FREE(curr_ace);
|
||||
curr_ace_outer_next = curr_ace_outer->next; /* We may have deleted the link. */
|
||||
|
||||
} else {
|
||||
@ -317,7 +317,7 @@ static void merge_aces( canon_ace **pp_list_head )
|
||||
*/
|
||||
|
||||
DLIST_REMOVE(list_head, curr_ace_outer);
|
||||
free(curr_ace_outer);
|
||||
SAFE_FREE(curr_ace_outer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -746,7 +746,7 @@ static BOOL create_canon_ace_lists(files_struct *fsp,
|
||||
|
||||
free_canon_ace_list(file_ace);
|
||||
free_canon_ace_list(dir_ace);
|
||||
free(current_ace);
|
||||
SAFE_FREE(current_ace);
|
||||
DEBUG(0,("create_canon_ace_lists: unable to map SID %s to uid or gid.\n",
|
||||
sid_to_string(str, ¤t_ace->sid) ));
|
||||
return False;
|
||||
@ -816,7 +816,7 @@ static BOOL create_canon_ace_lists(files_struct *fsp,
|
||||
Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name ));
|
||||
free_canon_ace_list(file_ace);
|
||||
free_canon_ace_list(dir_ace);
|
||||
free(current_ace);
|
||||
SAFE_FREE(current_ace);
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -867,7 +867,7 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name ));
|
||||
Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name ));
|
||||
free_canon_ace_list(file_ace);
|
||||
free_canon_ace_list(dir_ace);
|
||||
free(current_ace);
|
||||
SAFE_FREE(current_ace);
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -883,8 +883,7 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name ));
|
||||
* Free if ACE was not added.
|
||||
*/
|
||||
|
||||
if (current_ace)
|
||||
free(current_ace);
|
||||
SAFE_FREE(current_ace);
|
||||
}
|
||||
|
||||
if (fsp->is_directory && all_aces_are_inherit_only) {
|
||||
@ -1968,8 +1967,7 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc)
|
||||
sys_acl_free_acl(dir_acl);
|
||||
free_canon_ace_list(file_ace);
|
||||
free_canon_ace_list(dir_ace);
|
||||
if (nt_ace_list)
|
||||
free(nt_ace_list);
|
||||
SAFE_FREE(nt_ace_list);
|
||||
|
||||
return sd_size;
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ static BOOL push_message(ubi_slList *list_head, char *buf, int msg_len)
|
||||
if(msg->msg_buf == NULL)
|
||||
{
|
||||
DEBUG(0,("push_message: malloc fail (2)\n"));
|
||||
free((char *)msg);
|
||||
SAFE_FREE(msg);
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -180,8 +180,8 @@ static BOOL receive_message_or_smb(char *buffer, int buffer_len, int timeout)
|
||||
memcpy(buffer, msg->msg_buf, MIN(buffer_len, msg->msg_len));
|
||||
|
||||
/* Free the message we just copied. */
|
||||
free((char *)msg->msg_buf);
|
||||
free((char *)msg);
|
||||
SAFE_FREE(msg->msg_buf);
|
||||
SAFE_FREE(msg);
|
||||
|
||||
DEBUG(5,("receive_message_or_smb: returning queued smb message.\n"));
|
||||
return True;
|
||||
|
@ -413,7 +413,7 @@ static BOOL nfs_quotas(char *nfspath, uid_t euser_id, SMB_BIG_UINT *bsize, SMB_B
|
||||
|
||||
DEBUG(5,("nfs_quotas: For path \"%s\" returning bsize %.0f, dfree %.0f, dsize %.0f\n",args.gqa_pathp,(double)*bsize,(double)*dfree,(double)*dsize));
|
||||
|
||||
safe_free(cutstr);
|
||||
SAFE_FREE(cutstr);
|
||||
DEBUG(10,("nfs_quotas: End of nfs_quotas\n" ));
|
||||
return ret;
|
||||
}
|
||||
|
@ -3051,7 +3051,7 @@ int reply_printqueue(connection_struct *conn,
|
||||
SSVAL(smb_buf(outbuf),1,28*count);
|
||||
}
|
||||
|
||||
if (queue) free(queue);
|
||||
SAFE_FREE(queue);
|
||||
|
||||
DEBUG(3,("%d entries returned in queue\n",count));
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ int get_current_groups(int *p_ngroups, gid_t **p_groups)
|
||||
}
|
||||
|
||||
if ((ngroups = sys_getgroups(ngroups,groups)) == -1) {
|
||||
safe_free(groups);
|
||||
SAFE_FREE(groups);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -181,11 +181,10 @@ void delete_nt_token(NT_USER_TOKEN **pptoken)
|
||||
{
|
||||
if (*pptoken) {
|
||||
NT_USER_TOKEN *ptoken = *pptoken;
|
||||
safe_free( ptoken->user_sids );
|
||||
SAFE_FREE( ptoken->user_sids );
|
||||
ZERO_STRUCTP(ptoken);
|
||||
}
|
||||
safe_free(*pptoken);
|
||||
*pptoken = NULL;
|
||||
SAFE_FREE(*pptoken);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -205,7 +204,7 @@ NT_USER_TOKEN *dup_nt_token(NT_USER_TOKEN *ptoken)
|
||||
ZERO_STRUCTP(token);
|
||||
|
||||
if ((token->user_sids = (DOM_SID *)memdup( ptoken->user_sids, sizeof(DOM_SID) * ptoken->num_sids )) == NULL) {
|
||||
free(token);
|
||||
SAFE_FREE(token);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -244,8 +243,7 @@ BOOL initialise_groups(char *user, uid_t uid, gid_t gid)
|
||||
|
||||
prev_ctx_p = &sec_ctx_stack[sec_ctx_stack_ndx - 1];
|
||||
|
||||
safe_free(prev_ctx_p->groups);
|
||||
prev_ctx_p->groups = NULL;
|
||||
SAFE_FREE(prev_ctx_p->groups);
|
||||
prev_ctx_p->ngroups = 0;
|
||||
|
||||
get_current_groups(&prev_ctx_p->ngroups, &prev_ctx_p->groups);
|
||||
@ -336,7 +334,7 @@ void set_sec_ctx(uid_t uid, gid_t gid, int ngroups, gid_t *groups, NT_USER_TOKEN
|
||||
|
||||
ctx_p->ngroups = ngroups;
|
||||
|
||||
safe_free(ctx_p->groups);
|
||||
SAFE_FREE(ctx_p->groups);
|
||||
if (token && (token == ctx_p->token))
|
||||
smb_panic("DUPLICATE_TOKEN");
|
||||
|
||||
@ -393,7 +391,7 @@ BOOL pop_sec_ctx(void)
|
||||
ctx_p->uid = (uid_t)-1;
|
||||
ctx_p->gid = (gid_t)-1;
|
||||
|
||||
safe_free(ctx_p->groups);
|
||||
SAFE_FREE(ctx_p->groups);
|
||||
ctx_p->ngroups = 0;
|
||||
|
||||
delete_nt_token(&ctx_p->token);
|
||||
|
@ -145,8 +145,7 @@ void session_yield(uint16 vuid)
|
||||
|
||||
memcpy(&sessionid, dbuf.dptr, sizeof(sessionid));
|
||||
|
||||
safe_free(dbuf.dptr);
|
||||
dbuf.dptr = NULL;
|
||||
SAFE_FREE(dbuf.dptr);
|
||||
|
||||
#if WITH_UTMP
|
||||
if (lp_utmp()) {
|
||||
|
@ -2466,10 +2466,8 @@ int reply_trans2(connection_struct *conn,
|
||||
|
||||
if ((total_params && !params) || (total_data && !data)) {
|
||||
DEBUG(2,("Out of memory in reply_trans2\n"));
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
END_PROFILE(SMBtrans2);
|
||||
return ERROR_DOS(ERRDOS,ERRnomem);
|
||||
}
|
||||
@ -2508,10 +2506,8 @@ int reply_trans2(connection_struct *conn,
|
||||
else
|
||||
DEBUG(0,("reply_trans2: %s in getting secondary trans2 response.\n",
|
||||
(smb_read_error == READ_ERROR) ? "error" : "timeout" ));
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
END_PROFILE(SMBtrans2);
|
||||
return ERROR_DOS(ERRSRV,ERRerror);
|
||||
}
|
||||
@ -2632,10 +2628,8 @@ int reply_trans2(connection_struct *conn,
|
||||
default:
|
||||
/* Error in request */
|
||||
DEBUG(2,("Unknown request %d in trans2 call\n", tran_call));
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
END_PROFILE(SMBtrans2);
|
||||
return ERROR_DOS(ERRSRV,ERRerror);
|
||||
}
|
||||
@ -2647,10 +2641,8 @@ int reply_trans2(connection_struct *conn,
|
||||
an error packet.
|
||||
*/
|
||||
|
||||
if(params)
|
||||
free(params);
|
||||
if(data)
|
||||
free(data);
|
||||
SAFE_FREE(params);
|
||||
SAFE_FREE(data);
|
||||
END_PROFILE(SMBtrans2);
|
||||
return outsize; /* If a correct response was needed the
|
||||
call_trans2xxx calls have already sent
|
||||
|
@ -572,7 +572,7 @@ static void array_promote(char *array,int elsize,int element)
|
||||
memcpy(p,array + element * elsize, elsize);
|
||||
memmove(array + elsize,array,elsize*element);
|
||||
memcpy(array,p,elsize);
|
||||
free(p);
|
||||
SAFE_FREE(p);
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
|
@ -281,13 +281,13 @@ static char *smbw_find_workgroup(void)
|
||||
slprintf(server, sizeof(server), "%s#1D", name);
|
||||
if (smbw_server(server, "IPC$")) {
|
||||
smbw_setshared("WORKGROUP", name);
|
||||
free(ip_list);
|
||||
SAFE_FREE(ip_list);
|
||||
return name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free(ip_list);
|
||||
SAFE_FREE(ip_list);
|
||||
|
||||
return p;
|
||||
}
|
||||
@ -606,9 +606,9 @@ struct smbw_server *smbw_server(char *server, char *share)
|
||||
cli_shutdown(&c);
|
||||
if (!srv) return NULL;
|
||||
|
||||
if (srv->server_name) free(srv->server_name);
|
||||
if (srv->share_name) free(srv->share_name);
|
||||
free(srv);
|
||||
SAFE_FREE(srv->server_name);
|
||||
SAFE_FREE(srv->share_name);
|
||||
SAFE_FREE(srv);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -722,12 +722,10 @@ int smbw_open(const char *fname, int flags, mode_t mode)
|
||||
}
|
||||
if (file) {
|
||||
if (file->f) {
|
||||
if (file->f->fname) {
|
||||
free(file->f->fname);
|
||||
}
|
||||
free(file->f);
|
||||
SAFE_FREE(file->f->fname);
|
||||
SAFE_FREE(file->f);
|
||||
}
|
||||
free(file);
|
||||
SAFE_FREE(file);
|
||||
}
|
||||
smbw_busy--;
|
||||
return -1;
|
||||
@ -892,11 +890,11 @@ int smbw_close(int fd)
|
||||
|
||||
file->f->ref_count--;
|
||||
if (file->f->ref_count == 0) {
|
||||
free(file->f->fname);
|
||||
free(file->f);
|
||||
SAFE_FREE(file->f->fname);
|
||||
SAFE_FREE(file->f);
|
||||
}
|
||||
ZERO_STRUCTP(file);
|
||||
free(file);
|
||||
SAFE_FREE(file);
|
||||
|
||||
smbw_busy--;
|
||||
|
||||
@ -1384,14 +1382,14 @@ static void smbw_srv_close(struct smbw_server *srv)
|
||||
|
||||
cli_shutdown(&srv->cli);
|
||||
|
||||
free(srv->server_name);
|
||||
free(srv->share_name);
|
||||
SAFE_FREE(srv->server_name);
|
||||
SAFE_FREE(srv->share_name);
|
||||
|
||||
DLIST_REMOVE(smbw_srvs, srv);
|
||||
|
||||
ZERO_STRUCTP(srv);
|
||||
|
||||
free(srv);
|
||||
SAFE_FREE(srv);
|
||||
|
||||
smbw_busy--;
|
||||
}
|
||||
|
@ -87,9 +87,9 @@ static void free_name_list(struct name_list *name_list)
|
||||
|
||||
next = tmp->next;
|
||||
|
||||
free(tmp->name);
|
||||
free(tmp->comment);
|
||||
free(tmp);
|
||||
SAFE_FREE(tmp->name);
|
||||
SAFE_FREE(tmp->comment);
|
||||
SAFE_FREE(tmp);
|
||||
|
||||
tmp = next;
|
||||
}
|
||||
|
@ -64,12 +64,12 @@ free a smbw_dir structure and all entries
|
||||
*******************************************************/
|
||||
static void free_dir(struct smbw_dir *dir)
|
||||
{
|
||||
if (dir->list) {
|
||||
free(dir->list);
|
||||
}
|
||||
if (dir->path) free(dir->path);
|
||||
if(!dir) return;
|
||||
|
||||
SAFE_FREE(dir->list);
|
||||
SAFE_FREE(dir->path);
|
||||
ZERO_STRUCTP(dir);
|
||||
free(dir);
|
||||
SAFE_FREE(dir);
|
||||
}
|
||||
|
||||
static struct smbw_dir *cur_dir;
|
||||
@ -274,10 +274,8 @@ int smbw_dir_open(const char *fname)
|
||||
return dir->fd;
|
||||
|
||||
failed:
|
||||
if (dir) {
|
||||
free_dir(dir);
|
||||
}
|
||||
|
||||
free_dir(dir);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user